Este documento recopila las métricas y prácticas de logging usadas por ModelRouter.
Métricas principales expuestas en /metrics:
modelrouter_requests_total{route,method,status}- Total de requestsmodelrouter_request_latency_seconds{route}- Latencia por endpointmodelrouter_provider_failures_total{provider,reason}- Fallos por proveedormodelrouter_provider_success_total{provider}- Éxitos por proveedormodelrouter_active_streams- Streams activos actuales
Ejemplo de scraping en Prometheus: añade http://<host>:8000/metrics como target.
Los logs se emiten en formato JSON estructurado. Campos relevantes:
timestamp- ISO8601level- INFO / WARNING / ERRORlogger- nombre del logger (ej.api.router)message- mensaje principalrequest_id- ID correlacionado por requestprovider- proveedor implicado (cuando aplica)
Ejemplo de log:
{
"timestamp": "2026-01-09T10:30:45.123Z",
"level": "INFO",
"logger": "api.router",
"message": "Proveedor groq emitió primer chunk",
"request_id": "abc-123-def",
"provider": "groq"
}- En producción, enviar logs a un agregador (ELK/Datadog/CloudWatch).
- Scrapear
/metricscon Prometheus y montar dashboards en Grafana. - Activar alertas en errores de proveedor y latencias altas.