~/talk

JVM Profiling under the Hood

Talkat Code Mesh 2015 · 2015-11-03..11-04· [observability]
links:none on file
slides:none on file

Profiling claim is that sampling reveals hotspots but default JVM TI safepoint sampling hides them and can massively mislead developers, for example 63% misattribution to a wrapper method under JVisualVM while an alternative using async_get_call_trace via SIGPROF and a lockfree ring buffer shows the real work as 93% in execute. An open source profiler is built that logs samples off-thread and it works though it exposes issues like a memset bug in signal handler, and alternatives like perf Java Mission Control and Azul Zing offer different tradeoffs.

AI-written summary · about

  1. 0:00Introduction
  2. 0:48Millennium footbridge
  3. 1:49Structure
  4. 3:14Application Profiling
  5. 5:30Performance Problems
  6. 6:04Profiling Problems
  7. 6:31Instrumentation Profiling
  8. 8:54Sample Time Distribution
  9. 10:13Periodicity Bias
  10. 11:59Bias
  11. 15:14The Problem
  12. 15:56The JVM TI
  13. 16:36Safe Points
  14. 20:37Time to Safe Point
  15. 23:09Alternative sampling methodology
  16. 24:45Async getcalltrace
  17. 25:52sigprof
  18. 26:53signal
  19. 27:25how does it work
  20. 28:41limitations
  21. 30:22sleeping threads
  22. 33:42other profiling tools
  23. 37:52conclusions
  24. 38:41broader takeaway
  25. 39:53Questions
~/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.