2

node.js アプリの ubuntu 14.04 でフレーム グラフを生成しようとしています。このガイド (Brendan Gregg) を使用しました: http://www.brendangregg.com/blog/2014-09-17/node-flame-graphs-on-linux.html

1) --perf-basic-profWeb ユーザーの下で node.js アプリを実行したところ、プロセスの一時フォルダーに perf マップ ファイルが生成されることがわかりました。

2) 1 日後、次のコマンドを使用してフレーム グラフ自体を生成しようとしました。

$ 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

フレーム グラフは生成されましたが、非常に奇妙に見えます。エントリはほとんどなく、一部は不明で、コードで発生しているものとはかけ離れています。

ここに画像の説明を入力

なぜこうなった?ここで何が欠けていますか?プロミスまたはジェネレーターを実行しているnode.jsに関連している可能性があります(私はそれを非常に疑っています)。サンプリングが 30 秒で、ほとんどのアクティビティが約 4 時間前に発生したためでしょうか? この種のフレーム グラフを取得するにはどうすればよいでしょうか。他に何かする必要がありますか?

4

0 に答える 0