perfilador de módulo
Módulo perfilador de memoria
Cómo utilizar:
1var profiler = require('profiler');
función estática
getHeapCodeStatistics
Obtener = estadísticas sobre el código en el montón v8 y sus metadatos
1static Object profiler.getHeapCodeStatistics();
Resultados de devolución:
- Object, devuelve información estadística de metadatos
getHeapSpaceStatistics
Obtenga un uso detallado de la memoria dinámica v8
1static Array profiler.getHeapSpaceStatistics();
Resultados de devolución:
- Array, devuelve el uso detallado de la memoria del montón
getHeapStatistics
Obtenga estadísticas de uso de memoria dinámica v8
1static Object profiler.getHeapStatistics();
Resultados de devolución:
- Object, devuelve estadísticas sobre el uso de memoria dinámica.
saveSnapshot
Guarde una instantánea del montón 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 del montón basada en el nombre especificado
1static HeapSnapshot profiler.loadSnapshot(String fname);
Parámetros de llamada:
- fname: Cadena, nombre de la instantánea del montón
Resultados de devolución:
- HeapSnapshot, devuelve la instantánea del montón leído
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();
Resultados de devolución:
- HeapSnapshot, devuelve la instantánea de información del montón obtenida
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
Resultados de devolución:
- Object, devuelve el resultado de la comparación
start
Iniciar un registro de muestreo de estado de ejecución
1
2
3static Timer profiler.start(String fname,
Integer time = 60000,
Integer interval = 100);
Parámetros de llamada:
- fname: Cadena, nombre del archivo de almacenamiento de registros dado
- time: Entero, especifica el tiempo de muestreo, el valor predeterminado es 1 minuto
- interval: Entero, especifique el intervalo de tiempo, el valor predeterminado es 100 milisegundos
Resultados de devolución:
- Timer, devuelve el temporizador de muestreo, puede detener el muestreo antes mediante el 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
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 un montón
1const profiler.Node_HeapNumber = 7;
Node_Native
Objeto nativo (montón que no es v8)
1const profiler.Node_Native = 8;
Node_Synthetic
Objeto sintético
1const profiler.Node_Synthetic = 9;
Node_ConsString
cadenas concatenadas
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 el montón (ES7)
1const profiler.Node_SimdValue = 13;
Edge_ContextVariable
variables en funciones
1const profiler.Edge_ContextVariable = 0;
Edge_Element
elementos en matriz
1const profiler.Edge_Element = 1;
Edge_Property
Propiedades de objetos nombrados
1const profiler.Edge_Property = 2;
Edge_Internal
JS no puede ingresar al enlace
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 tamaño de 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;