Contexto auditado
T3 Connect emite spans HTTP, endpoint y DB; comparte un dataset entre Worker, Mobile y clientes, usa tokens de ingest separados y conserva trace correlation en errores. Referencias: relay observability, observability.ts y relay tracing.
Brecha actual
El commit 967f4e5610f631bac9e4b9e69b07d956185491ca añade logs estructurados y devuelve X-Request-ID, pero no hay spans distribuidos Mobile → Relay → connector → Hermes, métricas, trace ID estable en errores, exporter, dashboards ni alertas. Diagnosticar “se quedó conectando”, backpressure, un stream cortado o una DB lenta requiere correlación manual entre logs de máquinas distintas.
Propuesta
- Instrumentar REST, upgrade WebSocket, conexión, route/enqueue, request/stream terminal, store queries, reconnect y Hermes forwarding.
- Propagar W3C trace context mediante metadata de frames permitida; no copiar headers arbitrarios del cliente.
- Devolver trace ID en errores estructurados y mostrar un “diagnostic ID” copiable en Mobile.
- Añadir métricas de conexiones por role, reconnects, auth failures, pending/queue depth, dropped frames, TTL expirations, latencia, bytes, DB pool y status Hermes.
- Definir cardinalidad: agent/device/thread solo cuando sea necesario y hashed/redacted; nunca tokens, códigos, bodies, prompts ni Authorization.
- Usar credenciales de ingest separadas y mínimas para Relay, Mobile y connector.
- Crear dashboards y alertas para disponibilidad, error rate, p95/p99, saturation/backpressure, DB y reconnect storms.
- Documentar sampling, retention y un runbook de incidente.
Criterios de aceptación
- Una operación completa se puede seguir con un trace ID a través de las cuatro capas.
- Errores de auth no registran credenciales ni material DPoP.
- Las métricas detectan saturación antes de perder frames y no tienen cardinalidad sin cota.
- La caída del exporter nunca rompe tráfico de usuario.
- Hay tests de propagación/redacción y un smoke test del exporter.
- El dashboard distingue fallo de Mobile, Relay, connector, Hermes y PostgreSQL.
Relacionado con la superficie operativa de #30, pero enfocado en telemetría del Relay.
Contexto auditado
T3 Connect emite spans HTTP, endpoint y DB; comparte un dataset entre Worker, Mobile y clientes, usa tokens de ingest separados y conserva trace correlation en errores. Referencias: relay observability, observability.ts y relay tracing.
Brecha actual
El commit
967f4e5610f631bac9e4b9e69b07d956185491caañade logs estructurados y devuelveX-Request-ID, pero no hay spans distribuidos Mobile → Relay → connector → Hermes, métricas, trace ID estable en errores, exporter, dashboards ni alertas. Diagnosticar “se quedó conectando”, backpressure, un stream cortado o una DB lenta requiere correlación manual entre logs de máquinas distintas.Propuesta
Criterios de aceptación
Relacionado con la superficie operativa de #30, pero enfocado en telemetría del Relay.