Distributed Tracing with OpenTelemetry and Jaeger
<p>Distributed systems don't fail politely — a slow checkout, a stuck API call, or a mystery timeout can be hiding anywhere across a chain of a dozen services, and logs and metrics alone can't point to which one. This project follows a platform engineer instrumenting a real microservices application with OpenTelemetry end to end: core tracing concepts (traces, spans, span context), auto-instrumentation versus hand-written spans, propagating trace context across HTTP and gRPC service boundaries, standing up an OpenTelemetry Collector pipeline, and using Jaeger's waterfall view to track down and fix an actual production slowdown — plus how to keep tracing affordable at scale with head-based and tail-based sampling.</p>
Tools: opentelemetry, jaeger, distributed tracing, microservices