node package manager

oc-statsd

oc-statsd Build Status

Greenkeeper badge

OpenComponents plugin for interacting with StatsD inside OC components.

Requirements:

  • Node version: min: 6
  • OC registry
  • StatsD server

Install

npm i oc-statsd --save

Registry setup

More info about integrating OC plugins: here

...
const registry = oc.registry(configuration);
 
registry.register({
  name: 'statsd',
  register: require('oc-statsd'),
  options: {
    host: 'statsd.hosts.com',
    prefix: 'oc-registry.prod.vm12345',
    port: 8125,
    debug: false
  }
}, (err) => {
  if(err){
    console.log('plugin initialisation failed:', err);
  } else {
    console.log('statsd now available');
  }
});
 
...
 
registry.start(callback);

Using it inside components

Example for a components' server.js:

 
module.exports.data = (context, callback) => {
 
  const before = new Date();
  const stats = context.plugins.statsd('mycomponent.doSomething');
 
  doSomething(() => {
    ...
    stats.timing('something.happened', new Date() - before);
    callback(null, { ... });
  });
};

API

Api for plugin setup:

parameter type mandatory description
debug boolean no Debug mode
host string yes The statsd host
port number no Default 8152, the statsd port
prefix string yes The statsd prefix

Api for plugin usage

The plugin name is declared when initialising a plugin. Following assumes statsd is the designated name.

context.plugins.statsd(namespace)

Gets instance of statsd client in the supplied namespace.

Contributing

Yes please. Open an issue first.

License

MIT