Files
trade-drift-dlob/src/core/middleware.ts
2024-08-05 14:29:11 +10:00

33 lines
760 B
TypeScript

import { Request, Response } from 'express';
import responseTime = require('response-time');
import {
endpointResponseTimeHistogram,
responseStatusCounter,
} from './metrics';
import { MEASURED_ENDPOINTS } from '../utils/constants';
export const handleResponseTime = (
measuredEndpoints: string[] = MEASURED_ENDPOINTS
) => {
return responseTime((req: Request, res: Response, time: number) => {
const endpoint = req.path;
if (!measuredEndpoints.includes(endpoint)) {
return;
}
//if (endpoint === '/health' || req.url === '/') {
// return;
//}
responseStatusCounter.add(1, {
endpoint,
status: res.statusCode,
});
const responseTimeMs = time;
endpointResponseTimeHistogram.record(responseTimeMs, {
endpoint,
});
});
};