作用:通过perf收集的数据,查看起来很不方便,可以通过火焰图直观展示各函数的调用关系,以定位问题;

场景:某个进程CPU使用率100%,要查看具体是哪个函数造成的时,通过perf收集数据,再转为火焰图;

下载方法:

git clone https://github.com/brendangregg/FlameGraph 
cd FlameGraph

使用火焰图的3个步骤:

    1.执行 perf script ,将 perf record 的记录转换成可读的采样记录;

    2.执行 stackcollapse-perf.pl 脚本,合并调用栈信息;

    3.执行 flamegraph.pl 脚本,生成火焰图;

    注:提前通过perf收集好数据

假如收集的数据为perf.data,在linux中通过管道直接生成火焰图:

perf script -i ./perf.data | ./stackcollapse-perf.pl --all |  ./flamegraph.pl > nginx.svg

在浏览器中打开:

火焰图-通过分析函数调用分析性能问题_第1张图片