1.0.0 • Published 7 years ago
brakes-prometheus v1.0.0
brakes-prometheus
Expose Brakes metrics as Prometheus data
Usage
Add event listeners to a brakes instance, using prom-client.
This module has a peer dependency on prom-client.
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 onMetrics exposed
This module exposes 9 metrics, all using the name of the Brake 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)