While dynamic languages are extremely popular for rapid development,
they are also notoriously difficult to debug in production environments.
Despite being a relative newcomer, Node.js has already developed
sophisticated tools for both postmortem and runtime analysis, often
surpassing those of mature environments like Java. Such tools are
becoming increasingly critical as the growing ubiquity of cloud
computing leads to larger, more complex distributed systems. The old
cycle of printf debugging, long frustrating for developers and ops
alike, falls apart in such environments.
We will discuss in depth our work building and deploying open source
tools to facilitate postmortem debugging and runtime profiling of
Node.js programs in production. We will describe actual problems we
have diagnosed using these tools that we were unable to solve with
existing methods and then share some of the best practices we’ve learned
to aid postmortem analysis. We will then discuss DTrace support for
Node.js, which enables developers to profile arbitrary Node programs in
production to understand where programs spend their time on CPU.
Finally, we will show some of the novel visualizations we’ve developed
(along with the open source tools to create them) that aggregate and
present this large amount of performance data.
David Pacheco is the lead engineer of Joyent’s Introspection Team, which develops Cloud Analytics and other tools for observing software in the cloud. Previously a member of Sun’s Fishworks team, David worked on several areas of the Sun Storage 7000 series of appliances including remote replication, fault management, and flash device support.
For information on exhibition and sponsorship opportunities at Fluent conference, contact Gloria Lombardo at (203) 381-9245 or firstname.lastname@example.org.
For information on trade opportunities with O'Reilly conferences contact mediapartners
View a complete list of Fluent contacts