无法为 nodeJS 进程创建火焰图
Posted
技术标签:
【中文标题】无法为 nodeJS 进程创建火焰图【英文标题】:Unable to create flamegraph for nodeJS process 【发布时间】:2016-10-18 15:21:05 【问题描述】:我正在尝试使用 perf 实用程序分析 nodeJS REST API。我正在使用的命令是 perf record -F 99 -p 5395 -g -- sleep 60
5395 是进程 ID。
它可以正常工作并将数据写入 perf.data 文件。
[ perf record: Woken up 6 times to write data ]
[ perf record: Captured and wrote 1.360 MB perf.data (~59425 samples) ]
但是,当我尝试使用 perf script > out.perf
从它创建报告时,我收到错误 Failed to open /tmp/perf-5395.map, continuing without symbols
。这基本上意味着 perf 无法反编译代码以在输出文件中显示 javascript 代码。如何获取此地图文件?我错过了什么?
【问题讨论】:
【参考方案1】:节点上缺少 --perf_basic_prof_only_functions。
例如node --perf_basic_prof_only_functions app.js
【讨论】:
我是 linux 新手。能否请您详细说明perf record --perf_basic_prof_only_functions -F 99 -p 26882 -g -- sleep 60
告诉我unknown option
perf_basic_prof_only_functions'`
像 node --perf_basic_prof_only_functions app.js
这样将它添加到您的节点进程中,然后像以前一样使用 perf
。以上是关于无法为 nodeJS 进程创建火焰图的主要内容,如果未能解决你的问题,请参考以下文章