brakes-prometheus

Expose Brakes metrics as Prometheus data

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
brakes-prometheus
1.0.04 years ago6 years agoMinified + gzip package size for brakes-prometheus in KB

Readme

brakes-prometheus
Expose Brakes metrics as Prometheus data

!NPM Versionnpm-imagenpm-url !Build Statustravis-imagetravis-url
Greenkeeper badge !Dependency Statusdavid-imagedavid-url !Peer Dependency Statusdavid-peer-imagedavid-peer-url !Dev Dependency Statusdavid-dev-imagedavid-dev-url

Usage

Add event listeners to a brakesbrakes-url instance, using prom-client. This module has a peer dependency on prom-clientprom-client-url. Currently, version 10 is supported.
import Brake from 'brakes';
import addEventListeners from 'brakes-prometheus';
import { register as prometheusRegister } from 'prom-client';

const myBrake = new Brake(() => Promise.resolve(), { name: 'some name' });

addEventListeners(myBrake);

setInterval(() => {
    console.log(prometheusRegister.metrics());
}, 500);

Naming metrics

You can supply an additional options object to set a prefix for the metric names.
addEventListeners(myBrake, { prefix: 'my_application_prefix_' });

// provides "my_application_prefix_breaker_execute_total" and so on

Metrics exposed

This module exposes 9 metrics, all using the name of the Brake as the label:
  1. breaker_execute_total, 'Resolver circuit breaker execute count'
(`Counter`)
  1. breaker_success_total, 'Resolver circuit breaker success count'
(`Counter`)
  1. breaker_failure_total, 'Resolver circuit breaker failure count'
(`Counter`)
  1. breaker_timeout_total, 'Resolver circuit breaker timeout count'
(`Counter`)
  1. breaker_reject_total, 'Resolver circuit breaker reject count' (Counter)
  2. breaker_circuit_closed_total, 'Resolver circuit breaker circuit closed
count' (`Counter`)
  1. breaker_circuit_opened_total, 'Resolver circuit breaker circuit opened
count' (`Counter`)
  1. breaker_duration_seconds: 'Resolver circuit breaker duration summary'
(`Summary`)
  1. breaker_duration_buckets_seconds: 'Resolver circuit breaker duration
buckets' (`Histogram`)