如何在CentOS上生成Node.js火焰图?

时间:2012-11-04 19:22:18

标签: node.js centos

我想generate a flame graph for my node.js app。不幸的是,我的开发盒是OSX(根据链接的文章不支持utrace助手),我的生产盒是CentOS(甚至没有dtrace)。

我发现了类似SystemTap might be a dtrace alternative之类的迹象,但我无法拼凑出一种有效的工作方式来生成适当的stacks.out文件以提供给stackvis。

有没有人知道一个关于如何启动和运行的体面教程?我更喜欢它在CentOS上(所以我可以检查我的制作应用程序)但是OSX也足够了。

2 个答案:

答案 0 :(得分:2)

从最新的谷歌搜索中,人们对Centos上的SystemTap不满意,但这里有一篇文章http://dtrace.org/blogs/brendan/2012/03/17/linux-kernel-performance-flame-graphs/被某人的FlameGraph github项目引用https://github.com/brendangregg/FlameGraph

我会说真正的解决方案是安装dtrace而不是依赖于解决方案。

答案 1 :(得分:2)

在Linux上,perf_events分析器可用于对堆栈跟踪进行采样,并具有JIT符号支持。对于node.js,您需要运行版本0.11.13或更高版本,使用v8选项--perf-basic-prof。该选项为perf使用的符号转换创建/tmp/perf-PID.map文件。一旦使用JavaScript符号对堆栈跟踪进行分析,就可以使用" perf脚本"的输出中的stackcollapse-perf.pl(来自FlameGraph repo)创建火焰图。

我在这里写了完整的说明:http://www.brendangregg.com/blog/2014-09-17/node-flame-graphs-on-linux.html