@cs-chatbots/knex-prometheus-exporter

3.0.0 • Public • Published

knex-prometheus-exporter

Build Status

Prometheus exporter for knex

npm i -S knex-prometheus-exporter prom-client

API

knexExporter

Knex exporter

Metrics:

# HELP knex_query_duration_seconds histogram of query responses
# TYPE knex_query_duration_seconds histogram
knex_query_duration_seconds_bucket{le="0.003"} 1
knex_query_duration_seconds_bucket{le="0.03"} 2
knex_query_duration_seconds_bucket{le="0.1"} 2
knex_query_duration_seconds_bucket{le="0.3"} 2
knex_query_duration_seconds_bucket{le="1.5"} 2
knex_query_duration_seconds_bucket{le="10"} 2
knex_query_duration_seconds_bucket{le="+Inf"} 2
knex_query_duration_seconds_sum 0.021
knex_query_duration_seconds_count 2

# HELP knex_query_errors_total counter of query errors with labels: error
# TYPE knex_query_errors_total counter
knex_query_errors_total 0
knex_query_errors_total{error="error message"} 1

Parameters

  • knex Knex knex instance
  • opts Object? options
    • opts.register String? register to use
    • opts.labels Object extra labels (optional, default {})
    • opts.prefix String metric name prefix (optional, default "knex_")
    • opts.queryDurarionName String query duration metric name (histogram) (optional, default "query_duration_seconds")
    • opts.responseTimeBuckets Array<Number> query duration buckets (optional, default [0.003,0.03,0.1,0.3,1.5,10])
    • opts.queryErrorName String query errorr total name (counter) (optional, default "query_errors_total")
    • opts.queryErrorWithErrorLabel Boolean collect err.message as "error" label (optional, default true)

Examples

const promClient = require('prom-client');
const Knex = require('knex');
const knexExporter = require('knex-prometheus-exporter');

const knex = Knex({
 client: 'mysql'
 ...
});
const exporter = knexExporter(knex);

console.log(promClient.register.metrics())
// =>
// # HELP knex_query_duration_seconds histogram of query responses
// # TYPE knex_query_duration_seconds histogram
// knex_query_duration_seconds_bucket{le="0.003"} 1
// knex_query_duration_seconds_bucket{le="0.03"} 2
// knex_query_duration_seconds_bucket{le="0.1"} 2
// knex_query_duration_seconds_bucket{le="0.3"} 2
// knex_query_duration_seconds_bucket{le="1.5"} 2
// knex_query_duration_seconds_bucket{le="10"} 2
// knex_query_duration_seconds_bucket{le="+Inf"} 2
// knex_query_duration_seconds_sum 0.021
// knex_query_duration_seconds_count 2

// # HELP knex_query_errors_total counter of query errors with labels: error
// # TYPE knex_query_errors_total counter
// knex_query_errors_total 0
// knex_query_errors_total{error="error message"} 1

// Unsubscribe:
exporter.off();

Returns Object { off, registry }- off: unscribe from metrics, registry: prom-client registry

Package Sidebar

Install

npm i @cs-chatbots/knex-prometheus-exporter

Weekly Downloads

3

Version

3.0.0

License

MIT

Unpacked Size

19.8 kB

Total Files

10

Last publish

Collaborators

  • vaclavklecanda-ext44263
  • michal_jankovsky
  • janmalcanek-ext44166
  • robertanton-ext43895
  • tomaserben
  • ext54551
  • 4everyoung
  • pavelpalecekcsas