Expose Brakes metrics as Prometheus data

Downloads in past


111.0.05 years ago7 years agoMinified + gzip package size for brakes-prometheus in KB


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


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' });


setInterval(() => {
}, 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'
  1. breaker_success_total, 'Resolver circuit breaker success count'
  1. breaker_failure_total, 'Resolver circuit breaker failure count'
  1. breaker_timeout_total, 'Resolver circuit breaker timeout count'
  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'
  1. breaker_duration_buckets_seconds: 'Resolver circuit breaker duration
buckets' (`Histogram`)