Flame Graph
ELI5 - The Vibe Check
A flame graph is a picture of where your program actually spent its time, and it looks like a skyline made of stacked flames. Each bar is a function call, wider bars ate more CPU time, and stacking shows who called who. You don't read code to find the slow part anymore, you just look for the widest flame.
Real Talk
A flame graph is a visualization of stack traces collected by a profiler, where the x-axis represents the proportion of samples (not time order) and the y-axis represents stack depth. Each rectangle is a function, and its width is proportional to how often it appeared in the sampled stacks, making hot code paths immediately visible without scanning through raw profiler output.
When You'll Hear This
"Pull up the flame graph, that wide bar at the bottom is your bottleneck." / "The flame graph showed 40% of our CPU time going into JSON parsing we didn't even know we were doing."
Related Terms
Benchmarking
Benchmarking is timing your code to prove it's actually fast, and it is shockingly easy to do wrong.
Heap Dump
A heap dump is a full snapshot of every single object living in your program's memory at one exact moment, frozen so you can poke through it later.
Perf Counters
Perf counters are the CPU's own built-in scorekeepers, tiny hardware registers that silently count things like cache misses, branch mispredictions, and ins...
Profiling
Profiling is watching your program run and keeping score of where the time and memory actually go, instead of guessing.