perfilador de módulos
módulo perfilador de memoria
Instrucciones:
1var profiler = require('profiler');
función estática
getHeapCodeStatistics
get = estadísticas para el código en el montón v8 y sus metadatos
1static Object profiler.getHeapCodeStatistics();
resultado devuelto:
- Object, devuelve las estadísticas de metadatos
getHeapSpaceStatistics
Obtenga el uso detallado de la memoria del montón v8
1static Array profiler.getHeapSpaceStatistics();
resultado devuelto:
- Array, devuelve el uso detallado de la memoria del montón
getHeapStatistics
Obtener estadísticas del uso de memoria en montón v8
1static Object profiler.getHeapStatistics();
resultado devuelto:
- Object, devuelve estadísticas sobre el uso de memoria en montón
saveSnapshot
Guarde una instantánea de montón de acuerdo con el nombre especificado
1static 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
1static HeapSnapshot profiler.loadSnapshot(String fname);
Parámetros de llamada:
- fname: cadena, nombre de la instantánea del montón
resultado devuelto:
- HeapSnapshot, devuelve la instantánea del montón de lectura
takeSnapshot
Obtenga la instantánea del montón del nodo en el momento actual. La instantánea del montón registra el estado del montón JS en el momento actual.
1static HeapSnapshot profiler.takeSnapshot();
resultado devuelto:
- HeapSnapshot, devuelve la instantánea de información del montón adquirida
diff
Ejecute la función dada y compare los cambios en el 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
resultado devuelto:
- Object, devuelve el resultado de la comparación.
start
Iniciar un registro de muestreo de estado en ejecución
1
2
3static Timer profiler.start(String fname,
Integer time = 60000,
Integer interval = 100);
Parámetros de llamada:
- fname: Cadena, el 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 intervalo de tiempo, el valor predeterminado es 100 milisegundos
resultado devuelto:
- Timer, devuelve el 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
1const profiler.Node_Hidden = 0;
Node_Array
formación
1const profiler.Node_Array = 1;
Node_String
cadena
1const profiler.Node_String = 2;
Node_Object
Objetos JS (excepto cadenas y matrices)
1const profiler.Node_Object = 3;
Node_Code
codigo 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 el montón
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 dividida
1const profiler.Node_SlicedString = 11;
Node_Symbol
Símbolos (ES6)
1const profiler.Node_Symbol = 12;
Node_SimdValue
valores SIMD ordenados en un montón (ES7)
1const profiler.Node_SimdValue = 13;
Edge_ContextVariable
variables en funciones
1const profiler.Edge_ContextVariable = 0;
Edge_Element
elementos en la matriz
1const profiler.Edge_Element = 1;
Edge_Property
propiedades del objeto nombrado
1const profiler.Edge_Property = 2;
Edge_Internal
Enlaces JS inaccesibles
1const profiler.Edge_Internal = 3;
Edge_Hidden
Apunte a los nodos que necesitan calcular el tamaño del espacio por adelantado
1const profiler.Edge_Hidden = 4;
Edge_Shortcut
Apunte a un nodo cuyo tamaño 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;