gpt4 book ai didi

java - 如何在 JMH 中查看调用树分析?

转载 作者:行者123 更新时间:2023-11-30 06:06:17 25 4
gpt4 key购买 nike

我想分析 JMH 测试并查看 VisualVM 中的调用树。但是当我使用 StackProfiler 时,它会为我提供类似的本地方法,这对我来说完全没用。

....[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

最佳答案

JMH 的堆栈分析器是一个相当简单的实现。为什么不使用成熟的分析器——例如您提到的 VisualVM——如果您需要更多?或者,参见 -prof stack:help:

$ java -jar jmh-samples/target/benchmarks.jar -prof stack:help
Usage: -prof <profiler-name>:opt1=value1,value2;opt2=value3

Options accepted by org.openjdk.jmh.profile.StackProfiler:

lines=<int> Number of stack lines to save in each stack trace.
Larger values provide more insight into who is calling
the top stack method, as the expense of more stack
trace shapes to collect. (default: [1])

关于java - 如何在 JMH 中查看调用树分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44333767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com