Perfilador de módulos
Módulo perfilador de memoria
Instrucciones:
1var profiler = require('profiler');
Función estática
saveSnapshot
Guarde una instantánea de montón de acuerdo con el nombre especificado
1static profiler.saveSnapshot(String fname);
Parámetros de llamada:
- fname : String, nombre de la instantánea del montón
loadSnapshot
Leer una instantánea del montón según el nombre especificado
1static HeapSnapshot profiler.loadSnapshot(String fname);
Parámetros de llamada:
- fname : String, nombre de la instantánea del montón
Devolver resultado:
- HeapSnapshot , devuelve la instantánea del montón de lectura
takeSnapshot
Obtenga la instantánea del montón del nodo de tiempo actual, la instantánea del montón registra el estado del montón JS en el momento actual
1static HeapSnapshot profiler.takeSnapshot();
Devolver resultado:
- HeapSnapshot , devuelve una instantánea de la información del montón obtenida
diff
Ejecute la función dada y compare los cambios del montón v8 antes y después de la ejecución
1static Object profiler.diff(Function test);
Parámetros de llamada:
- test : Función, dada la función a probar
Devolver resultado:
- Object , devuelve el resultado de la comparación.
start
Iniciar un registro de muestreo del estado de ejecución
1
2
3static 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, el valor predeterminado es 1 minuto
- interval : entero, especifique el tiempo del intervalo, el valor predeterminado es 100 milisegundos
Devolver resultado:
- Timer , devuelve el temporizador de muestreo, puede detener el muestreo por adelantado mediante el método claro
constante
Node_Hidden
Nodos ocultos, que se pueden filtrar cuando se muestran a los usuarios
1const profiler.Node_Hidden = 0;
Node_Array
Formación
1const profiler.Node_Array = 1;
Node_String
Cuerda
1const profiler.Node_String = 2;
Node_Object
Objetos JS (excepto cadenas y matrices)
1const profiler.Node_Object = 3;
Node_Code
Código compilado
1const profiler.Node_Code = 4;
Node_Closure
Cierre de función
1const profiler.Node_Closure = 5;
Node_RegExp
Expresión regular
1const profiler.Node_RegExp = 6;
Node_HeapNumber
Números ordenados en la pila
1const profiler.Node_HeapNumber = 7;
Node_Native
Objetos nativos (no en el montón v8)
1const profiler.Node_Native = 8;
Node_Synthetic
Objeto sintético
1const profiler.Node_Synthetic = 9;
Node_ConsString
Cadena concatenada
1const profiler.Node_ConsString = 10;
Node_SlicedString
Cadena partida
1const profiler.Node_SlicedString = 11;
Node_Symbol
Símbolo (ES6)
1const profiler.Node_Symbol = 12;
Node_SimdValue
Valor de SIMD ordenado en el montón (ES7)
1const profiler.Node_SimdValue = 13;
Edge_ContextVariable
Variables en funciones
1const profiler.Edge_ContextVariable = 0;
Edge_Element
Elementos de la matriz
1const profiler.Edge_Element = 1;
Edge_Property
Propiedades del objeto nombrado
1const profiler.Edge_Property = 2;
Edge_Internal
Enlace inaccesible de JS
1const profiler.Edge_Internal = 3;
Edge_Hidden
Señale el nodo cuyo tamaño de espacio debe calcularse de antemano
1const profiler.Edge_Hidden = 4;
Edge_Shortcut
Apunta a un nodo cuyo espacio no se puede calcular de antemano
1const profiler.Edge_Shortcut = 5;
Edge_Weak
Una referencia débil (ignorada por GC)
1const profiler.Edge_Weak = 6;