Instrumenting Java with eBPF: TLS, Threads, and OBI (OpenTelemetry eBPF Instrumentation)
About this talk
Instrumenting Java with eBPF has long been a hard problem — dynamically compiled JVM code, thread pools, and Java's own TLS stack all block standard eBPF uprobes. This GrafanaCON talk shows exactly how Grafana Beyla (now donated to OpenTelemetry as OBI) solves it.
Nikola Grcevski (Grafana Labs) and Endre Sara (Causely) walk through why Java resists kernel-level instrumentation, then explain the technical breakthrough that makes it work: a tiny, dynamically-injected Java agent that instruments only TLS and thread context — no application code changes required. A key insight is using encrypted buffer bytes as a lookup key to bridge Java's SSL engine with the underlying socket, resolving the async gap in frameworks like Netty. Endre shares real-world examples across Spring Boot, managed Postgres on AWS RDS, MSK Kafka over TLS, and Quarkus. The talk closes with an honest comparison of eBPF vs. the Java OTel SDK agent — they're complementary: Beyla delivers zero-touch day-0 coverage across all apps including third-party and GraalVM native images, while the Java agent handles custom business metrics where needed.
0:00 Introduction
0:36 Why Java Is Uniquely Difficult for eBPF
3:06 The TLS Problem in Java
5:57 OpenTelemetry eBPF Instrumentation (OBI)
10:05 Solving TLS with a Dynamically-Injected Java Agent
13:31 How TLS Buffer Correlation Works
15:12 Real-World Examples
16:54 Trade-offs: What Works and What Doesn't Yet
19:11 eBPF vs Java Agent: When to Use Each
21:35 Key Takeaways
Links/resources:
Grafana Beyla (OBI) GitHub: https://github.com/grafana/beyla
Get started with the Grafana Cloud forever-free tier: https://grafana.com/g/cloud
Have a question? Ask Grot, your AI helper: https://grafana.com/grot/
Reach out in our community forums: https://gra.fan/communityyf
---
Thanks for watching!
👍 Was this video helpful? Like and subscribe to our channel for more videos.
Connect with Grafana Labs:
X: (https://www.twitter.com/grafana)
LinkedIn: (https://www.linkedin.com/company/grafana-labs/)
Facebook: (https://www.facebook.com/grafana)
#Grafana #Observability #Beyla #eBPF #OpenTelemetry
More from this event
See all 24 talks →
Grafana 13 Deep Dive: Suggested Dashboards, Dynamic Dashboards, SQL Expressions, and More!
1:23:01
Real-time ML Inside a $2M Electron Microscope for Nuclear Powered Data Centers | Theia Scientific
23:05
When Observability Meets a Tamagotchi
5:57
How to Speed Up Grafana Dashboards 100x with ASAPQuery
10:21