モジュール基本モジュール

モジュールプロファイラー

メモリプロファイラモジュール

指示:

1
var profiler = require('profiler');

静的機能

saveSnapshot

指定した名前に従ってヒープスナップショットを保存します

1
static profiler.saveSnapshot(String fname);

呼び出しパラメーター:

  • fname :文字列、ヒープスナップショット名

loadSnapshot

指定された名前に従ってヒープスナップショットを読み取ります

1
static HeapSnapshot profiler.loadSnapshot(String fname);

呼び出しパラメーター:

  • fname :文字列、ヒープスナップショット名

戻り結果:

  • HeapSnapshot 、読み取りヒープスナップショットを返します

takeSnapshot

現在のタイムノードのヒープスナップショットを取得します。ヒープスナップショットは、現時点でのJSヒープの状態を記録します。

1
static HeapSnapshot profiler.takeSnapshot();

戻り結果:

  • HeapSnapshotは、取得したヒープ情報のスナップショットを返します

diff

指定された関数を実行し、実行前後のv8ヒープの変更を比較します

1
static Object profiler.diff(Function test);

呼び出しパラメーター:

  • test :関数、 testする関数を指定します

戻り結果:

  • Objectは、比較の結果を返します

start

実行ステータスのサンプリングログを開始します

1 2 3
static Timer profiler.start(String fname, Integer time = 60000, Integer interval = 100);

呼び出しパラメーター:

  • fname :文字列、指定されたログストレージファイル名
  • time :整数、サンプリング時間を指定します。デフォルトは1分です。
  • interval :整数、間隔時間を指定します。デフォルトは100ミリ秒です。

戻り結果:

  • Timer 、サンプリングタイマーを返しますTimerメソッドを使用して事前にサンプリングを停止できます。

絶え間ない

Node_Hidden

非表示のノード。ユーザーに表示するときに除外できます。

1
const profiler.Node_Hidden = 0;

Node_Array

アレイ

1
const profiler.Node_Array = 1;

Node_String

ストリング

1
const profiler.Node_String = 2;

Node_Object

JSオブジェクト(文字列と配列を除く)

1
const profiler.Node_Object = 3;

Node_Code

コンパイルされたコード

1
const profiler.Node_Code = 4;

Node_Closure

機能の閉鎖

1
const profiler.Node_Closure = 5;

Node_RegExp

正規表現

1
const profiler.Node_RegExp = 6;

Node_HeapNumber

山の中でソートされた番号

1
const profiler.Node_HeapNumber = 7;

Node_Native

ネイティブオブジェクト(v8ヒープにはない)

1
const profiler.Node_Native = 8;

Node_Synthetic

合成物

1
const profiler.Node_Synthetic = 9;

Node_ConsString

連結文字列

1
const profiler.Node_ConsString = 10;

Node_SlicedString

スプリットストリング

1
const profiler.Node_SlicedString = 11;

Node_Symbol

シンボル(ES6)

1
const profiler.Node_Symbol = 12;

Node_SimdValue

ヒープ内のソートされたSIMD値(ES7)

1
const profiler.Node_SimdValue = 13;

Edge_ContextVariable

関数内の変数

1
const profiler.Edge_ContextVariable = 0;

Edge_Element

配列内の要素

1
const profiler.Edge_Element = 1;

Edge_Property

名前付きオブジェクトのプロパティ

1
const profiler.Edge_Property = 2;

Edge_Internal

JSアクセスできないリンク

1
const profiler.Edge_Internal = 3;

Edge_Hidden

スペースサイズを事前に計算する必要があるノードをポイントします

1
const profiler.Edge_Hidden = 4;

Edge_Shortcut

スペースを事前に計算できないノードをポイントします

1
const profiler.Edge_Shortcut = 5;

Edge_Weak

弱い参照(GCでは無視されます)

1
const profiler.Edge_Weak = 6;