🚀 DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more →
Socket
Book a DemoInstallSign in
Socket

bull-prom

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bull-prom

Provide prometheus metrics for Bull

latest
Source
npmnpm
Version
3.2.1
Version published
Weekly downloads
922
-40.55%
Maintainers
1
Weekly downloads
 
Created
Source

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)

Keywords

prometheus

FAQs

Package last updated on 19 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts