Check if the event loop is blocked
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
History.md Make the function execution time threshold a parameter. Feb 11, 2016
Readme.md
index.js
package.json Move test to its own folder to standardize (also, coverage now only r… Feb 23, 2016

Readme.md

blocked

Check if a node event loop is blocked.

If You're running Node.js 8+ you can get a stacktrace pointing to the blocking function using very similar blocked-at package.

Installation

$ npm install blocked

Description

The blocked() function reports every value over the configured threshold (defaulted to 10ms). You can then do whatever you want with that value, graph it, log it, alert, etc.

The process won't be kept open through this.

Params and return value

var timer = blocked(fn, options);
  • fn: The callback function to execute when the event loop is blocked. Will send in the amount of time in ms that the event loop was blocked.
  • options: Optional. Options object to configure the behaviour. For now, only the threshold option is supported. It determines the amount of ms used to determine if the function callback should be executed; useful to speed up tests
blocked(function(ms) {
    console.log("Blocked");
}, {threshold:1});

Returns: A reference to the timer. Useful for clearing the timer.

var timer = blocked(function(ms) {
                console.log("Blocked");
            });
clearInterval(timer);

License

MIT