gpt4 book ai didi

java - 高级 Java 分析

转载 作者:搜寻专家 更新时间:2023-11-01 03:40:12 26 4
gpt4 key购买 nike

我们公司目前正在寻找 Java 分析器。我们从 Compuware(dynaTrace 产品)获得了一份报价,它能够为 CPU 分析提供这种输出(示例):

(好吧,我发不了图,没有这张图,剩下的问题应该很清楚了)

dynaTrace 为您提供的是一个特定方法的所有调用的列表,其中包含每个调用花费了多少时间、其中有多少是 CPU 时间以及有多少是在等待 IO 的确切信息。这个(在我看来非常简单)信息非常重要,也是我们绝对需要的。

现在的问题是……还有哪个分析器能够真正提供这种信息之王?

我尝试了 VisualVM(JDK 附带)、YourKit 和 JProfiler。我没有找到任何方法来生成此输出。

  • 通过采样测量总挂钟时间和实际 CPU 时间应该非常容易,但 JProfiler 和 YourKit 似乎只能测量挂钟时间或 CPU 时间,而不能同时测量两者。 VisualVM 在采样时同时显示墙时间和 CPU 时间,这使其优于这两种付费产品中的任何一种。

  • 分离特定方法的调用并分别显示每个调用的结果(而不是不考虑调用位置和参数的方法的聚合信息)似乎是更高级的功能,但这些都不是产品似乎能够做到这一点。

这两个功能对于我们在分析器中是必不可少的。如果有人知道提供它们的产品,请告诉我,我将不胜感激。

当然,很可能某些提到的分析器具有这些功能,但我在有限的时间内研究它们并没有找到如何做到这一点。

最佳答案

经过更多调查后,答案很简单:没有提到的分析器能够解决我在这个问题中想要的 - 不是 VisualVM,不是 YourKit,也不是 JProfiler。

因此,如果您需要此类信息,最好的选择可能是 BTrace ,它是免费的,并且与 JMX 相结合,能够测量几乎任何东西。毫不夸张地说 - 您可以访问所有方法调用,包括所有参数,并且可以用 Java 编写任何代码。

该版本还包含非常好的示例,因此您将能够在一小时内理解概念并自定义测量。

关于java - 高级 Java 分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16935775/

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