2.0.0 • Published 7 years ago

prometheus-plugin-eventloop-stats v2.0.0

Weekly downloads
7
License
UNLICENSE
Repository
gitlab
Last release
7 years ago

prometheus-plugin-eventloop-stats

Node.js prometheus client plugin for collecting eventloop statistics.

build status coverage report

Installation

npm i -S prometheus-plugin-eventloop-stats

Requirements

  • >=prom-client-4.0.0 npm module (installed as peer dependency). If your project depends on previous version of client this plugin might not work.
  • >=node-4.0.0 because this module uses ES6 syntax

Metric list

  • Lag of event loop in seconds
    • type: 'Gauge'
    • name: 'nodejs_eventloop_lag_seconds'
    • labels: []

Usage

Simple

const client = require('prom-client');
const eventloopPlugin = require('prometheus-plugin-eventloop-stats');

// start metrics collection
eventloopPlugin.init().start();

// log metrics to console
console.log(client.register.metrics());

// stop metrics collection
eventloopPlugin.stop();

// stop and clear metrics register
eventloopPlugin.reset();

Override metric defaults

const client = require('prom-client');
const eventloopPlugin = require('prometheus-plugin-eventloop-stats');
const override = {
  'metric_name': { // provide default metric name to override it's params
    type: 'Counter', // could be changed, but it's not recommended
    name: 'my_metric_name', // name could be changed
    description: 'My custom description', // description could be changed
    labelValues: { // additional labels
      customLabel: 'hello', // custom labels could be added
      customFnLabel: () => { return new Date() } // if it's a function, it will be called to get label value in runtime
    }
  }
};
// start metrics collection
eventloopPlugin.init(override).start(); // pass override object to init function

// log metrics to console
console.log(client.register.metrics());

// stop metrics collection
eventloopPlugin.stop();

// stop and clear metrics register
eventloopPlugin.reset();