A minimal overhead event loop delay sampler.
npm install event-loop-delay
const loopDelay = require('event-loop-delay')
const sampler = loopDelay()
setInterval(function () {
console.log('Accumulated delay in ms is', sampler.delay)
console.log('Accumulated times a delay was detected', sampler.times)
}, 1000)
setInterval(function () {
for (let i = 0; i < 1e7; i++) {
// simulate event loop blocking
}
}, 3000)
Running the above should run the sampler measuring the event loop delay.
Make a new sampler. Will sample the event loop every 10ms.
Accumulated event loop delay in ms measured since sampler was created.
Accumulated times the event loop delay was detected.
Destroys the sampler.
MIT