Modern observability for Python
summary
Argues that OpenTelemetry is the practical standard now, showing Python code that creates a TracerProvider, uses a batch span processor with a console exporter (background thread batches sends), and attaches structured attributes to spans. Recommends tracing as the primary signal, metrics for aggregated latency, and sampling (head vs tail) plus retention or offloading big payloads to S3 to control cost. Notes auto-instrumentation often uses monkey‑patching, adds about sub‑millisecond overhead per request, and mentions the commercial/open product Logfire as a ready receiver.
AI-written summary · about
chapters (20)
- 0:00Introduction and background
- 1:10History of observability
- 3:17Standard library logging
- 8:53Introduction to tracing
- 11:21When to use tracing vs logging
- 12:02Introduction to metrics
- 14:53Distributed tracing explained
- 15:14OpenTelemetry overview
- 16:59Setting up OpenTelemetry
- 18:03Cost management in observability
- 19:48Observability platforms
- 20:32Q&A on performance overhead
- 21:15Q&A on resource usage
- 22:41Q&A on endpoint instrumentation
- 23:23Q&A on auto instrumentation
- 24:26Q&A on context managers
- 25:08Q&A on trace structuring
- 26:10Q&A on self-hosting
- 27:12Q&A on beginner setup
- 28:13Q&A on logging's future
related talks
17mEfficient Python Observability with OpenTelemetry
24m"Introduction to OpenTelemetry with Python"
24mObservability and instrumentation via OpenTelemetry
27mDistributed Tracing with OpenTelemetry
43mPractical Introduction to OpenTelemetry Tracing
38mEnhance your Python application observability
23mGetting Started with OpenTelemetry in Python
42mObservable Applications Using OpenTelemetry
