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

时间:2015-06-05 10:58:00

标签: xcode node.js performance flamegraph

  

火焰图是分析软件的可视化,允许使用   最常见的代码路径可以快速准确地识别 - Brendan Gregg on flame graph

node --perf-basic-prof与Xcode Instruments一起使用(Mac上的 )应该有助于生成用于性能分析的火焰图。关注this guide,这很容易:

  1. make node.js 0.12使用perf-<pid>.map
  2. 生成node --perf-basic-prof app.js
  3. 使用Xcode工具时间分析器记录堆栈(导出为profile.csv
  4. 使用./stackcollapse-instruments.pl profile.csv | ./flamegraph.pl > graph.svg
  5. 生成Brendan Gregg perl tools的火焰图

    可悲的是,生成的火焰图不会从perf-<pid>.map中受益,因此离开方法的地址代替了他们的名称(1cfc9a09b880而不是LazyCompile:~ /node_modules/benchmark/benchmark.js:1870)。

    有没有办法给Xcode乐器提供映射/符号,使它生成一个带有方法名称( this doesn't work )的csv文件?

1 个答案:

答案 0 :(得分:1)

这可以通过node flamegraph module的ui来完成。

PS。 a pull request提供了向npm命令行工具添加选项以允许输入flamegraph -t instruments -f profile.csv -m perf-4499.map -o flamegraph.svg