Socket
Socket
Sign inDemoInstall

stats-beat

Package Overview
Dependencies
7
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    stats-beat

Node.js performance statistics emitter


Version published
Weekly downloads
0
Maintainers
1
Install size
1.91 MB
Created
Weekly downloads
 

Readme

Source

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

SelectorPropertyDescription
sysloadsysload%1 minute system load average as %. See os.loadavg()
freememfrememMBFree system memory in MB. See os.freemem()
cpucpu%Process CPU usage as % of one logical core. Requires node v6.1. See process.cpuUsage()
rssrssMBProcess memory (resident set size) in MB. See process.memoryUsage()
heapheapMBV8 heap used. See process.memoryUsage()
rpsrpsCompleted requests per second.
restimeresTime_msResponse time in ms.
reqbytesreqBytesTotal request size in bytes.
resbytesresBytesTotal response size in bytes.
rxraterxKBsKB received per second
txratetxKBsKB sent per second
numconnnumconnNumber of concurrent connections on the server. See server.getConnections()
evloopevloop_usNode event loop latency in microseconds

Keywords

FAQs

Last updated on 31 Oct 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc