11

ノードプロファイラーを使用してプロファイリングしたいノードアプリケーションがあります。

だから最初に私は走った:

node --prof v8test.js

次に、v8ツールをダウンロードしました

svn checkout http://v8.googlecode.com/svn/trunk/ v8;
make dependencies;
make native;

次に、作成されたファイル(v8.log)を分析しようとしました

tools/linux-tick-processor ../v8.log

しかし、私はたくさん得ます:

Code move event for unknown code: 0x289dd8475560
Code move event for unknown code: 0x289dd84758e0
Code move event for unknown code: 0x289dd8479280
Code move event for unknown code: 0x289dd8482980
Code move event for unknown code: 0x289dd84c2a80
line 718730: unknown code state: undefined
line 718731: unknown code state: undefined
line 739575: unknown code state: undefined
line 739577: unknown code state: undefined

誰かが私が何が起こっているのか理解するのを手伝ってもらえますか?

4

3 に答える 3

7

ログ ファイルの形式は頻繁に変更されるようです。そのため、正しいバージョンの v8 を使用していることを確認する必要があります。たとえば、プロファイル ログがノード v0.10.18 で生成された場合、v8 バージョン 3.14.5 のティック プロセッサで分析する必要があります。特定のバージョンのノードがビルドされている v8 のバージョンを確認するdeps/v8/ChangeLogには、ノード ソース ディストリビューションをチェックインします (ノード自体の変更ログは、この点で少し信頼できないようです)。

于 2013-09-19T09:43:02.940 に答える
0

ノード アプリケーションをプロファイリングするためのもう 1 つのオプションは、Node.js に組み込まれた内部 V8 プロファイラーの代わりに VTune Amplifier を使用することです。この場合、関数のソース コードを通じてパフォーマンス メトリックがどのように分散されているかがわかります。現在、V8 プロファイルではそれができません。この投稿を見て、その方法を確認してください。

于 2014-02-20T17:11:12.290 に答える