火焰图(FlameGraph)的简单学习

=Start=

缘由:

最近在对内部一些项目做性能压测的过程中简单接触了一下「火焰图」的概念。这里简单记录一下,方便以后快速参考。

正文:

参考解答:
# 火焰图是什么?

火焰图 是基于 perf命令结果 产生的 SVG图片,用来展示 CPU 的调用栈。

# 火焰图怎么看?
  • Y轴 表示 调用栈,每一层都是一个函数。调用栈越深,火焰就越高,顶部就是正在执行的函数,下方都是它的父函数;
  • X轴 表示 抽样数如果一个函数在 X轴 占据的宽度越宽,就表示它被抽到的次数越多,即执行的时间长。

火焰图里面的颜色是随机选取的,并没有特殊含义。

火焰图主要就是看顶层的哪个函数占据的宽度最大。只要有”平顶”(plateaus),就表示该函数可能存在性能问题。

# 如何生成火焰图?

下面以一个简单的C程序为例,介绍一下火焰图的生成流程:

&

 

参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/4053.html

《火焰图(FlameGraph)的简单学习》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注