When I took some time to talk with recently anointed project Node.js Project Lead Timothy J. Fontaine about these issues, he was able to shed light on how Joyent -- and other users of Node.js -- have dealt with them.
To that end, most of the issues Joyent sees with Node.js deployments in the wild is unexpected encounters with application bugs that might not have been obvious earlier the development cycle.
To aid in the debugging process, Joyent use its own SmartOS as a development platform. SmartOS, an offshoot of OpenSolaris, features that platform's DTrace technology (authored by, among others, Joyent CTO Bryan Cantrill). DTrace lets an application's execution be profiled at runtime with little impact on performance, something Fontaine and the others find useful for examining Node.js as it's actually running.
"Part of why Joyent exists the way it does is because we wrote the tools to help ourselves with the same issues. We then turn around and use that to help other people."
SmartOS itself is freely available under the CDDL license, but most people ostensibly want the best possible debugging tools on the platform they already use -- something, presumably, for Joyent to delve into further as Node.js moves toward a proper 1.0 release.
This story, "How Joyent debugs Node code" was originally published by InfoWorld .