jstack, profilers and other tools
Egor Ushakov
egor.ushakov at jetbrains.com
Mon Jul 11 17:37:13 UTC 2022
Hi all,
I'm trying to prepare IntelliJ for loom and have some trouble
understanding how tooling should be modified:
1. with debugger it is more or less ok - virtual threads are separated
from carrier threads, stack are separate and debugger is responsible for
showing all of this.
2. thread dumps (jstack as an example) - no virtual threads are shown,
carrier threads stacks are truncated even if they are doing some work in
the mounted virtual threads. It is not clear for me how users should
understand what (even mounted) virtual thread are doing. Should we
always switch to the new json format? Should user decide on which format
to use? Previously thread dumps way an easy way to grab "what the app is
doing" at the moment. Is there a way to achieve this now? Or this way
should be abandoned?
3. Profilers - with jfr I was not able to see any sampling data for
virtual threads, where should I find it? With async-profiler (using
AsyncGetCallTrace) it is still posible to see the sampling data (and
merged stacks when vthread is mounted) - good. Hopefully this wont break?
Could someone please clarify this?
Thanks,
Egor
More information about the loom-dev
mailing list