// the find
open-telemetry/opentelemetry-go-instrumentation
OpenTelemetry Auto Instrumentation using eBPF
Zero-code OpenTelemetry tracing for Go binaries using eBPF — attach it to a running process and get traces without touching the source. It runs as a sidecar/DaemonSet that reads Go runtime internals directly from memory via uprobes. The audience is platform/infra teams who need observability on Go services they don't own or can't recompile.
eBPF-based approach means genuinely zero source changes — works on already-compiled binaries. Uses cilium/ebpf (well-maintained Go eBPF library) rather than rolling their own kernel interface. Covers the libraries people actually care about: net/http, gRPC, database/sql, several popular frameworks. Ships an offset-generation workflow so it can handle struct layout differences across Go versions instead of hardcoding offsets.
Linux-only — no macOS, no Windows, the Docker workaround for dev is friction. arm64 is 'supported' but has no automated test coverage, so you're on your own. Explicitly marked work-in-progress, and the library coverage list in COMPATIBILITY.md is short — if your service uses anything non-standard, you're likely getting incomplete traces. Runs as a privileged container with CAP_SYS_ADMIN or equivalent, which many security-conscious shops will reject without a policy exception.