Visualizing Performance - The Developers’ Guide to Flame Graphs
summary
Flame graphs visualize sampled stacks by sorting the population on the x axis (the original implementation in Perl, 2011) so hotspots appear as wide bars; the key trick is the alphabet sort. They show CPU hot paths, mixed kernel+runtime stacks, and enable differential comparisons; practical issues include broken stacks, missing symbols, inlining and stack-depth limits (use preserve frame pointer for JVMs). Advanced types—off-CPU flame graphs, page-fault memory, disk and network stacks—benefit from eBPF and perf (perf script / perf flamegraph) for low-overhead collection.
AI-written summary · about
chapters (14)
- 0:00Intro
- 1:33My dream
- 2:03Flame graphs
- 2:20Agenda
- 2:38Take aways
- 3:07Implementations
- 8:08CPU profiling
- 22:52Demo
- 24:22CPU profiling continued
- 35:00Stacks & symbols
- 41:20Advanced flame graphs
- 47:00Take aways
- 47:12Links & references
- 47:32Q&A
related talks
01h 32mBlazing Performance with Flame Graphs
17mExtending Flamegraphs for Multi-Dimensional Performance Analysis
44mNow You See Me Too: Visual Tooling for Advanced System Analysis
49mWorkshop: How to use flamegraphs to find performance problems
44mObservability Tools C++: Beyond GDB and printf - Tools to Understand the Behavior of Your Program
33mInto the flamegraph: From the primitives through advanced concepts
38mExtending the Performance Analyis Toolset
56mContinuous Profiling the missing piece in your observability puzzle
