Devconf.US

Auto-Instrumenting Go Libraries for Tracing with eBPF and OpenTelemetry
2024-08-14 , East Balcony (capacity 80)

Context propagation is critical to tracing requests through applications, and instrumenting user space code to implement propagation often requires manual code changes. While the runtime of certain languages such as Python and Java allow for agents to automatically instrument common libraries without any code changes, other compiled languages like Go do not natively have this ability.

However, with eBPF we are able to achieve this in Go without any recompilation or even restarting the user process! This talk will show our approach to auto-instrumentation for Go with OpenTelemetry tracing. We will discuss the technical details of our approach, as well as roadblocks and issues we have encountered alongside alternatives and future plans for this open source project.

See also: Slides (1.4 MB)

Software Engineer at Google working on GCP, OpenTelemetry, Kubernetes. Author of "The Kubernetes Operator Framework Book"

Tyler Yahn is a Senior Software Engineer at Splunk and a Maintainer of the OpenTelemetry Go project. He has a background in designing, building, and running distributed systems. Currently, he devotes his time to building and improving OpenTelemetry.