import { RequestHandler } from "express"; import promBundle from "express-prom-bundle"; import { config } from "../utils/config"; import constants from "../utils/constants"; export const metricsMiddleware: RequestHandler = promBundle({ includeStatusCode: true, includeMethod: true, includePath: true, bypass: (req) => req.path === "/health", autoregister: false, // histogram buckets in ms buckets: config.INVENTORY === "internal" ? constants.INTERNAL_PROMETHEUS_BUCKETS_MS.map((b) => b / 1000) : constants.EXTERNAL_PROMETHEUS_BUCKETS_MS.map((b) => b / 1000), });