Modul Grundmodul

Modulprofiler

Speicherprofiler-Modul

Anleitung:

1
var profiler = require('profiler');

Statische Funktion

saveSnapshot

Speichern Sie einen Heap-Snapshot unter dem angegebenen Namen

1
static profiler.saveSnapshot(String fname);

Parameter aufrufen:

  • fname : String, Heap-Snapshot-Name

loadSnapshot

Lesen Sie einen Heap-Snapshot gemäß dem angegebenen Namen

1
static HeapSnapshot profiler.loadSnapshot(String fname);

Parameter aufrufen:

  • fname : String, Heap-Snapshot-Name

Ergebnis zurückgeben:


takeSnapshot

Abrufen eines Heap-Snapshots des Knotens zum aktuellen Zeitpunkt. Der Heap-Snapshot zeichnet den Status des JS-Heaps zum aktuellen Zeitpunkt auf.

1
static HeapSnapshot profiler.takeSnapshot();

Ergebnis zurückgeben:

  • HeapSnapshot , gibt einen Snapshot der erhaltenen Heap-Informationen zurück

diff

Führen Sie die angegebene Funktion aus und vergleichen Sie die Änderungen des v8-Heapspeichers vor und nach der Ausführung

1
static Object profiler.diff(Function test);

Parameter aufrufen:

  • test : Funktion bei gegebener zu testender Funktion

Ergebnis zurückgeben:

  • Object , geben Sie das Vergleichsergebnis zurück

start

Starten Sie ein laufendes Status-Sampling-Protokoll

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

Parameter aufrufen:

  • fname : fname , gegebener Name der Protokollspeicherdatei
  • time : Ganzzahl, geben Sie die Abtastzeit an, Standard 1 Minute
  • interval : Ganzzahl, Intervallzeit angeben, Standard 100 ms

Ergebnis zurückgeben:

  • Timer , kehren Sie zum Sampling-Timer zurück. Sie können die Sampling-Funktion im Voraus durch die Clear-Methode beenden

Konstante

Node_Hidden

Versteckte Knoten, die herausgefiltert werden können, wenn sie dem Benutzer angezeigt werden

1
const profiler.Node_Hidden = 0;

Node_Array

Array

1
const profiler.Node_Array = 1;

Node_String

String

1
const profiler.Node_String = 2;

Node_Object

JS-Objekte (außer Strings und Arrays)

1
const profiler.Node_Object = 3;

Node_Code

Kompilierter Code

1
const profiler.Node_Code = 4;

Node_Closure

Funktionsabschluss

1
const profiler.Node_Closure = 5;

Node_RegExp

Regulären Ausdruck

1
const profiler.Node_RegExp = 6;

Node_HeapNumber

Bestellte Nummern auf dem Haufen

1
const profiler.Node_HeapNumber = 7;

Node_Native

Native Objekte (nicht auf dem v8-Heap)

1
const profiler.Node_Native = 8;

Node_Synthetic

Synthetische Objekte

1
const profiler.Node_Synthetic = 9;

Node_ConsString

Verkettete Zeichenfolgen

1
const profiler.Node_ConsString = 10;

Node_SlicedString

Saite teilen

1
const profiler.Node_SlicedString = 11;

Node_Symbol

Symbol (ES6)

1
const profiler.Node_Symbol = 12;

Node_SimdValue

Bestellte SIMD-Werte im Heap (ES7)

1
const profiler.Node_SimdValue = 13;

Edge_ContextVariable

Variablen in der Funktion

1
const profiler.Edge_ContextVariable = 0;

Edge_Element

Elemente im Array

1
const profiler.Edge_Element = 1;

Edge_Property

Eigenschaften benannter Objekte

1
const profiler.Edge_Property = 2;

Edge_Internal

JS unzugänglicher Link

1
const profiler.Edge_Internal = 3;

Edge_Hidden

Zeigen Sie auf den Knoten, der die Größe des Raums im Voraus berechnen muss

1
const profiler.Edge_Hidden = 4;

Edge_Shortcut

Zeigen Sie auf einen Knoten, dessen Speicherplatzgröße nicht im Voraus berechnet werden kann

1
const profiler.Edge_Shortcut = 5;

Edge_Weak

Eine schwache Referenz (von GC ignoriert)

1
const profiler.Edge_Weak = 6;