Modul Grundmodul

Modul-Profiler

Speicher-Profiler-Modul

Anleitung:

1
var profiler = require('profiler');

statische Funktion

getHeapCodeStatistics

Holen Sie sich = Statistiken über den Code im v8-Heap und seine Metadaten

1
static Object profiler.getHeapCodeStatistics();

Rückgabeergebnisse:

  • Object, gibt statistische Informationen zu Metadaten zurück

getHeapSpaceStatistics

Erhalten Sie detaillierte Informationen zur Nutzung des v8-Heapspeichers

1
static Array profiler.getHeapSpaceStatistics();

Rückgabeergebnisse:

  • Array, gibt die detaillierte Nutzung des Heap-Speichers zurück

getHeapStatistics

Rufen Sie v8-Heap-Speichernutzungsstatistiken ab

1
static Object profiler.getHeapStatistics();

Rückgabeergebnisse:

  • Object, gibt Statistiken zur Heap-Speichernutzung zurück

saveSnapshot

Speichern Sie einen Heap-Snapshot unter dem angegebenen Namen

1
static profiler.saveSnapshot(String fname);

Aufrufparameter:

  • fname: String, Name des Heap-Snapshots

loadSnapshot

Liest einen Heap-Snapshot basierend auf dem angegebenen Namen

1
static HeapSnapshot profiler.loadSnapshot(String fname);

Aufrufparameter:

  • fname: String, Name des Heap-Snapshots

Rückgabeergebnisse:


takeSnapshot

Erhalten Sie den Heap-Snapshot des aktuellen Zeitknotens. Der Heap-Snapshot zeichnet den Status des JS-Heaps zum aktuellen Zeitpunkt auf.

1
static HeapSnapshot profiler.takeSnapshot();

Rückgabeergebnisse:

  • HeapSnapshot, gibt den erhaltenen Heap-Informations-Snapshot 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);

Aufrufparameter:

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

Rückgabeergebnisse:

  • Object, gibt 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);

Aufrufparameter:

  • fname: Zeichenfolge, angegebener Name der Protokollspeicherdatei
  • time: Ganzzahl, gibt die Abtastzeit an, der Standardwert ist 1 Minute
  • interval: Ganzzahl, geben Sie die Intervallzeit an, der Standardwert ist 100 Millisekunden

Rückgabeergebnisse:

  • Timer, gibt den Probenahme-Timer zurück, Sie können die Probenahme durch die Löschmethode vorzeitig stoppen

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

Zeichenfolge

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

Funktionsschluss

1
const profiler.Node_Closure = 5;

Node_RegExp

regulären Ausdruck

1
const profiler.Node_RegExp = 6;

Node_HeapNumber

Sortierte Zahlen in einem Haufen

1
const profiler.Node_HeapNumber = 7;

Node_Native

Natives Objekt (Nicht-v8-Heap)

1
const profiler.Node_Native = 8;

Node_Synthetic

Synthetisches Objekt

1
const profiler.Node_Synthetic = 9;

Node_ConsString

verkettete Zeichenfolgen

1
const profiler.Node_ConsString = 10;

Node_SlicedString

geteilte Zeichenfolge

1
const profiler.Node_SlicedString = 11;

Node_Symbol

Symbole (ES6)

1
const profiler.Node_Symbol = 12;

Node_SimdValue

Sortierte 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 im Array

1
const profiler.Edge_Element = 1;

Edge_Property

Eigenschaften benannter Objekte

1
const profiler.Edge_Property = 2;

Edge_Internal

JS kann den Link nicht eingeben

1
const profiler.Edge_Internal = 3;

Edge_Hidden

Zeigen Sie auf den Knoten, dessen Raumgröße im Voraus berechnet werden muss

1
const profiler.Edge_Hidden = 4;

Edge_Shortcut

Zeigt auf einen Knoten, dessen Raumgröß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;