~/talk

Java Agent vs. eBPF: A Deep Dive into OpenTelemetry Instrumentation Technologies

Talkat Voxxed Days Crete 2025 · 2025-09-26..09-27· [observability, security]
slides:none on file

Local Kubernetes demo instruments a Java name‑generator and a Node front end using OpenTelemetry Java instrumentation and OpenTelemetry eBPF instrumentation; eBPF runs as a single binary exposing Prometheus on :9400 and attaches at runtime, the Java agent requires JVM startup. Under 40 concurrent requests against Tomcat limited to 10 threads the front end and eBPF show 0.8 req/s baseline with 95th ≈800 ms jumping to ~3.5 s, while the Java agent stays at ~800 ms because it measures service time not queue time. Tracing and log context propagation fail for reactive Java with eBPF; recommendation is baseline eBPF + JVM agent for depth.

AI-written summary · about

  1. 0:00Java agents vs eBPF intro
  2. 1:30Child name service demo
  3. 4:17Instrumentation goals
  4. 7:50Java agent with ByteBuddy
  5. 8:54eBPF with BA and OpenTelemetry
  6. 11:27Complexity differences
  7. 13:55Key differences
  8. 14:17eBPF language independence
  9. 15:40Kubernetes metadata in eBPF
  10. 17:51Response vs service time
  11. 22:12HTTP path challenges
  12. 25:22JVM symbol table in eBPF
  13. 27:30Distributed tracing limits
  14. 31:21Log correlation
  15. 32:44Production impact comparison
  16. 33:51Protocol support speed
  17. 35:18Recommended approach
  18. 38:07Conclusion & Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.