~/talk

Debuggers and eBPF: Bringing Debugging to Production

Talkat Cloud Native eBPF Day North America 2021 · on Monday, 2021-10-11· [observability]
links:none on file
slides:none on file

A Delve rewrite using eBPF replaces slow ptrace stops with in-kernel probes to trace Go functions with microsecond overhead instead of seconds, using libbpfgo and uprobes to attach uprobe/uretprobe trampolines, embedding the eBPF object in the binary, and exchanging per-address metadata via ring buffers and maps. It handles Go ABI changes, passes argument layouts and goroutine id offsets from userland, temporarily removes uretprobes during stack copies to avoid panics, and requires privileged load rights or CAP_SYS_ADMIN and optional external debug info.

AI-written summary · about

  1. 0:00Introduction
  2. 0:22Overview
  3. 1:53Derek Parker
  4. 2:32Why
  5. 2:58PTrace
  6. 3:48Testing
  7. 5:11Why is ptrace so slow
  8. 6:12Solution eBPF
  9. 6:26Benchmarks
  10. 6:38Why is eBPF so fast
  11. 7:18eBPF requirements
  12. 8:56Embedded eBPF
  13. 9:44Lowlevel implementation details
  14. 10:21eBPF information
  15. 12:52eBPF probes
  16. 13:30Updating eBPF map
  17. 15:36Getting data back from eBPF
  18. 16:46Upsides and downsides
  19. 17:01eBPF programs
  20. 18:31Fighting the verifier
  21. 19:00Small stack requirements
  22. 19:16Rep probes
~/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.