yurishkuro / opentracing-tutorial

A collection of tutorials for the OpenTracing API
Apache License 2.0
1.57k stars 407 forks source link

OpenTracing Tutorials

A collection of tutorials for the OpenTracing API (https://opentracing.io).

Update (Dec 8 2022): Since OpenTracing has been officially retired, I have archived this repository. The tutorials here are still useful when learning about distributed tracing, but using the OpenTelemetry API should be preferred over the OpenTracing API for new applications.

The blog post "Migrating from Jaeger client to OpenTelemetry SDK" can also be used as a reference on how to use the OpenTelemetry SDK as an OpenTracing tracer implementation.

Tutorials by Language

Also check out examples from the book Mastering Distributed Tracing:

Prerequisites

The tutorials are using CNCF Jaeger (https://jaegertracing.io) as the tracing backend. For this tutorial, we'll start Jaeger via Docker with the default in-memory storage, exposing only the required ports. We'll also enable "debug" level logging:

docker run \
  --rm \
  -p 6831:6831/udp \
  -p 6832:6832/udp \
  -p 16686:16686 \
  jaegertracing/all-in-one:1.7 \
  --log-level=debug

Alternatively, Jaeger can be downloaded as a binary called all-in-one for different platforms from https://jaegertracing.io/download/.

Once the backend starts, the Jaeger UI will be accessible at http://localhost:16686.