Tag: perf

Node.js Flame Graph note正常工作

我正在尝试在ubuntu 14.04上为node.js应用程序生成一个火焰图。 我使用这个指南(Brendan Gregg): http : //www.brendangregg.com/blog/2014-09-17/node-flame-graphs-on-linux.html 。 1)我运行我的node.js应用程序与一个web用户下的–perf-basic-prof ,并看到它在进程的临时文件夹中生成了一个perf映射文件。 2)一天之后,我尝试使用这些命令生成火焰graphics: $ sudo bash # perf record -F 99 -p <node_process_id> -g — sleep 30 # perf script > out.nodestacks01 # git clone –depth 1 http://github.com/brendangregg/FlameGraph # cd FlameGraph # ./stackcollapse-perf.pl < ../out.nodestacks01 | ./flamegraph.pl > ../out.nodestacks01.svg 它确实生成了一个火焰图,但看起来很奇怪,只有很less的条目,有些是未知的,看起来与代码中发生的事情很远。 为什么发生这种情况? 我在这里错过了什么? 它可能是相关的node.js运行承诺或发电机(我高度怀疑)。 难道是因为抽样是30秒,我的大部分活动大约在4小时前发生? 我会得到什么样的火焰图? 我需要做别的吗?

nodejs / v8 flamegraph中使用perf_events的未知事件

我试着用Brendan Gregg 在这里描述的使用Linux perf_event进行nodejs分析。 工作stream程如下: 使用–perf-basic-prof运行节点> 0.11.13,它会创build/tmp/perf-(PID).map JavaScript符号映射的/tmp/perf-(PID).map文件。 使用perf record -F 99 -p `pgrep -n node` -g — sleep 30捕获堆栈perf record -F 99 -p `pgrep -n node` -g — sleep 30 使用此库中的stackcollapse-perf.pl脚本折叠堆栈 使用flamegraph.pl脚本生成svg火焰图 我得到以下结果(开头看起来非常好): 问题是有很多[unknown]元素,我想应该是我的nodejs函数调用。 我假设整个过程在第3点失败,其中perf数据应该使用由–perf-basic-prof执行的node / v8生成的映射来折叠。 创build/tmp/perf-PID.map文件,并在节点执行过程中向其写入一些映射。 如何解决这个问题呢? 我正在使用CentOS 6.5 x64,并且已经尝试使用节点0.11.13,0.11.14(包括预构build和编译),但都没有成功。