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

Rufen Sie den Heap-Snapshot des aktuellen Zeitknotens ab. 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 unter Berücksichtigung der zu testenden Funktion

Ergebnis zurückgeben:

  • Object , gibt das Ergebnis des Vergleichs zurück

start

Starten Sie ein Stichprobenprotokoll des laufenden Status

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, die Standardeinstellung ist 1 Minute
  • interval : Ganzzahl, geben Sie die Intervallzeit an. Der Standardwert ist 100 Millisekunden

Ergebnis zurückgeben:

  • Timer , gibt den Sampling-Timer zurück. Sie können die Sampling-Funktion im Voraus durch die Clear-Methode stoppen

Konstante

Node_Hidden

Versteckte Knoten, die herausgefiltert werden können, wenn sie Benutzern 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

Sortierte Zahlen im Stapel

1
const profiler.Node_HeapNumber = 7;

Node_Native

Native Objekte (nicht auf dem v8-Heap)

1
const profiler.Node_Native = 8;

Node_Synthetic

Synthetisches Objekt

1
const profiler.Node_Synthetic = 9;

Node_ConsString

Verkettete Zeichenfolge

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

Sortierter SIMD-Wert im Heap (ES7)

1
const profiler.Node_SimdValue = 13;

Edge_ContextVariable

Variablen in Funktionen

1
const profiler.Edge_ContextVariable = 0;

Edge_Element

Elemente im Array

1
const profiler.Edge_Element = 1;

Edge_Property

Eigenschaften des benannten Objekts

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, dessen Speicherplatzgröße im Voraus berechnet werden muss

1
const profiler.Edge_Hidden = 4;

Edge_Shortcut

Zeigen Sie auf einen Knoten, dessen Speicherplatz 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;