concepto · intermedio · 2 min de lectura
Distributed Tracing
El tracing distribuido sigue un request a través de múltiples servicios, registrando cada salto con su duración, permitiendo identificar cuellos de botella en arquitecturas complejas.
No requiere conocimientos previos.
Alcance en breve
Cubre
- Tracing as a concept
No cubre
- implementation details
Supone
- The reader understands relevant fundamentals.
Resumen
En un monolito, un request es un solo proceso: fácil de medir. En microservicios, un request puede tocar 10 servicios distintos. Si un usuario reporta que "la página carga lento", ¿cuál de los 10 servicios es el responsable? El tracing distribuido responde esa pregunta.
Cada request entrante genera un trace ID único que se propaga entre servicios. Cada servicio agrega spans —segmentos con nombre, duración y metadatos—. El trace completo muestra el waterfall: qué servicios se llamaron, en qué orden, cuánto tardó cada uno y dónde está el cuello de botella.
Alcance y supuestos
Cubre distributed tracing, el modelo de traces y spans, y herramientas. Asume familiaridad con microservicios.
Modelo mental
El tracking de un paquete de correo. El paquete pasa por 5 centros de distribución. El tracking number te muestra exactamente en qué centro está, cuándo llegó y cuándo salió. Si el paquete se demora, sabés en qué centro se quedó trabado.
Uso práctico
- ✅ Microservicios, debugging de latencia, optimización de caminos críticos.
- ❌ Monolitos: el tracing intra-proceso alcanza con profiling.
Ejemplo trabajado: trace de una compra
GET /checkout → auth service (5ms) → cart service (12ms) → payment service (450ms) → notification service (8ms). El trace muestra que el payment service es el cuello de botella.
Evidencia
- OpenTelemetry es el estándar. Jaeger y Zipkin fueron los pioneros. Datadog APM y Grafana Tempo son opciones comerciales.
Fuentes citadas
- Wikipedia, Observability (software) (Síntesis, 21-07-2026)