Instrumenting Java with eBPF: TLS, Threads, and OBI (OpenTelemetry eBPF Instrumentation)
Java Ebpf Opentelemetry Observability Grafana Grafana beyla Obi Java instrumentation Tls Distributed tracing Kubernetes Cloud Native
This GrafanaCON talk explains how Grafana Beyla (donated to OpenTelemetry as OBI) solves the challenging problem of instrumenting Java with eBPF. It covers why Java resists kernel-level instrumentation (dynamic compilation, thread pools, Java's TLS stack), and presents a technical solution using a dynamically-injected Java agent that instruments TLS and thread context without application changes. Real-world examples span Spring Boot, Quarkus, AWS RDS Postgres, and MSK Kafka over TLS. The talk is for Java developers, SREs, and platform engineers implementing observability.