2

火焰图是分析软件的可视化,可以快速准确地识别最常见的代码路径 -火焰图上的 Brendan Gregg

node --perf-basic-prof与 Xcode Instruments 一起使用(在 Mac 上)应该有助于生成用于性能分析的火焰图。按照本指南,这很容易:

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

遗憾的是,生成的火焰图并没有受益于perf-<pid>.map因此离开方法地址而不是它们的名称(1cfc9a09b880而不是LazyCompile:~ /node_modules/benchmark/benchmark.js:1870)。

有没有办法将映射/符号提供给 Xcode 仪器,使其生成带有方法名称的 csv 文件(这不起作用)?

4

1 回答 1

1

这可以通过节点火焰图模块的 ui 来完成。

附言。拉取请求提供向 npm 命令行工具添加选项以允许键入flamegraph -t instruments -f profile.csv -m perf-4499.map -o flamegraph.svg

于 2015-06-05T16:37:24.047 回答