|
| 1 | +# Node.js Diagnostics Summit - Spring 2019 |
| 2 | + |
| 3 | +- **When:** 2019-03-07 to 2019-03-08 |
| 4 | +- **Where:** Munich, Germany |
| 5 | +- **Issue:** [#203](https://github.com/nodejs/diagnostics/issues/203) |
| 6 | +- **Agenda:** [Google Doc](https://docs.google.com/document/d/1Ub4kqznhEXHzKtS4ArK5KGBzwRLa29Kamr4lo2BvzcE/preview) |
| 7 | + |
| 8 | +## Action Items |
| 9 | + |
| 10 | +The following action items are copied from [this Google Doc](https://docs.google.com/document/d/1ftJCXFM_Yi45O2nr5O7YwdOMO7iUbWSx-UStvOYMu28/edit) |
| 11 | + |
| 12 | +Besides these action items, there aren't any proper minutes. |
| 13 | +For the best overview see the [Recordings](#recordings) section below. |
| 14 | + |
| 15 | +### Async Hooks |
| 16 | + |
| 17 | +Lead: [Matteo Collina](https://github.com/mcollina) |
| 18 | + |
| 19 | +- Agreement on Benedikt's [document](http://bit.ly/making-async-hooks-fast-enough) (ASAP) |
| 20 | + - This solves the performance issue |
| 21 | + - **Please read and comment** |
| 22 | +- Should there be a higher level API for CLS? |
| 23 | + - Vladmir started working on a PR to add CLS to Core |
| 24 | + |
| 25 | +### V8 Signals |
| 26 | + |
| 27 | +Lead: [Yang Guo](https://github.com/hashseed) |
| 28 | + |
| 29 | +- [Document](https://docs.google.com/document/d/1xHl4qF2olKtDEPQFkci8g_wF3oTA-NBoJ6z5cpw1PWk) |
| 30 | +- There are more trace events that V8 could be emitting |
| 31 | + - Low-hanging fruit: opt/deopt events |
| 32 | +- Identify more use cases |
| 33 | +- Move command line flags to actual APIs |
| 34 | + |
| 35 | +### Documentation and Best Practices |
| 36 | + |
| 37 | +Lead: [Michael Dawson](https://github.com/mhdawson) |
| 38 | + |
| 39 | +- Continue to refine the list of use cases |
| 40 | + - Continue to fill those in |
| 41 | +- Move heapdump generation to core ([@jasnell](https://github.com/jasnell)) |
| 42 | + - Write best practices guide based on that |
| 43 | + |
| 44 | +### Postmortem Debugging |
| 45 | + |
| 46 | +Lead: [Yang Guo](https://github.com/hashseed) |
| 47 | + |
| 48 | +- Move V8 to Torque (DSLification) |
| 49 | + - WIP |
| 50 | + - There's a spreadsheet with the progress |
| 51 | +- Move llnode to use the metadata/script generated from DSL |
| 52 | +- Heapsnapshot |
| 53 | + - Additional tooling to help uncover issues aside from core dump |
| 54 | + - Also convert core dump to heapsnapshot |
| 55 | + |
| 56 | +### Trace Events and System Tracing |
| 57 | + |
| 58 | +Lead: [James M Snell](https://github.com/jasnell) |
| 59 | + |
| 60 | +- Perfetto: moving forward |
| 61 | +- `TRACE_EVENTS` will be our primary instrumentation path |
| 62 | +- System tracing will be case-by-case, best effort approach |
| 63 | + - Open an issue notifying stakeholders of this decision ([@jasnell](https://github.com/jasnell)) |
| 64 | +- Start to instrument more areas of core |
| 65 | +- Profiling: doc to circulate ([@psmarshall](https://github.com/psmarshall)) |
| 66 | +- A flag similar to --prof but based on the CPU Profiler ([@joyeecheung](https://github.com/joyeecheung)) |
| 67 | + |
| 68 | +### APM Instrumentation |
| 69 | + |
| 70 | +- V8 exposing a new API is not what we need |
| 71 | +- We need to figure out what APM vendors want |
| 72 | +- Come up with a blessed instrumentation API for module vendors to instrument their modules |
| 73 | +- Document on monkey-patching vs. ESM |
| 74 | + |
| 75 | +## Recordings |
| 76 | + |
| 77 | +_Raw recordings can be found in [Google Drive](https://drive.google.com/drive/folders/1YLrO8XwAdWPaFNmyZZRqPAsSIDGo_RXw)_ |
| 78 | + |
| 79 | +### Talks |
| 80 | + |
| 81 | +| Recording | Speaker | Slides | |
| 82 | +|-----------|---------|--------| |
| 83 | +| [Intro to OpenCensus, OpenTracing, and TraceContext](https://drive.google.com/file/d/1Of-bwwZtv0sb-7R1cEjyIqizDgyT4a4i/view?t=865) | [Thomas Watson](https://github.com/watson) | [SpeakerDeck](https://speakerdeck.com/wa7son/standards-in-distributed-tracing) |
| 84 | +| [Perfetto and Node.js](https://drive.google.com/file/d/1Of-bwwZtv0sb-7R1cEjyIqizDgyT4a4i/view?t=2557) | [Kelvin Jin](https://github.com/kjin) | |
| 85 | +| [Intro into APM agents, comparison of Node.js and Java](https://drive.google.com/file/d/1Of-bwwZtv0sb-7R1cEjyIqizDgyT4a4i/view?t=4700) | [Gerhard Stöbich](https://github.com/flarna) | |
| 86 | +| [Zero cost async stack traces](https://drive.google.com/file/d/1Of-bwwZtv0sb-7R1cEjyIqizDgyT4a4i/view?t=6797) | [Benedikt Meurer](https://github.com/bmeurer) | |
| 87 | +| [Status of Async Hooks](https://drive.google.com/file/d/1Of-bwwZtv0sb-7R1cEjyIqizDgyT4a4i/view?t=9870) | [Matteo Collina](https://github.com/mcollina) | |
| 88 | +| [How to use a core dump](https://drive.google.com/file/d/1Of-bwwZtv0sb-7R1cEjyIqizDgyT4a4i/view?t=11302) | [Yang Guo](https://github.com/hashseed) | |
| 89 | +| [Diagnostics Best Practices documentation](https://drive.google.com/file/d/1Of-bwwZtv0sb-7R1cEjyIqizDgyT4a4i/view?t=12125) | [Michael Dawson](https://github.com/mhdawson) | |
| 90 | +| [Diagnostics in Java](https://drive.google.com/file/d/15MzZoIiUKpOUr86inpUqsl2phUsk05x2/view?t=143) | [Felix Barnsteiner](https://github.com/felixbarny) | |
| 91 | +| [Status of Node Clinic / Doctor, Bubbleprof, Flame](https://drive.google.com/file/d/15MzZoIiUKpOUr86inpUqsl2phUsk05x2/view?t=2008) | [Matteo Collina](https://github.com/mcollina) | |
| 92 | +| [State of CPU Profiling in V8](https://drive.google.com/file/d/1vIdYiFYW7S3804U7_5iznP9M-IO8xvNv/view?t=52) | [Peter Marshall](https://github.com/psmarshall) | |
| 93 | +| [CloudFlare Workers](https://drive.google.com/file/d/1zlY37F-AtunGyqMbMC6TaAB40icN8GU0/view) | |
| 94 | + |
| 95 | +### Discussions |
| 96 | + |
| 97 | +| Recording | Notes | |
| 98 | +|-----------|-------| |
| 99 | +| [V8 Signals](https://drive.google.com/file/d/1LeSfIzArwvJfy2kGtbxF6HiMOukLabOg/view?t=281) | [Google Doc](https://docs.google.com/document/d/1xHl4qF2olKtDEPQFkci8g_wF3oTA-NBoJ6z5cpw1PWk/preview) |
| 100 | +| [Documentation best practices](https://drive.google.com/file/d/1LeSfIzArwvJfy2kGtbxF6HiMOukLabOg/view?t=3232) | [Slides](https://github.com/nodejs/diagnostics/files/2957405/Diagnostic.Summit.-.Best.Practices.pdf) |
| 101 | +| [Diagnostics Tooling Support Tiers](https://drive.google.com/file/d/1LeSfIzArwvJfy2kGtbxF6HiMOukLabOg/view?t=3388) | |
| 102 | +| [Async Hooks](https://drive.google.com/file/d/1LeSfIzArwvJfy2kGtbxF6HiMOukLabOg/view?t=9227) | [Google Doc](https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/preview) |
| 103 | +| [Post-mortem debugging](https://drive.google.com/file/d/1Enw2Z0R9pNsoaCVq8LPK6Ja-P-T5QX-h/view?t=2940) | |
| 104 | +| [Trace events, system tracing, profiling](https://drive.google.com/file/d/1U9SfKfb83M-AQX3IL-XgX-OGuGAz4c5w/view) | |
| 105 | +| [APM instrumentation](https://drive.google.com/file/d/11nk_cZYUCZhUKptHD-4dlS5PxQTeLXlc/view) | |
0 commit comments