<div dir="ltr">I would like to use the functionality of HeapSnapshot.js for profiling Node.js.  I&#39;m just not quite sure how to require and use it.<br><div class="gmail_quote"><div dir="ltr"><div><br></div><div style>There are existing projects such as v8-profiler and node-memwatch that can take snapshots.  However, we&#39;re not able to access any of the dominator/retainer info.  According to this, Google removed that code from V8 a while back:</div>

<div><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><a href="https://github.com/dannycoates/v8-profiler/issues/16#issuecomment-9099768" target="_blank">https://github.com/dannycoates/v8-profiler/issues/16#issuecomment-9099768</a></div>

</blockquote><div><div><br></div><div>Without the dominator code it&#39;s pretty difficult to extract useful info from the heap dump.  This code appears to contain the functionality I&#39;m looking for:</div><div><br></div>
</div><blockquote style="margin:0 0 0 40px;border:none;padding:0px">
<div><div><a href="https://trac.webkit.org/browser/trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js#L1342" target="_blank">https://trac.webkit.org/browser/trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js#L1342</a></div>

</div></blockquote><div><div><br></div><div>I would like to either:</div><div style><ul style><li style>Use this code to wrap an existing snapshot taken by node-memwatch or v8-profiler.<br></li><li style>Reference the webkit code as a module which can perform the snapshot and return javascript objects that I can further manipulate.</li>
</ul></div><div>
I&#39;m a bit over my head dealing with C++ and V8 internals, but it seems like an adaptation should be possible.  I&#39;m happy to share whatever solution I arrive at.  Better tools to troubleshoot memory leaks would benefit the Node.js community at large.</div>

<div><br></div><div style>Can anyone help me find the right way to do this?</div><div><br></div><div>Thanks,</div><div>Brandon</div></div></div></div>
</div>