brakes-prometheus
Expose Brakes metrics as Prometheus data
!NPM Versionnpm-imagenpm-url !Build Statustravis-imagetravis-url
Usage
Add event listeners to abrakes
brakes-url instance, using prom-client
.
This module has a peer dependency on prom-client
prom-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 theBrake
as the label:breaker_execute_total
, 'Resolver circuit breaker execute count'
(`Counter`)
breaker_success_total
, 'Resolver circuit breaker success count'
(`Counter`)
breaker_failure_total
, 'Resolver circuit breaker failure count'
(`Counter`)
breaker_timeout_total
, 'Resolver circuit breaker timeout count'
(`Counter`)
breaker_reject_total
, 'Resolver circuit breaker reject count' (Counter
)breaker_circuit_closed_total
, 'Resolver circuit breaker circuit closed
count' (`Counter`)
breaker_circuit_opened_total
, 'Resolver circuit breaker circuit opened
count' (`Counter`)
breaker_duration_seconds
: 'Resolver circuit breaker duration summary'
(`Summary`)
breaker_duration_buckets_seconds
: 'Resolver circuit breaker duration
buckets' (`Histogram`)