# loopbench
[](https://travis-ci.org/mqttjs/MQTT.js)
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, Licensed under [MIT][].
[MIT]: ./LICENSE
[example]: ./example.js