5 exercises on OpenTelemetry core concepts — spans, context propagation, exporters, Resources, and Baggage.
0 / 5 completed
1 / 5
What is a Span in OpenTelemetry?
Span: every operation you want to observe (HTTP call, DB query, function) becomes a span. Spans have a start/end time, a unique span ID, a parent span ID (if nested), and key-value attributes. A tree of spans forms a trace.
2 / 5
What is context propagation in distributed tracing?
Context propagation: the W3C Trace Context standard defines traceparent and tracestate headers. The calling service injects them; the receiving service extracts them and creates child spans under the same trace ID, forming the full distributed trace.
3 / 5
What does an OTLP exporter do?
OTLP (OpenTelemetry Protocol): the standard wire format for OTel data, over gRPC or HTTP/JSON. Configuring an OTLP exporter in your SDK means your app sends data to a Collector or directly to backends like Jaeger, Grafana Tempo, or Honeycomb.
4 / 5
What is an OTel Resource?
Resource: defined once at SDK initialisation, a Resource attaches stable metadata to all telemetry from a process — e.g. service.name="checkout", service.version="1.2.3", cloud.region="eu-west-1". Backends use it to filter and group signals.
5 / 5
What is Baggage in OpenTelemetry?
Baggage: like trace context, Baggage is propagated via headers. Unlike span attributes (visible only in that span's backend record), Baggage values are accessible at runtime in any downstream service — useful for passing a user ID or feature flag through a chain.