Instrumenting Java with eBPF: TLS, Threads, and OBI (OpenTelemetry eBPF Instrumentation)

Grafana
AI summary

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.