micro-monitor
Version:
add a monitoring endpoint to your node background services
72 lines (52 loc) • 2.02 kB
Markdown
[](https://travis-ci.org/npm/micro-monitor)
[](https://coveralls.io/r/npm/micro-monitor?branch=master)
Add a standardized monitoring endpoint to your application. Especially
useful for adding monitoring to services that do not expose an
HTTP interface.
Simply initialize the monitor when your application starts up:
```js
const Monitor = require('micro-monitor')
let monitor = Monitor(9999, () => {
// do something now that monitoring is running
})
```
* `http://0.0.0.1:9999/_monitor/status` is now available, and will
respond with a `200` status and status object:
```json
{
"pid": 42176,
"uptime": 0.796,
"rss": {
"rss": 53907456,
"heapTotal": 37728256,
"heapUsed": 26032248
},
"cmdline": [
"/Users/benjamincoe/.nvm/versions/node/v7.1.0/bin/node",
"/Users/benjamincoe/npm-inc/micro-monitor/node_modules/mocha/bin/_mocha",
"test.js"
],
"git": "b0c57aa"
}
```
* `http://0.0.0.1:9999/_monitor/ping` is also available and will respond with
status `200` and the text `pong`.
You can customize the status information returned using `contribute`:
* **monitor.contribute(contributor)**: contribute additional information
to the status object returned on `/_monitor/status`.
* `contributor`: a function returning the object to supplement the status
object with.
When the monitor is first started, it will attempt to pull the commit hash for
the current project by performing a `git rev-parse`. If you wish to supply your
own value for the `git` field, set the `BUILD_HASH` environment variable.
You can halt the monitor using `stop`:
* **monitor.stop() ⇒ `Promise`**: halt the monitor
* `close`: a function returning a Promise which is resolved once the
monitor server has halted.
ISC