Leveraging OpenTelemetry for Distributed Tracing in Optimizely Agent
summary
Optimizely adds distributed tracing to the Go SDK by building an agent wrapper server that emits OpenTelemetry spans, inspects the traceparent header to propagate parent/child relationships, and can export via an OpenTelemetry collector or directly to Jaeger/Zipkin/Tempo. The implementation supports zero‑code auto‑instrumentation for many runtimes, manual SDK instrumentation for Go, HTTP/gRPC transport, configurable sampling, and a config file users edit to choose backend so switching vendors requires no code change.
AI-written summary · about
chapters (6)
- 0:00Introduction and background
- 7:05Why OpenTelemetry was chosen
- 18:03Instrumentation and data collection
- 25:26Collector models explained
- 30:48Agent implementation details
- 32:00Q&A and conclusion
related talks
19mInstrumenting Go Apps With OpenTelemetry
34mOpenTelemetry for Dummies: Instrumenting Go Apps
22mOpenTelemetry – An Observability Framework for Cloud-Native Software
01h 28mUnderstanding Distributed Systems with OpenTelemetry
38mPractical introduction to OpenTelemetry tracing
28mGetting Started with OpenTelemetry
42mObservable Applications Using OpenTelemetry
30mMastering Distributed Tracing with Go
