memory inspector observa o uso/comportamento da memória de um aplicativo da Web. Atualmente ele é executado no Puppeteer, que é uma API para controlar o Chrome ou Chromium sem cabeça através do 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 na página. O URL deve incluir o esquema, por exemplo https://
<boolean>
Defina se irá formatar os bytes em tamanhos, como: 2190000000
a 2.19 GB
. Por padrão, é true
.
<number>
Retarda o relatório na quantidade especificada de milissegundos.
<number>
Define o limite máximo de memória que pode ser usado pelo aplicativo, isso refletirá no relatório exceededMemoryMaximum
.
<number>
Define o limite máximo de porcentagem de memória no aplicativo, ele refletirá no relatório exceededMemoryUsagePercent
.
<string|array<string>>
Quando considerar que a navegação foi bem-sucedida. Dada uma série de sequências de eventos, a navegação é considerada bem-sucedida após todos os eventos terem sido disparados.
Agradecimentos ao Titereiro.
Feito por Raphael Amorim, licenciado pelo MIT