Session

The Pythonic Guide to Observability: OpenTelemetry without the Magic

## Abstract
OpenTelemetry often feels like a black box that we plug into Django, FastAPI, or background workers and hope it works. But for Python developers, understanding how telemetry interacts with our code is the key to building systems that are easier to debug, operate, and improve together.

In this talk, we will bridge the gap between zero-code instrumentation and manual tracing. We will explore how OpenTelemetry uses Python’s features, including context variables, decorators, context managers, and import-time instrumentation, to track requests across synchronous and asynchronous boundaries.

We will then move from mechanics to design: how to create meaningful spans, why traces sometimes break in asyncio applications, and how sampling helps teams keep the most useful signals without collecting everything. By the end, attendees will have a practical mental model for using observability not only as a debugging tool, but as a shared source of truth for collaborative engineering.

## Full Description
This session is for Python developers who have used, seen, or heard about OpenTelemetry, but want to understand what is happening beneath auto-instrumentation. The focus is vendor-neutral and practical, using open-source examples that apply to common Python services and scripts.

### 1. Beyond the Auto-Instrumentor, 8 minutes
When opentelemetry-instrument is helpful, and when it is not enough.
How to use manual spans to describe business logic clearly.
Using decorators and context managers to make instrumentation feel natural in Python.

### 2. The Engine Under the Hood, 10 minutes
How OpenTelemetry tracks execution state with contextvars.
Why context propagation matters for asyncio, background tasks, and concurrent workloads.
Common reasons traces “break,” and how to diagnose missing parent-child relationships.

### 3. Strategic Observability for Teams, 7 minutes
Why tracing everything can become expensive and noisy.
Practical use of trace ID ratio sampling and custom sampling logic.
How teams can keep useful signals, such as errors and high-latency requests, while dropping low-value data.
Q&A, 5 minutes

## Takeaways

* How to manually instrument Python code for deeper visibility.
* How OpenTelemetry propagates context in modern Python applications.
* How to recognize and fix common async tracing problems.
* How sampling choices affect cost, signal quality, and team collaboration.
* A clearer mental model for making observability understandable across development and operations.

Yoshi Yamaguchi

Staff Developer Advocate at Grafana Labs

Yamanashi, Japan

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top