性能工具之 FlameGraph 火焰图
2021/5/23 10:25:27
本文主要是介绍性能工具之 FlameGraph 火焰图,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 一、前言
- 二、演示操作
- 三、小结
一、前言
很多人觉得火焰图炫酷
如果只从操作上来说,真是没什么难度,只比大象放冰箱稍微难点
这里演示一下 perf 结果怎么放冰箱,不,是怎么生成火焰图!
二、演示操作
第一步:随便录点啥,我这里是所有操作,主要是生成 perf.data
文件
[root@7DGroup FlameGraph]# perf record -F 99 -a -g -- sleep 60 [ perf record: Woken up 7 times to write data ] [ perf record: Captured and wrote 1.868 MB perf.data (11880 samples) ] [root@7DGroup FlameGraph]# ll total 1924 drwxr-xr-x 7 root root 4096 Mar 4 07:42 FlameGraph -rw------- 1 root root 1965540 Mar 4 08:45 perf.data
第二步:转换成输出文件
[root@7DGroup FlameGraph]# perf script > out.perf [root@7DGroup FlameGraph]# ll total 7460 drwxr-xr-x 7 root root 4096 Mar 4 07:42 FlameGraph -rw-r--r-- 1 root root 5668491 Mar 4 08:46 out.perf -rw------- 1 root root 1965540 Mar 4 08:45 perf.data
第三步:折叠栈信息
[root@7DGroup FlameGraph]# ./FlameGraph/stackcollapse-perf.pl out.perf > out.folded [root@7DGroup FlameGraph]# ll total 7576 drwxr-xr-x 7 root root 4096 Mar 4 07:42 FlameGraph -rw-r--r-- 1 root root 115637 Mar 4 08:47 out.folded -rw-r--r-- 1 root root 5668491 Mar 4 08:46 out.perf -rw------- 1 root root 1965540 Mar 4 08:45 perf.data
第四步:生成SVG文件
[root@7DGroup FlameGraph]# ./FlameGraph/flamegraph.pl out.folded > kernel.svg [root@7DGroup FlameGraph]# ll total 7732 drwxr-xr-x 7 root root 4096 Mar 4 07:42 FlameGraph -rw-r--r-- 1 root root 157603 Mar 4 08:48 kernel.svg -rw-r--r-- 1 root root 115637 Mar 4 08:47 out.folded -rw-r--r-- 1 root root 5668491 Mar 4 08:46 out.perf -rw------- 1 root root 1965540 Mar 4 08:45 perf.data [root@7DGroup FlameGraph]#
第五步:下载并打开 svg 文件
三、小结
其实很多类似 perf 的工具都能生成火焰图,像 systemtap/dtrace 之类的
并且这个思路,现在在 js 优化、代码优化等各方面都有具体的应用了
至于怎么理解?
简单点说,就是看谁又平又宽
这篇关于性能工具之 FlameGraph 火焰图的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?