import { Router, NextFunction, Request, Response } from "express"; import createError from 'http-errors'; import { register } from 'prom-client'; import { createLogger } from '../lib/logger'; const logger = createLogger("server:metrics"); export const metricsRouter = Router(); metricsRouter.get('/', async (req:Request, res:Response, next:NextFunction) => { // ne mogu dopustiti da prometheus client sruši server try { logger(`⚡️[server]: GET /metrics`); res.set('Content-Type', register.contentType); res.end(await register.metrics()); } catch(ex:any) { next(createError(500, (ex as Error).message)); } });