~/talk

How to Win Frames and Influence Pointers

Talkat GopherCon Europe 2024 · 2024-06-17..06-20· [go, web-performance]
slides:none on file

Datadog contributions plus collaboration with the Go runtime team replace slow unwind-table stack walking with frame pointer unwinding, cutting stack-trace cost from ~1µs to ~20ns and dropping the execution tracer overhead from pathological 700% to about 30% in microbenchmarks and to go1.21 reduced overhead to <1% for most real apps. Fixes include handling stack-copying pointer updates and ARM64 compiler ordering bugs. Use go test -trace, go tool trace, runtime/trace or the new flight-recording libraries to capture low-overhead traces in production.

AI-written summary · about

  1. 0:00Introduction
  2. 0:24Execution tracing in Go matters
  3. 1:26Inefficiencies in net/http tests
  4. 3:12Go tracer for performance analysis
  5. 4:56Debug goroutine leaks with tracing
  6. 6:38Fixing the test and measuring improvements
  7. 7:19How Go tracer works
  8. 8:23Goroutine states and scheduling
  9. 9:25Execution tracing for latency
  10. 10:29Tail latency examples
  11. 11:54CPU spikes and GC impact
  12. 13:38Tracing overhead problem
  13. 15:28Collaborating with Go team
  14. 16:09Optimizing stack unwinding
  15. 18:59Frame pointer unwinding challenges
  16. 20:25Debugging crashes and loops
  17. 21:52Frame pointer fixes on ARM64
  18. 22:35Self-referential stack pointer risks
  19. 23:55Contributing upstream lessons
  20. 24:38Deployment issues
  21. 25:44Call to action: Use tracing
  22. 26:47Tools for execution traces
  23. 27:29Acknowledgments
~/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.