Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mcollina/loopbench

Benchmark your event loop
https://github.com/mcollina/loopbench

Last synced: about 2 months ago
JSON representation

Benchmark your event loop

Awesome Lists containing this project

README

        

# loopbench

Benchmark your event loop, extracted from [hapi](http://npm.im/hapi),
[hoek](http://npm.im/hoek), [heavy](http://npm.im/heavy) and
[boom](http://npm.im/boom).

* [Install](#install)
* [Example](#example)
* [API](#api)
* [Acknowledgements](#acknowledgements)
* [License](#license)


## Install
To install loopbench, simply use npm:

```
npm i loopbench --save
```


## Example

See [example.js][example].


## API

* loopbench()
* instance.delay
* instance.limit
* instance.overLimit
* instance.stop()

-------------------------------------------------------

### loopbench([opts])

Creates a new instance of loopbench.

Options:

* `sampleInterval`: the interval at which the eventLoop should be
sampled, defaults to `5`.
* `limit`: the maximum amount of delay that is tollerated before
[`overLimit`](#overLimit) becomes true, and the `load` event is
emitted, defaults to `42`.

Events:

* `load`, emitted when `instance.delay > instance.limit`
* `unload`, emitted when `overLimit` goes from `true` and `false`

-------------------------------------------------------

### instance.delay

The delay in milliseconds (and fractions) from the expected run.
It might be negative (in older nodes).

-------------------------------------------------------

### instance.limit

The maximum amount of delay that is tollerated before
[`overLimit`](#overlimit) becomes true, and the `load` event is
emitted.

-------------------------------------------------------

### instance.overLimit

Is `true` if the `instance.delay > instance.limit`.

-------------------------------------------------------

### instance.stop()

Stops the sampling.


## License

Copyright Matteo Collina 2015-2022, Licensed under [MIT][].

[MIT]: ./LICENSE
[example]: ./example.js