memory inspector observa el uso/comportamiento de la memoria de una aplicación web. Actualmente se ejecuta sobre Puppeteer, que es una API para controlar Chrome o Chromium sin cabeza a través del protocolo DevTools.
yarn add --dev memory-inspector
const memoryInspector = require ( 'memory-inspector' )
const config = {
url : 'http://localhost:3000' ,
maxMemoryLimit : 20 * 1048576 , // should not pass of 20MB
maxMemoryPercentThreshold : 90 , // should not pass 90% of total memory
}
memoryInspector ( config ) . then ( ( info ) => console . log ( info ) )
/*
{ "exceededMemoryMaximum": 1528951424,
"exceededMemoryUsagePercent": true,
"jsHeapSizeLimit": "2.19 GB",
"memoryUsagePercent": 21900000,
"totalJSHeapSize": "1.53 GB",
"usedJSHeapSize": "1.53 GB" }
*/
const memoryInspector = require ( 'memory-inspector' )
const config = {
url : 'http://127.0.0.1:8080' ,
delay : 300 ,
formatted : false , // default is true
maxMemoryLimit : 20 * 1048576 , // should not pass of 20MB
maxMemoryPercentThreshold : 90 , // should not pass 90% of total memory
waitUntil : [ 'domContentLoaded' ] , // wait for browser events
}
memoryInspector ( config ) . then ( ( info ) => console . log ( info ) )
/*
{ usedJSHeapSize: 10000000,
totalJSHeapSize: 11900000,
jsHeapSizeLimit: 2190000000,
memoryUsagePercent: 438000000,
exceededMemoryMaximum: -10971520,
exceededMemoryUsagePercent: false }
*/
<string>
URL para navegar por la página. La URL debe incluir un esquema, por ejemplo, https://
<boolean>
Defina si formateará los bytes en tamaños, como: 2190000000
a 2.19 GB
. Por defecto es true
.
<number>
Ralentiza el informe en la cantidad especificada de milisegundos.
<number>
Establece el límite máximo de memoria que puede utilizar la aplicación; se reflejará en el informe exceededMemoryMaximum
.
<number>
Establece el umbral máximo de porcentaje de memoria en la aplicación, se reflejará en el informe exceededMemoryUsagePercent
.
<string|array<string>>
Cuándo considerar que la navegación fue exitosa. Dada una serie de cadenas de eventos, se considera que la navegación es exitosa después de que se hayan activado todos los eventos.
Un agradecimiento al titiritero.
Hecho por Raphael Amorim, con licencia del MIT