3.2.1 • Published 3 years ago

bull-prom v3.2.1

Weekly downloads
648
License
MIT
Repository
github
Last release
3 years ago

Bull Prom

npm version

Provides Prometheus metrics for Bull

Metrics

Metrictypedescription
jobs_completed_totalcounterTotal number of completed jobs
jobs_active_totalcounterTotal number of active jobs (currently being processed)
jobs_delayed_totalcounterTotal number of jobs that will run in the future
jobs_failed_totalcounterTotal number of failed jobs
jobs_waiting_totalcounterTotal number of jobs waiting to be processed
jobs_duration_millisecondssummaryProcessing time for completed/failed
jobs_waiting_duration_millisecondssummaryWaiting time for completed/failed
jobs_attemptssummaryProcessing time for completed/failed/jobs

IMPORTANT: If you are using this library to track job duration metrics for a queue for multiple consumers you will need to listen to the global:completed event. Otherwise this library will not record job duration metrics. To listen to this event instead of the completed event you'll need to set the init paremeter useGlobal to true.

Usage

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
  useGlobal: false, // optional, default to false
});

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

API

init(options)

Initialize

options:

  • promClient (optional): prom client instance
  • interval (optional, default 60000): interval in ms to fetch the Bull statistic
  • useGlobal (optional, default false)

start(queue)

Start running and fetching the data from Bull based on interval with the given Bull queue.

Returns a queue metrics object which includes the following methods:

  • stop(): stops monitoring the queue metrics
  • remove(): removes metrics from prometheus

Contributors

  • @mjgp2
  • @robbiet480
  • @TotallyNotElite
  • @ejhayes

License

MIT © Pawel Badenski

This library is largely derived from kue-prom (MIT © Budi Irawan)

3.2.1

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.0.0

4 years ago

2.1.0

4 years ago

2.0.0

5 years ago

1.1.0

5 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago