~/talk

The JVM Profiler That Managed to Become Cross-Platform

TalkinRussianat Joker 2020 · 2020-11-25..11-28· [java, linux-and-operating-systems]
links:none on file
slides:none on file

JetBrains wanted async-profiler support on Windows but async-profiler for Linux/Mac relies on POSIX signals and native stack unwinding. The talk explains investigating AsyncGetCallTraces, comparing its internals with Java Flight Recorder (JFR), and then implementing a Windows solution by emulating the signal mechanism and performing native stack unwinding, plus addressing various OS-specific issues.

AI-written summary · about

  1. 0:00Introduction
  2. 2:16Why cross-platform profiler
  3. 3:00Profiler selection criteria
  4. 6:56Async Profiler internals
  5. 10:29Signal issues on Windows
  6. 12:36App code changes
  7. 13:41Thread stop on Windows
  8. 16:11Handler control transfer
  9. 18:37Returning control
  10. 22:56Calling convention challenges
  11. 26:09Arbitrary code execution
  12. 27:56Handler testing
  13. 30:46Context passing to profiler
  14. 33:37Signal emulation on Windows
  15. 35:20Access violation problem
  16. 43:21Why ASGCT is essential
  17. 45:48JVM patches
  18. 47:40JVM TLS handling
  19. 50:10Profiler printf issues
  20. 56:43Native stacks in profiler
  21. 1:00:38Lock monitoring
  22. 1:02:26Symbols and debugging
  23. 1:04:14Acknowledgments and conclusions
~/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.