Skip to content

michael-donat/uw-lib-prometheus.js

 
 

Repository files navigation

uw-lib-prometheus.js

A wrapper around prom-client.

Build

Install

npm install --save uw-lib-prometheus.js

Use

const prometheus = require('uw-lib-prometheus.js')();

prometheus.newGauge('name', 'help').set(10);

Quick express example is available in examples directory.

API

Prometheus.constructor(string prefix) if prefix provided, it will prefix ;) each metric name.

The new* methods are just decorators for prom-client metric objects and are responsible for some dupe vaidation and making sure metric objects are added into registry.

Prometheus.newGauge(string name, string help, string[] labels) creates new Gauge.

Prometheus.newHistogram(string name, string help, string[] labels, {buckets: []}) creates new Histogram.

Prometheus.metric(string name) returns previously created metric by name.

Middleware

Prometheus.middleware() returns a factory for middleware handlers. Following handlers are available:

report() - dumps plain text metrics for Prometheus server to scrape. requestDuration(string|Histogram histogram) - records request duration in seconds. heapUsage(string|Gauge used, string|Gauge total) - records used and total heap in bytes.

About

A wrapper around prom-client.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.3%
  • Makefile 0.7%