1.0.11 • Published 10 years ago
node-metrics v1.0.11
node-metrics
Easily forward a node app's basic health metrics to a local statsd instance.
Development
Install dependencies:
npm installRun tests:
npm testUsage
Install
npm install node-metricsConfigure
Create a Lynx instance:
var Lynx = require('lynx'), dgram = require('dgram'); var metrics = new Lynx('localhost', 8125, { socket: dgram.createSocket('udp4'), scope: 'YOUR_NAMESPACE' });
Collecting data!
node-metrics provides middleware and library functions for collecting basic health metrics.
Use an individual gauge
require('node-metrics').nodeMemoryGauge(metrics);Or for node connections:
require('node-metrics').nodeConnectionsGauge(metrics, server);Where server is an http server instance (as supplied by app.listen() ).
Use all gauges
To configure all gauges at once, do:
require('node-metrics').allGauges(metrics, server);Use middleware
Ensure you append your Lynx instance to the req object as req.metrics. Then append middleware like:
app.use(require('node-metrics').requestStatsMiddleware);Note that for requestStatsByRouteMiddleware, stats will only be logged for a route if req.route is present. Further, your route names will be cleaned of any characters that might interfere with stasd's protocol.