use*_*718 5 ubuntu dtrace systemtap node.js perf
我有一个在 aws ubuntu 实例上运行的 node.js 应用程序。我试图生成火焰图dtrace,linux perf tools但它们似乎都不起作用。这些是我遵循的步骤:
linux性能工具:https : //www.carlhopf.com/blog/2016/09/11/nodejs-cpu-profiling-production/
dtrace: https://nodejs.org/en/blog/uncategorized/profiling-node-js/
我已经--prof / --perf_basic_prof_only_functions为 linux perf 工具命令添加了启动应用程序的同时。
我从 dtrace stacks.out 文件得到的输出是:
CPU ID FUNCTION:NAME
0 330511 :tick-60s
Run Code Online (Sandbox Code Playgroud)
安装dtrace如下:https : //askubuntu.com/questions/60940/how-do-i-install-dtrace
当我尝试将 linux perf 命令的输出转换为火焰图时得到的输出是
ERROR: No stack counts found
Run Code Online (Sandbox Code Playgroud)
我不确定缺少什么以及为什么没有记录堆栈跟踪。
node version: 8.4.0
ubuntu : 14.04
我确实看到有Systemtap可用选项并且可以使用此命令:
stap -s 32 -D MAXBACKTRACE=100 -D MAXSTRINGLEN=4096 -D MAXMAPENTRIES=10240 \
-D MAXACTION=10000 -D STP_OVERLOAD_THRESHOLD=5000000000 --all-modules \
-ve 'global s; probe timer.profile { s[backtrace()] <<< 1; }
probe end { foreach (i in s+) { print_stack(i);
printf("\t%d\n", @count(s[i])); } } probe timer.s(60) { exit(); }' \
> out.stap-stacks
Run Code Online (Sandbox Code Playgroud)
但不确定如何使用 PID 为我正在运行的节点应用程序运行该命令。有没有其他方法可以在 ubuntu 机器中生成火焰图?
| 归档时间: |
|
| 查看次数: |
644 次 |
| 最近记录: |