1
我想剖析JMH测试并查看VisualVM中的调用树。但是,当我使用StackProfiler时,它给了我这样的本地方法,这在我的情况下完全没用。如何在JMH中查看调用树分析?
....[Thread state distributions]....................................................................
59,9% TIMED_WAITING
23,0% WAITING
17,0% RUNNABLE
....[Thread state: TIMED_WAITING]...................................................................
47,3% 78,9% sun.misc.Unsafe.park
8,3% 13,8% java.lang.Thread.sleep
4,4% 7,3% java.lang.Object.wait
....[Thread state: WAITING].........................................................................
21,9% 95,1% sun.misc.Unsafe.park
1,1% 4,9% java.lang.Object.wait
....[Thread state: RUNNABLE]........................................................................
13,5% 79,0% sun.nio.ch.EPollArrayWrapper.epollWait
2,0% 11,5% java.net.SocketInputStream.socketRead0
1,0% 5,7% java.net.PlainSocketImpl.socketAccept
看起来你是对的。在我的情况下工作这样的选项创建像“新OptionsBuilder()。addProfiler(”stack“,”lines = 5; top = 3; detailLine = true; excludePackages = true; period = 1“)...”,但复杂长时间运行的方法更容易编写一个小的类并使用VisualVM。 –