// the find
grafana/beyla
eBPF-based autoinstrumentation of web applications and network metrics
Beyla is Grafana's eBPF-based auto-instrumentation agent: it attaches to compiled binaries and the kernel networking layer to emit OpenTelemetry traces and RED metrics for HTTP/gRPC/SQL/Redis/Kafka/MongoDB traffic, with no code changes or SDKs. It's aimed at platform/SRE teams who want baseline observability across polyglot services (Go, Java, .NET, Node, Python, Ruby, Rust) without instrumenting each app individually.
Genuinely zero-code — eBPF probes work at the binary/syscall level, so it covers services you can't or don't want to touch, including ones written in languages with no good OTel SDK story. Protocol coverage is wide out of the box (HTTP/2, gRPC, SQL, Redis, Kafka, MongoDB) and output is vendor-neutral OTLP/Prometheus, not tied to Grafana Cloud. It ships concrete Kubernetes examples for both sidecar and unprivileged daemonset deployment, which matters a lot for something that normally wants root.
The README opens with a notice that Beyla has been donated to CNCF and renamed OpenTelemetry eBPF Instrumentation (OBI) — active development has moved upstream and this repo is now a vendoring/consumer of that project. Adopting Beyla today means adopting something mid-transition, not a stable long-term repo name. It needs a fairly recent kernel (5.8+ with BTF) and either sudo or SYS_ADMIN capability, which is a hard sell in locked-down clusters. Deep Go instrumentation is limited to a specific allowlist of libraries (net/http, Gin, Gorilla Mux, grpc-go, go-redis v9, two Kafka clients) rather than arbitrary code, and HTTPS/TLS visibility for non-Go languages depends on libssl3 hooking, so coverage claims need to be checked against your actual stack before relying on it.