~/talk

A New Way to Profile Async Activity in Node.js

Talkat Node+JS Interactive 2018 · on Wednesday, 2018-10-10· at 16:40· West Meeting Room 121-122· [nodejs, observability]
slides:none on file

A new Node.js profiling flow that pairs a benchmarker with trace-based visualizers exposes real async bottlenecks: run autocannon against a Dockerized app, run clinic doctor to detect an I/O issue, then open bubbleprof (async “bubbles”) and clinic flame to see which lines block the event loop. The demo finds a full-collection MongoDB scan (no index) and swapping to the indexed query raises throughput from ~100 rps to ~600 rps, proving the toolchain locates and validates fixes.

AI-written summary · about

  1. 0:00Workshop intro
  2. 2:54Setting up the environment
  3. 4:49Docker container setup
  4. 7:21Clinic tool introduction
  5. 9:23Performance issues workflow
  6. 12:54Establishing baselines
  7. 16:01Benchmarking with Autocannon
  8. 18:29Analyzing baseline results
  9. 22:11Clinic Doctor diagnosis
  10. 25:33Automating with clinic commands
  11. 30:48MongoDB application setup
  12. 34:00Profiling the application
  13. 37:09Debugging with Doctor
  14. 44:10Visualization with Bubbleprof
  15. 46:47Fixing database performance
  16. 51:46Verifying the fix
  17. 55:55Identifying new bottlenecks
  18. 58:57Optimization and conclusion
  19. 1:03:44Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.