Tag: flamegraph

Node.js性能分析通过火焰图(在Mac上)

火焰图是可视化的分析软件,可以快速而准确地识别最频繁的代码path – Brendan Gregg on flame graph 在Xcode Instruments 上使用node –perf-basic-prof ( 在Mac上 )应该有助于生成用于性能分析的火焰图。 按照这个指南 ,这很容易: perf-<pid>.map node.js 0.12使用node –perf-basic-prof app.js生成perf-<pid>.map node –perf-basic-prof app.js 使用Xcode工具logging堆栈时间分析器( 导出为profile.csv ) 用Brendan Gregg perl工具生成火焰图,使用./stackcollapse-instruments.pl profile.csv | ./flamegraph.pl > graph.svg ./stackcollapse-instruments.pl profile.csv | ./flamegraph.pl > graph.svg 可悲的是,生成的火焰图不会从perf-<pid>.map受益,因此会留下方法地址而不是名称( 1cfc9a09b880而不是LazyCompile:~ /node_modules/benchmark/benchmark.js:1870 )。 有没有办法将映射/符号给Xcode仪器,使其生成一个csv文件的方法名称( 这是行不通的 )?

Node.js Flame Graph note正常工作

我正在尝试在ubuntu 14.04上为node.js应用程序生成一个火焰图。 我使用这个指南(Brendan Gregg): http : //www.brendangregg.com/blog/2014-09-17/node-flame-graphs-on-linux.html 。 1)我运行我的node.js应用程序与一个web用户下的–perf-basic-prof ,并看到它在进程的临时文件夹中生成了一个perf映射文件。 2)一天之后,我尝试使用这些命令生成火焰graphics: $ sudo bash # perf record -F 99 -p <node_process_id> -g — sleep 30 # perf script > out.nodestacks01 # git clone –depth 1 http://github.com/brendangregg/FlameGraph # cd FlameGraph # ./stackcollapse-perf.pl < ../out.nodestacks01 | ./flamegraph.pl > ../out.nodestacks01.svg 它确实生成了一个火焰图,但看起来很奇怪,只有很less的条目,有些是未知的,看起来与代码中发生的事情很远。 为什么发生这种情况? 我在这里错过了什么? 它可能是相关的node.js运行承诺或发电机(我高度怀疑)。 难道是因为抽样是30秒,我的大部分活动大约在4小时前发生? 我会得到什么样的火焰图? 我需要做别的吗?