Package Exports
- express-prom-bundle
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (express-prom-bundle) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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-bundleUsage
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
