mirror of
https://github.com/BreizhHardware/express-prom-bundle.git
synced 2026-01-18 16:27:28 +01:00
2.0 KiB
2.0 KiB
express prometheus bundle
express middleware with popular prometheus metrics in one bundle.
Internally it uses prom-client. See: https://github.com/siimon/prom-client
Included metrics:
up: normally is just 1nodejs_memory_heap_total_bytesandnodejs_memory_heap_used_byteshttp_request_seconds: http latency histogram labeled withstatus_code
Install
npm install express-prom-bundle
Usage
You MUST call app.use(metricsMiddleware) before the use-ing your middleware,
otherwise those won't count in http_request_seconds histogram
const promBundle = require("express-prom-bundle"),
const metricsMiddleware = promBundle({/* options */ });
app.use(metricsMiddleware);
app.use(/* your middleware */);
app.listen(3000);
- call your endpoints
- see your metrics here: http://localhost:3000/metrics
Options
- prefix: prefix added to every metric name
- whitelist, blacklist: array of strings or regexp specifying which metrics to include/exclude
- buckets: buckets used for
http_request_secondshistogram
Example
setup std. metrics but exclude up-metric:
"use strict";
const express = require("express"),
app = express(),
promBundle = require("express-prom-bundle");
app.use(promBundle({
prefix: "demo_app:something"
}));
app.get("/hello", (req, res) => res.send("ok"));
app.listen(3000);
See an advanced example on github
License
MIT
