Complete implementation ready for Coolify: - Node.js 22 + Fastify + socket.io backend - PostgreSQL 16 + Redis 7 services - Docker Compose configuration - Deployment scripts and documentation Co-Authored-By: Paperclip <noreply@paperclip.ing>
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
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],
|
|
});
|