const client = require('prom-client'); // Create a Registry const register = new client.Registry(); // Add default metrics (CPU, memory, etc.) client.collectDefaultMetrics({ register }); // Custom metrics const httpRequestDuration = new client.Histogram({ name: 'http_request_duration_seconds', help: 'Duration of HTTP requests in seconds', labelNames: ['method', 'route', 'status_code'], buckets: [0.01, 0.05, 0.1, 0.5, 1, 2, 5], }); register.registerMetric(httpRequestDuration); const httpRequestTotal = new client.Counter({ name: 'http_requests_total', help: 'Total number of HTTP requests', labelNames: ['method', 'route', 'status_code'], }); register.registerMetric(httpRequestTotal); const activeLoads = new client.Gauge({ name: 'freightdesk_active_loads', help: 'Number of active (non-settled) loads', }); register.registerMetric(activeLoads); const totalCommission = new client.Gauge({ name: 'freightdesk_total_commission', help: 'Total commission earned (INR)', }); register.registerMetric(totalCommission); module.exports = { register, httpRequestDuration, httpRequestTotal, activeLoads, totalCommission };