memory inspector überwacht die Speichernutzung/das Speicherverhalten einer Webanwendung. Derzeit läuft es über Puppeteer, eine API zur Steuerung von Headless Chrome oder Chromium über das DevTools-Protokoll.
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, zu der die Seite navigiert werden soll. Die URL sollte ein Schema enthalten, z. B. https://
<boolean>
Definieren Sie, ob Bytes in Größen formatiert werden, z. B.: 2190000000
bis 2.19 GB
. Standardmäßig ist es true
.
<number>
Verlangsamt den Bericht um die angegebene Anzahl an Millisekunden.
<number>
Legt das maximale Speicherlimit fest, das von der Anwendung verwendet werden kann. Dies wird im Bericht exceededMemoryMaximum
angezeigt.
<number>
Legt den maximalen Speicherprozentsatz-Schwellenwert für die Anwendung fest. Er wird im Bericht exceededMemoryUsagePercent
angezeigt.
<string|array<string>>
Wann ist davon auszugehen, dass die Navigation erfolgreich war? Bei einem Array von Ereigniszeichenfolgen gilt die Navigation als erfolgreich, nachdem alle Ereignisse ausgelöst wurden.
Ein Dankeschön an Puppeteer.
Hergestellt von Raphael Amorim, lizenziert vom MIT