Provides Prometheus metrics for Bull
Metric | type | description |
---|---|---|
jobs_completed_total | counter | Total number of completed jobs |
jobs_duration_milliseconds | summary | Processing time for completed jobs |
jobs_active_total | counter | Total number of active jobs (currently being processed) |
jobs_delayed_total | counter | Total number of jobs that will run in the future |
jobs_failed_total | counter | Total number of failed jobs |
jobs_waiting_total | counter | Total number of jobs waiting to be processed |
import Queue from 'bull';
import promClient from 'prom-client';
import * as bullProm from 'bull-prom';
const queue = new Queue('myQueue'...);
const bullMetric = bullProm.init({
promClient, // optional, it will use internal prom client if it is not given
interval: 1000, // optional, in ms, default to 60000
});
const started = bullMetric.start(queue);
// Optional
started.stop();
// Metrics result in Prometheus
// jobs_waiting_total{queue_name="myQueue", queue_prefix="default"} 0
// jobs_active_total{queue_name="myQueue", queue_prefix="default"} 0
// jobs_complete_total{queue_name="myQueue", queue_prefix="default"} 0
// jobs_failed_total{queue_name="myQueue", queue_prefix="default"} 0
// jobs_delayed_total{queue_name="myQueue", queue_prefix="default"} 0
Initialize
options:
- promClient (optional): prom client instance
- interval (optional, default 60000): interval in ms to fetch the Bull statistic
Start running and fetching the data from Bull based on interval with the given Bull queue.
Returns a optional function stop()
which will stop monitoring of the queue if called.
@mjgp2
@robbiet480
@TotallyNotElite
MIT © Pawel Badenski
This library is largely derived from kue-prom (MIT © Budi Irawan)