OpenTracing is a vendor-neutral API specification for distributed tracing. It defined a small set of concepts — Tracer, Span, SpanContext, tags, logs, baggage and references — so that a library could be instrumented once and work with any compatible backend, rather than being tied to whichever tracing vendor an application happened to use. It was a CNCF project, and it solved a genuine problem: before it, instrumentation for Zipkin, a commercial agent and a home-grown tracer shared nothing at all.
It is important to be direct about its status. OpenTracing merged with OpenCensus to form OpenTelemetry, was archived by the CNCF, and receives no further development. New instrumentation should be written against OpenTelemetry. That does not make this material irrelevant — a large amount of production code, and many long-lived internal libraries, still call the OpenTracing API today, and those estates need people who can operate them and move them forward safely.
So this course is framed around that reality. It teaches the OpenTracing model properly, because you cannot migrate code whose semantics you do not understand, and because the concepts carried through almost unchanged: OpenTracing tags became OpenTelemetry attributes, span logs became span events, and baggage survived by name. It then treats migration as the main event — using the OpenTelemetry shim so shimmed and native services emit one connected trace, running mixed instrumentation through a phased cutover, reconciling propagation formats, and decommissioning the old path once nothing depends on it.
Why this skill matters now
Archived does not mean absent. OpenTracing had years of adoption before the merger, and the code that adopted it is still running — in payment systems, in internal RPC frameworks, in shared libraries maintained by teams that have since moved on. Somebody has to keep those traces flowing while the estate moves to a supported standard.
That migration is the actual demand. It is not a rewrite you can do in one release: services deploy independently, and during the transition a single request will cross both shimmed and native instrumentation. Getting one connected trace out of that mixture — correct propagator configuration, consistent attribute names, no orphan spans at the boundary — is fiddly, high-risk work, and it is exactly what organisations bring an instructor in for.
There is a second reason to learn the model rather than skip it. OpenTelemetry inherited most of its tracing semantics from OpenTracing. Engineers who understand spans, references, scope and propagation from the original specification read the newer one faster and make better instrumentation decisions than engineers who only ever copied an auto-instrumentation snippet.