Skip to content

Latest commit

 

History

History

2019-03

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Node.js Diagnostics Summit - Spring 2019

  • When: 2019-03-07 to 2019-03-08
  • Where: Munich, Germany
  • Issue: #203
  • Agenda: Google Doc

Action Items

The following action items are copied from this Google Doc

Besides these action items, there aren't any proper minutes. For the best overview see the Recordings section below.

Async Hooks

Lead: Matteo Collina

  • Agreement on Benedikt's document (ASAP)
    • This solves the performance issue
    • Please read and comment
  • Should there be a higher level API for CLS?
    • Vladmir started working on a PR to add CLS to Core

V8 Signals

Lead: Yang Guo

  • Document
  • There are more trace events that V8 could be emitting
    • Low-hanging fruit: opt/deopt events
  • Identify more use cases
  • Move command line flags to actual APIs

Documentation and Best Practices

Lead: Michael Dawson

  • Continue to refine the list of use cases
    • Continue to fill those in
  • Move heapdump generation to core (@jasnell)
    • Write best practices guide based on that

Postmortem Debugging

Lead: Yang Guo

  • Move V8 to Torque (DSLification)
    • WIP
    • There's a spreadsheet with the progress
  • Move llnode to use the metadata/script generated from DSL
  • Heapsnapshot
    • Additional tooling to help uncover issues aside from core dump
    • Also convert core dump to heapsnapshot

Trace Events and System Tracing

Lead: James M Snell

  • Perfetto: moving forward
  • TRACE_EVENTS will be our primary instrumentation path
  • System tracing will be case-by-case, best effort approach
    • Open an issue notifying stakeholders of this decision (@jasnell)
  • Start to instrument more areas of core
  • Profiling: doc to circulate (@psmarshall)
  • A flag similar to --prof but based on the CPU Profiler (@joyeecheung)

APM Instrumentation

  • V8 exposing a new API is not what we need
  • We need to figure out what APM vendors want
  • Come up with a blessed instrumentation API for module vendors to instrument their modules
  • Document on monkey-patching vs. ESM

Recordings

Raw recordings can be found in Google Drive

Talks

Recording Speaker Slides
Intro to OpenCensus, OpenTracing, and TraceContext Thomas Watson SpeakerDeck
Perfetto and Node.js Kelvin Jin
Intro into APM agents, comparison of Node.js and Java Gerhard Stöbich
Zero cost async stack traces Benedikt Meurer
Status of Async Hooks Matteo Collina
How to use a core dump Yang Guo
Diagnostics Best Practices documentation Michael Dawson
Diagnostics in Java Felix Barnsteiner
Status of Node Clinic / Doctor, Bubbleprof, Flame Matteo Collina
State of CPU Profiling in V8 Peter Marshall
CloudFlare Workers

Discussions

Recording Notes
V8 Signals Google Doc
Documentation best practices Slides
Diagnostics Tooling Support Tiers
Async Hooks Google Doc
Post-mortem debugging
Trace events, system tracing, profiling
APM instrumentation