Profiling Node Applications
summary
V8’s built-in profiler via --prof produces gigabytes of logs, only samples the main thread, and points to pbkdf2 using ~90% CPU in one example; perf attaches live, samples at ~97 Hz and requires node to emit address maps to avoid 18,000-line reports; BPF/bcc runs in-kernel aggregation (needs ~Linux 4.1), produces flame graphs without huge disk writes, and finds off-CPU hotspots like synchronous file closes that cause 35% CPU but 90th-percentile latencies ~200 ms. perf USDT probes
AI-written summary · about
chapters (14)
- 0:00Start
- 1:14Tools And Operating Systems Supported
- 1:36Demo: The V8 Profiler
- 5:39Demo: CPU Profiling With perf
- 11:11Flame Graphs
- 11:56Demo: Generating A Flame Graph
- 13:55What's Wrong With perf?
- 16:21The BCC BPF Front-End
- 17:16Demo: CPU Profiling With BCC
- 19:38Demo: Off-CPU Profiling With BCC
- 24:25USDT Probes in (Some) High-Level Languages
- 25:18Demo: Node.js Observability Points
- 27:06Demo: Identifying Excessive GC
- 28:07References
related talks
01h 02mProfiling Node Applications
36mProfiling in the cloud-native era - Matthias Loibl
45mSpeeding Up Node Apps: When the Standard Profiler Isn't Enough
50mDebugging Node.js in Production
24mCommunity Driven Breakout Session: Continuous Profiling
49mA Journey into Node.js Internals
36mDeveloping Continuous eBPF Profiler to look Beneath the Kernel to Beyond the Clouds
38mFighting latency: the CPU profiler is not your ally
