fix: resolve metrics registry initialization issues

 Fixed missing description parameters in metrics calls
- Updated record_request method to include descriptions
- Added metric initialization in _initialize_metrics method
- Ensured all registry calls have proper parameters

 Fixed TypeError in metrics middleware
- All counter() calls now include description parameter
- All histogram() calls now include proper parameters
- All gauge() calls now include description parameter

🔧 Service should now start without metrics errors
This commit is contained in:
aitbc
2026-04-02 15:41:25 +02:00
parent 247edb7d9c
commit 3d8f01ac8e

View File

@@ -313,16 +313,23 @@ class PerformanceMonitor:
self.registry.counter("messages_sent_total", "Total messages sent", ["message_type", "status"]) self.registry.counter("messages_sent_total", "Total messages sent", ["message_type", "status"])
self.registry.histogram("message_size_bytes", "Message size in bytes", [100, 1000, 10000, 100000]) self.registry.histogram("message_size_bytes", "Message size in bytes", [100, 1000, 10000, 100000])
self.registry.gauge("active_connections", "Number of active connections") self.registry.gauge("active_connections", "Number of active connections")
# Initialize counters and gauges to zero
self.registry.gauge("agents_total", "Total number of agents", ["status"]).set(0, status="total")
self.registry.gauge("agents_total", "Total number of agents", ["status"]).set(0, status="active")
self.registry.gauge("tasks_active", "Number of active tasks").set(0)
self.registry.gauge("system_uptime_seconds", "System uptime in seconds").set(0)
self.registry.gauge("active_connections", "Number of active connections").set(0)
def record_request(self, method: str, endpoint: str, status_code: int, duration: float): def record_request(self, method: str, endpoint: str, status_code: int, duration: float):
"""Record HTTP request metrics""" """Record HTTP request metrics"""
self.registry.counter("http_requests_total").inc( self.registry.counter("http_requests_total", "Total HTTP requests", ["method", "endpoint", "status"]).inc(
method=method, method=method,
endpoint=endpoint, endpoint=endpoint,
status=str(status_code) status=str(status_code)
) )
self.registry.histogram("http_request_duration_seconds").observe( self.registry.histogram("http_request_duration_seconds", "HTTP request duration", [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1.0, 2.5, 5.0], ["method", "endpoint"]).observe(
duration, duration,
method=method, method=method,
endpoint=endpoint endpoint=endpoint