UNPKG

@hemantwasthere/monitoring-sdk

Version:

Centralized monitoring SDK for Node.js applications with Prometheus, Loki, and Grafana integration

19 lines (18 loc) 716 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.expressMetricsMiddleware = expressMetricsMiddleware; const metrics_1 = require("../metrics"); function expressMetricsMiddleware() { const metricsService = metrics_1.MetricsService.getInstance(); return (req, res, next) => { const startTime = Date.now(); const originalSend = res.send; res.send = function (body) { const duration = Date.now() - startTime; const route = req.route?.path || req.path; metricsService.recordHttpRequest(req.method, route, res.statusCode, duration); return originalSend.call(this, body); }; next(); }; }