heapsnapshot
A Programmatic API for a heapsnapshot.
Currently supports dumps from:
usage:
yarn add heapsnapshot
npm install heapsnapshot
heaps can be quite large, and this library isn't terribly efficient yet so at times you may need to run with note with node --max_old_space_size=4096 <script-name>
const Heapsnapshot = require('heapsnapshot');
const snapshot = Heapsnapshot.fromFileSync(__dirname + '/container.heapsnapshot');
const nodes = [...snapshot];
const containers = nodes.filter(x => x.type === 'object' && x.name === 'Container');
let path = Heapsnapshot.pathToRoot(containers[0]);
console.log(path.join(' -> '));
or if you can use for .. of
:
const Heapsnapshot = require('heapsnapshot');
const snapshot = Heapsnapshot.fromFileSync(__dirname + '/container.heapsnapshot');
for (const node of snapshot) {
if (node.type === 'object' && node.name === 'Container') {
const path = Heapsnapshot.pathToRoot(node);
console.log(path.join(' -> '));
}
}
Stuff
Node
node.in
node.out
node.toString()
Edge
edge.to
edge.from
edge.toString()