加载中...

火焰图(Flame Graph)是一种把大量采样得到的调用栈聚合可视化的方法,由性能专家 Brendan Gregg 发明,因整体形似火焰而得名,现已成为性能剖析(profiling)领域的标准图形。
每个矩形代表一个栈帧,y 轴是调用栈深度(下方为父调用),矩形宽度与该栈在全部样本中出现的比例成正比——越宽表示占用 CPU 时间越多。需要注意 x 轴按字母排序聚合,不代表时间先后。找性能热点即找'又宽又平的顶层框'。
除 CPU 火焰图外,还有 Off-CPU(阻塞等待)、内存分配、差分火焰图(对比两次剖析的红蓝着色)等变体。生成链路通常为 perf、eBPF、async-profiler 等采样器输出折叠栈,再由 FlameGraph 脚本或 Speedscope、各类持续剖析平台渲染为交互式 SVG。
火焰图把成千上万行栈数据压缩成一眼可读的图形,大幅降低了性能分析门槛。

登录 后参与讨论
暂无讨论,来发表第一条评论吧