Modul Basismodul

Modulprofiler

Speicherprofiler-Modul

Wie man benutzt:

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 unter dem angegebenen Namen

1
static HeapSnapshot profiler.loadSnapshot(String fname);

Parameter aufrufen:

  • fname : String, Heap-Snapshot-Name

Gibt das Ergebnis zurück:


takeSnapshot

Holen Sie sich einen Heap-Snapshot des aktuellen Zeitknotens. Der Heap-Snapshot zeichnet den aktuellen Status des JS-Heaps auf

1
static HeapSnapshot profiler.takeSnapshot();

Gibt das Ergebnis zurück:

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

diff

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

1
static Object profiler.diff(Function test);

Parameter aufrufen:

  • test : Funktion unter Berücksichtigung der zu testenden Funktion

Gibt das Ergebnis zurück:

  • Object , gibt das Ergebnis des Vergleichs 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 ist 1 Minute
  • interval : Ganzzahl, geben Sie die Intervallzeit an, standardmäßig 100 Millisekunden

Gibt das Ergebnis zurück:

  • Timer , Gibt den Sampling-Timer zurück, der durch die Löschmethode im Voraus gestoppt werden kann

Konstante

Node_Hidden

Versteckte Knoten, die gefiltert 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ärer Ausdruck

1
const profiler.Node_RegExp = 6;

Node_HeapNumber

Sortierte Zahlen auf einem Haufen

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

Genähte Saiten

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 Funktionen

1
const profiler.Edge_ContextVariable = 0;

Edge_Element

Elemente in einem 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 Speichergröße im Voraus berechnen 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 (vom GC ignoriert)

1
const profiler.Edge_Weak = 6;