7

node.js app のフレーム グラフを生成したいと思います。残念ながら、私の開発ボックスは OSX (リンクされた記事によると utrace ヘルパーをサポートしていません) であり、私の製品ボックスは CentOS (dtrace さえありません) です。

SystemTap のようなものが dtrace の代替手段である可能性があるという兆候をいくつか見つけましたが、stackvis にフィードする適切な stacks.out ファイルを生成するための効果的な作業方法をまとめることができませんでした。

これを起動して実行する方法についてのまともなチュートリアルを知っている人はいますか? 私はCentOSでそれを好むでしょうが(本番アプリを調べることができます)、OSXでも十分です.

4

2 に答える 2

2

最新のグーグル検索から、人々はCentosのSystemTapに不満を持っていますが、ここに参照された記事http://dtrace.org/blogs/brendan/2012/03/17/linux-kernel-performance-flame-graphs/があります誰かのFlameGraphgithubプロジェクトによるhttps://github.com/brendangregg/FlameGraph

回避策に頼るのではなく、dtraceをインストールするという実際の解決策に向かって進んでください。

于 2013-03-09T20:03:45.350 に答える
2

Linux では、perf_events プロファイラーを使用してスタック トレースをサンプリングでき、JIT シンボルがサポートされています。node.js の場合、v8 オプション --perf-basic-prof を使用して、バージョン 0.11.13 以降を実行する必要があります。このオプションは、perf が使用するシンボル変換用の /tmp/perf-PID.map ファイルを作成します。JavaScript シンボルを使用してパフォーマンス プロファイリング スタック トレースを取得したら、「パフォーマンス スクリプト」の出力で (FlameGraph リポジトリの) stackcollapse-perf.pl を使用してフレーム グラフを作成できます。

ここに完全な手順を書きました: http://www.brendangregg.com/blog/2014-09-17/node-flame-graphs-on-linux.html

于 2014-09-17T22:11:33.027 に答える