corevis - Node.js Core Dump Analysis
Posted by Dave Eddy on 19 Dec 2014At Voxer, all of our production machines run on SmartOS, and as such, have access to really powerful tools to help with debugging and fixing problems.
One of the most helpful tools to use when debugging problematic node processes
is mdb(1). With the v8
module for mdb(1)
,
there is a ton of valuable information about node/JavaScript - including JavaScript objects,
stack traces with filenames and numbers, etc. - that can be gathered from
node processes. The engineers over at Joyent have
been able to do a lot of cool things with it.
We've created a command line tool to help in the postmortem debugging of
node.js processes. It uses mdb(1)
under-the-hood to
gather a slew of data, and then formats it into a single HTML page to be
viewed in a web browser.
The code is released under the MIT license, and is hosted on GitHub:
https://github.com/Voxer/node-corevis
And an example of a troubled node process can be seen here:
http://us-east.manta.joyent.com/devops@voxer.com/public/corevis/example.html