• Email
  • Like
  • Save
  • Private Content
  • Embed
 

Surge2012

by on Sep 27, 2012

  • 1,687 views

When Node.js Goes Wrong: Debugging Node in Production ...

When Node.js Goes Wrong: Debugging Node in Production
The event-oriented approach underlying Node.js enables significant concurrency using a deceptively simple programming model, which has been an important factor in Node's growing popularity for building large scale web services. But what happens when these programs go sideways? Even in the best cases, when such issues are fatal, developers have historically been left with just a stack trace. Subtler issues, including latency spikes (which are just as bad as correctness bugs in the real-time domain where Node is especially popular) and other buggy behavior often leave even fewer clues to aid understanding. In this talk, we will discuss the issues we encountered in debugging Node.js in production, focusing upon the seemingly intractable challenge of extracting runtime state from the black hole that is a modern JIT'd VM.

We will describe the tools we've developed for examining this state, which operate on running programs (via DTrace), as well as VM core dumps (via a postmortem debugger). Finally, we will describe several nasty bugs we encountered in our own production environment: we were unable to understand these using existing tools, but we successfully root-caused them using these new found abilities to introspect the JavaScript VM.

Accessibility

Categories

Upload Details

Uploaded via SlideShare as Adobe PDF

Usage Rights

© All Rights Reserved

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel

5 Embeds 98

http://lanyrd.com 58
https://twitter.com 35
https://si0.twimg.com 2
http://feeds.feedburner.com 2
https://twimg0-a.akamaihd.net 1

Statistics

Likes
0
Downloads
17
Comments
0
Embed Views
98
Views on SlideShare
1,589
Total Views
1,687
Post Comment
Edit your comment

Surge2012 Surge2012 Presentation Transcript