# loopbench [![Build Status](https://travis-ci.org/mqttjs/MQTT.js.svg)](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