import express from 'express'; import client from 'prom-client'; const app = express(); const collectDefaultMetrics = client.collectDefaultMetrics; collectDefaultMetrics({ prefix: 'thetiptop_' }); // Exemple de compteur HTTP const httpRequestCounter = new client.Counter({ name: 'thetiptop_http_requests_total', help: 'Nombre total de requêtes HTTP', labelNames: ['method', 'route', 'status_code'] }); app.use((req, res, next) => { res.on('finish', () => { httpRequestCounter.inc({ method: req.method, route: req.route ? req.route.path : req.path, status_code: res.statusCode }); }); next(); }); app.get('/metrics', async (req, res) => { res.set('Content-Type', client.register.contentType); res.end(await client.register.metrics()); }); app.listen(4000, () => console.log('Backend en écoute sur le port 4000'));