stats-beat
v1.0.1
Published
Node.js performance statistics emitter
Downloads
5
Maintainers
Readme
stats-beat
Node.js performance statistics emitter
Install
npm install --save stats-beat
Note: requires node v4 or higher.
Usage
const statsBeat = require('stats-beat')();
var app = express();
//...
var server = app.listen(PORT);
statsBeat.start({ server });
export STATS_BEAT=all
npm start
Then all performance metrics will be prtinted on the console each 5 seconds
{"sysload%":18,"freememMB":3661,"cpu%":112,"rssMB":152,"heapMB":64,"rps":3149,"resTime_ms":20.887753158529616,"reqBytes":116,"resBytes":114849,"rxKBs":365,"txKBs":361653,"numconn":80,"evloop_us":6646}
To report only CPU and memory ech 2s, use this command:
export STATS_BEAT='period=2&cpu&rss'
npm start
You can register a listener to process the performance metrics in a custom way, e.g. write them in a csv file or send them to a central service.
const statsBeat = require('stats-beat')();
var app = express();
//...
var server = app.listen(PORT);
statsBeat.start({ server });
statsBeat.on('stats', (stats) => {
// process stats
});
Reference
Stats
| Selector | Property | Description |
|------------|--------------|----------------------------------------|
| sysload
| sysload%
| 1 minute system load average as %. See os.loadavg() |
| freemem
| frememMB
| Free system memory in MB. See os.freemem() |
| cpu
| cpu%
| Process CPU usage as % of one logical core. Requires node v6.1. See process.cpuUsage() |
| rss
| rssMB
| Process memory (resident set size) in MB. See process.memoryUsage() |
| heap
| heapMB
| V8 heap used. See process.memoryUsage() |
| rps
| rps
| Completed requests per second. |
| restime
| resTime_ms
| Response time in ms. |
| reqbytes
| reqBytes
| Total request size in bytes. |
| resbytes
| resBytes
| Total response size in bytes. |
| rxrate
| rxKBs
| KB received per second |
| txrate
| txKBs
| KB sent per second |
| numconn
| numconn
| Number of concurrent connections on the server. See server.getConnections() |
| evloop
| evloop_us
| Node event loop latency in microseconds |