librato-node-count v1.0.1
librato-node
librato-node is a Node.js client for Librato Metrics (http://metrics.librato.com/)
Getting Started
Install
$ npm install librato-nodeSetup
Once librato.start is called, a worker will send aggregated stats to librato once every 60 seconds.
var librato = require('librato-node');
librato.configure({email: 'foo@example.com', token: 'ABC123'});
librato.start();
process.once('SIGINT', function() {
  librato.stop(); // stop optionally takes a callback
});Increment
Use librato.increment to track counts in librato.  On each flush, the incremented total for that period will be sent.
var librato = require('librato-node');
librato.increment('foo');Timing
Use librato.timing to track durations in librato.
On each flush, the library sends a count, sum, min, max, and sum_squares metric for that period
so librato can accurately display multi-sample measurements.
var librato = require('librato-node');
librato.timing('foo', 500);Arbitrary measurements
You can also send arbitrary measurements to librato. For example:
var librato = require('librato-node');
librato.measure('bar', 3829);(This actually works exactly the same way as librato.timing, but sometimes the measurements you are sending aren't time durations!)
Express
librato-node includes Express middleware to log the request count and response times for your app. It also works in other Connect-based apps.
var express = require('express');
var librato = require('librato-node');
var app = express();
app.use(librato.middleware());The key names the middleware uses are configurable by passing an options hash.
librato.middleware({requestCountKey: 'myRequestCount', responseTimeKey: 'myResponseTime'});Contributing
$ git clone https://github.com/goodeggs/librato-node && cd librato-node
$ npm install
$ npm testHistory
librato-node is largely based off of Librato's own librato-rails. Visit that repository if you're running Ruby or for more information on Librato Metrics in general.