import { Registry, Gauge, Counter, Histogram } from 'prom-client'; export const register = new Registry(); // Active WebSocket connections export const wsConnectionsGauge = new Gauge({ name: 'agenthub_ws_connections_active', help: 'Number of active WebSocket connections', registers: [register], }); // Total messages sent export const messagesSentCounter = new Counter({ name: 'agenthub_messages_sent_total', help: 'Total number of messages sent', registers: [register], }); // Message send latency (p50, p99) export const messageSendLatencyHistogram = new Histogram({ name: 'agenthub_message_send_latency_seconds', help: 'Message send latency in seconds', buckets: [0.001, 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5], registers: [register], }); // HTTP request duration export const httpRequestDurationHistogram = new Histogram({ name: 'agenthub_http_request_duration_seconds', help: 'HTTP request duration in seconds', labelNames: ['method', 'route', 'status'], buckets: [0.001, 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1], registers: [register], });