モジュールプロファイラー
メモリプロファイラーモジュール
説明書:
1var profiler = require('profiler');
静的関数
getHeapCodeStatistics
Get = v8 ヒープ内のコードとそのメタデータに関する統計
1static Object profiler.getHeapCodeStatistics();
返される結果:
- Object、メタデータの統計情報を返します。
getHeapSpaceStatistics
v8 ヒープ メモリの詳細な使用状況を取得する
1static Array profiler.getHeapSpaceStatistics();
返される結果:
- Array、ヒープ メモリの詳細な使用量を返します。
getHeapStatistics
v8 ヒープ メモリ使用量の統計を取得する
1static Object profiler.getHeapStatistics();
返される結果:
- Object、ヒープメモリ使用量に関する統計を返します。
saveSnapshot
指定した名前でヒープ スナップショットを保存します
1static profiler.saveSnapshot(String fname);
呼び出しパラメータ:
- fname: 文字列、ヒープスナップショット名
loadSnapshot
指定された名前に基づいてヒープ スナップショットを読み取ります
1static HeapSnapshot profiler.loadSnapshot(String fname);
呼び出しパラメータ:
- fname: 文字列、ヒープスナップショット名
返される結果:
- HeapSnapshot、読み取りヒープのスナップショットを返します。
takeSnapshot
現在の時刻ノードのヒープ スナップショットを取得します。ヒープ スナップショットは、現時点での JS ヒープの状態を記録します。
1static HeapSnapshot profiler.takeSnapshot();
返される結果:
- HeapSnapshot、取得したヒープ情報のスナップショットを返します。
diff
指定された関数を実行し、実行前と実行後の v8 ヒープの変更を比較します。
1static Object profiler.diff(Function test);
呼び出しパラメータ:
- test: テスト対象の関数を指定した関数
返される結果:
- Object、比較結果を返します
start
実行ステータスのサンプリング ログを開始します
1
2
3static Timer profiler.start(String fname,
Integer time = 60000,
Integer interval = 100);
呼び出しパラメータ:
- fname: 文字列、指定されたログ ストレージ ファイル名
- time: 整数、サンプリング時間を指定します。デフォルトは 1 分です。
- interval: 整数、間隔時間を指定します。デフォルトは 100 ミリ秒です。
返される結果:
- Timer、サンプリング タイマーを返します。clear メソッドを使用してサンプリングを早期に停止できます。
絶え間ない
Node_Hidden
ユーザーに表示するときにフィルターで除外できる非表示のノード
1const profiler.Node_Hidden = 0;
Node_Array
配列
1const profiler.Node_Array = 1;
Node_String
弦
1const profiler.Node_String = 2;
Node_Object
JS オブジェクト (文字列と配列を除く)
1const profiler.Node_Object = 3;
Node_Code
コンパイルされたコード
1const profiler.Node_Code = 4;
Node_Closure
関数クロージャー
1const profiler.Node_Closure = 5;
Node_RegExp
正規表現
1const profiler.Node_RegExp = 6;
Node_HeapNumber
ヒープ内のソートされた数値
1const profiler.Node_HeapNumber = 7;
Node_Native
ネイティブ オブジェクト (非 v8 ヒープ)
1const profiler.Node_Native = 8;
Node_Synthetic
合成オブジェクト
1const profiler.Node_Synthetic = 9;
Node_ConsString
連結された文字列
1const profiler.Node_ConsString = 10;
Node_SlicedString
分割文字列
1const profiler.Node_SlicedString = 11;
Node_Symbol
シンボル (ES6)
1const profiler.Node_Symbol = 12;
Node_SimdValue
ヒープ内のソートされた SIMD 値 (ES7)
1const profiler.Node_SimdValue = 13;
Edge_ContextVariable
関数内の変数
1const profiler.Edge_ContextVariable = 0;
Edge_Element
配列内の要素
1const profiler.Edge_Element = 1;
Edge_Property
名前付きオブジェクトのプロパティ
1const profiler.Edge_Property = 2;
Edge_Internal
JSはリンクに入れない
1const profiler.Edge_Internal = 3;
Edge_Hidden
空間サイズを事前に計算する必要があるノードを指します
1const profiler.Edge_Hidden = 4;
Edge_Shortcut
空間サイズを事前に計算できないノードを指します
1const profiler.Edge_Shortcut = 5;
Edge_Weak
弱い参照 (GC によって無視される)
1const profiler.Edge_Weak = 6;