使用--perf_basic_prof_only_functions构建多个node.js进程的火焰图

时间:2016-11-14 19:57:41

标签: node.js profiling perf

我们目前使用节点群集来充分利用我们的机器,并且希望能够同时分析所有进程(只有函数调用,我们正在使用--perf_basic_prof_only_functions)。虽然获取信息和构建flamegraph工作正常,但我们似乎得到了[perf-$PID.map]的大量条目,使得它似乎缺少一些调用来告诉其中一个工具来考虑多个perf文件。

具体来说,我们正在做类似以下的事情:

sudo perf record -F 99 -o perf.data -p $PIDS -g -- sleep 30

sudo perf script -i perf.data > out.nodestacks

# Using http://github.com/brendangregg/FlameGraph
./stackcollapse-perf.pl < ../out.nodestacks | ./flamegraph.pl > ../flame.svg

但是查看perf script的输出,有很多类似于:

的条目
3881ddc630da [unknown] (/tmp/perf-20350.map)
3881dc5aae44 [unknown] (/tmp/perf-20350.map)
3881dc7d7275 [unknown] (/tmp/perf-20350.map)
3881dc7d6f4b [unknown] (/tmp/perf-20350.map)
3881dc7d6953 [unknown] (/tmp/perf-20350.map)

还有其他人遇到过这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您是否尝试使用 - perf_basic_prof (而非--perf_basic_prof_only_functions)? 至少那个为我解决了一些遗漏,而不是翻译的条目。

就我而言,这是以下条目:   内建:JSEntryTrampoline   存根:JSEntryStub