perf火焰图的使用

文章详细介绍了如何利用perf工具记录资源消耗数据,然后通过火焰图来可视化调用栈,展示程序运行时的耗时情况。读者可以学习到从执行perfrecord命令生成数据,到使用FlameGraph项目创建SVG图形的完整流程。
摘要由CSDN通过智能技术生成

上一节,进一步介绍如何用火焰图来观察资源消耗的状况,首先执行perf record生成分析数据:

sudo perf record -F max --call-graph fp -- ./testPerf

复制火焰图源代码:

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

设置FlameGraph文件夹全局可见:

export PATH=$PATH:/home/s/shenzhou/FlameGraph

生成折叠后的调用栈:

sudo perf script -i perf.data &> perf.unfold

生成火焰图:

sudo stackcollapse-perf.pl perf.unfold &> perf.folded

生成svg图:

sudo flamegraph.pl perf.folded &> perf.svg

当然上面的操作也可以通过管道来实现:

sudo perf script | stackcollapse-perf.pl | flamegraph.pl > perf.svg

最终的火焰图如图:

 可以看到,整个堆栈的调用关系以及耗时都很清楚地能看到。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值