A large percentage of Node application misbehavior can be effectively diagnosed through in-built Node/V8 tracing capabilities. There are a number of powerful tracing options to leverage in development, testing and production phases to validate that application design is indeed reflected in code, without ever instrumenting it.

I will illustrate "top 10" Node/V8 tracing options - from simplest method tracing (find out call sequences, input parameters, return values) to tuning specific JIT compiler options to diagnose and resolve complex crashes/issues. The intention is to help audience understand in-built serviceability features of Node Runtime Environment, and self help in resolving production anomalies.

Server side JavaScript with Node has gained unprecedented popularity as a powerful platform for Cloud / Web development, though the development tools and frameworks are still to mature to complement the productivity. There exists eclipse plugins for Node, but they need improved awareness among the developer community. Brining Node topics to this session are expected to improve this awareness - through implicit indications as well as explicit communication to the wider Eclipse consumers.

 

 
1 favorite thumb_down thumb_up 4 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

I will start with a high level overview of the Node Runtime Environment, including the V8 JavaScript engine. I will touch upon the vital elements and their backing data structures. This will pave way for introducing tracing. Then we will look at the most common kind of problems such as functional issues, memory leak, hang, crash, performance, etc. We will examine those tracing options which are assisting in one or more of these symptoms. For each trace option, I will explain the purpose, use case, syntax, and an example output to make clear the usage, and for the audience to relate the context for applying specific traces for self helping in troubleshooting and resolving their application misbehaviors.

Learning Outcome

High level runtime environment view of Node/V8
High level overview of in-built tracing
Vital Node / V8 data structures
Major serviceabiulity symptoms/areas
Major tracing options mapping to symptoms
Example use case , usage and sample output of traces

Target Audience

Developers, Architects

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Pradeep Balachandran
    By Pradeep Balachandran  ~  11 months ago
    reply Reply

    Hi Girish, thanks for the clarifications & updates. There is suggestion to also show debugging of Server Side Node application in the browser.

    • Gireesh Punathil
      By Gireesh Punathil  ~  11 months ago
      reply Reply

      Thanks Pradeep. Sure, we will research on this, and incorporate the server side debugging consumption through browser.

  • Pradeep Balachandran
    By Pradeep Balachandran  ~  11 months ago
    reply Reply

    Hi Gireesh, thanks for your submission. A very relevant topic for a JS programmer. Could you please update the abstract highlighting the involvement of Eclipse IDE or Eclipse Platform or Eclipse Technology projects in this talk?

    • Gireesh Punathil
      By Gireesh Punathil  ~  11 months ago
      reply Reply

      Pradeep, thanks. I have updated the abstract to articulate the role of Eclipse IDE in this talk: the statement which starts with "Server side Javascript...". Hope this helps.