Módulo Módulo básico

Módulo perfilador

Módulo perfilador de memoria

Instrucciones:

1
var profiler = require('profiler');

Función estática

saveSnapshot

Guardar una instantánea del montón de acuerdo con el nombre especificado

1
static profiler.saveSnapshot(String fname);

Parámetros de llamada:

  • fname : Cadena, nombre de la instantánea del montón

loadSnapshot

Leer una instantánea de montón de acuerdo con el nombre especificado

1
static HeapSnapshot profiler.loadSnapshot(String fname);

Parámetros de llamada:

  • fname : Cadena, nombre de la instantánea del montón

Resultado de devolución:

  • HeapSnapshot , devuelve la instantánea del montón de lectura

takeSnapshot

Obtenga una instantánea de montón del nodo en el momento actual. La instantánea de montón registra el estado del montón JS en el momento actual.

1
static HeapSnapshot profiler.takeSnapshot();

Resultado de devolución:

  • HeapSnapshot , devuelve una instantánea de la información del montón obtenida

diff

Ejecuta la función dada y compara los cambios del montón v8 antes y después de la ejecución

1
static Object profiler.diff(Function test);

Parámetros de llamada:

  • test : Función, dada la función a probar

Resultado de devolución:

  • Object , devuelve el resultado de comparación

start

Iniciar un registro de muestreo de estado de ejecución

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

Parámetros de llamada:

  • fname : String, nombre de archivo de almacenamiento de registro dado
  • time : entero, especifique el tiempo de muestreo, predeterminado 1 minuto
  • interval : entero, especifique el tiempo de intervalo, predeterminado 100 ms

Resultado de devolución:

  • Timer , vuelva al temporizador de muestreo, puede detener el muestreo por adelantado a través del método claro

constante

Node_Hidden

Nodos ocultos, que se pueden filtrar cuando se muestran al usuario

1
const profiler.Node_Hidden = 0;

Node_Array

Formación

1
const profiler.Node_Array = 1;

Node_String

Cuerda

1
const profiler.Node_String = 2;

Node_Object

Objetos JS (excepto cadenas y matrices)

1
const profiler.Node_Object = 3;

Node_Code

Código compilado

1
const profiler.Node_Code = 4;

Node_Closure

Función de cierre

1
const profiler.Node_Closure = 5;

Node_RegExp

Expresión regular

1
const profiler.Node_RegExp = 6;

Node_HeapNumber

Números ordenados en el montón

1
const profiler.Node_HeapNumber = 7;

Node_Native

Objetos nativos (no en el montón v8)

1
const profiler.Node_Native = 8;

Node_Synthetic

Objetos sintéticos

1
const profiler.Node_Synthetic = 9;

Node_ConsString

Cuerdas concatenadas

1
const profiler.Node_ConsString = 10;

Node_SlicedString

Cadena dividida

1
const profiler.Node_SlicedString = 11;

Node_Symbol

Símbolo (ES6)

1
const profiler.Node_Symbol = 12;

Node_SimdValue

Valores SIMD ordenados en el montón (ES7)

1
const profiler.Node_SimdValue = 13;

Edge_ContextVariable

Variables en la función

1
const profiler.Edge_ContextVariable = 0;

Edge_Element

Elementos en la matriz

1
const profiler.Edge_Element = 1;

Edge_Property

Propiedades de los objetos nombrados.

1
const profiler.Edge_Property = 2;

Edge_Internal

Enlace inaccesible JS

1
const profiler.Edge_Internal = 3;

Edge_Hidden

Señale el nodo que necesita calcular el tamaño del espacio por adelantado

1
const profiler.Edge_Hidden = 4;

Edge_Shortcut

Señale un nodo cuyo tamaño de espacio no se pueda calcular por adelantado

1
const profiler.Edge_Shortcut = 5;

Edge_Weak

Una referencia débil (ignorada por GC)

1
const profiler.Edge_Weak = 6;