Integrate Kafka Clients with Jaeger for Distributed Tracing and Monitoring
Mar 11, 2021Nacho Munoz

Summary
This post introduces the integration of Kafka clients with Jaeger for distributed tracing using OpenTelemetry. It details intrusive (decorated consumer/producer, interceptors) and non-intrusive (in-process Java agent, out-of-process sidecar/eBPF) tracing methods for Kafka. It then focuses on OpenTelemetry's instrumentation libraries, collector, exporters, and propagators, demonstrating a scenario involving GitHub source connector, ksqlDB, and Jaeger UI to visualize event flow and latency. It also discusses challenges with stateful stream processing and header propagation.