Petr Volobuev | Technology RadarPetr Volobuev | Technology Radar
Using

Two years of running Zipkin wore me down with its flakiness, so I decided to give Jaeger another test drive — and this time I'd pick it without hesitation. The conveniences I noted two years ago are still there: the UI and the dependency graphs remain best in class. Most importantly, it now has native OTLP support, so the reason for the previous hold is gone.

Since all our telemetry already travels over OTLP, swapping Zipkin for Jaeger is just a change of receiver: no services to rework, the switch went through painlessly.

Dropped

A shame, but Jaeger goes on the shelf. We've already adopted OTLP as our telemetry delivery standard, and Jaeger has no native support for it — it could only accept our traces through a separate Collector, and dragging in an extra component just to convert a protocol is not something I'm eager to do.

I liked its UI and dependency graphs better, but our tracing will ride on Zipkin — that one gets along with OpenTelemetry out of the box.

Assessing

Jaeger is an open-source distributed tracing system: it collects and stores traces (chains of spans per request) and provides a UI/API, plus some rather fun dependency graphs. It can practically sketch your system's architecture for you based on the traces alone.