如何分析单个 Java (Spring) 方法的运行?

2024-03-23

我有一个在我的 PC 上运行的 Java Spring 应用程序(我可以附加调试器),我正在寻找一种分析单个方法的方法,最好是具有 UI 来深入了解消耗最多时间的子方法的方法。

我尝试了 JDK 任务控制和 IntelliJ 的默认分析器,我相信它们都基于 Java Flight Recorder。问题是,大多数时候它不会对我的方法进行采样,并且我的方法花费大量时间等待(异步?)I/O,这会导致分析结果不可用

为什么 Java 飞行记录仪采集的样本太少? https://stackoverflow.com/questions/63476351/why-does-the-java-flight-recorder-take-too-few-samples

如何在 Java Flight Recorder 采样中包含 IO 绑定方法? https://stackoverflow.com/questions/55894088/how-to-include-io-bound-methods-in-java-flight-recorder-sampling

这种情况我该怎么办?鉴于

  • 我已经可以调试该方法了
  • 我只想分析该单一方法的单次运行
  • 我可以像 Google Chrome 一样深入了解子方法(火焰图/冰柱图),包括函数挂起 IO 的时间?
  • 最好不改变源代码。

作为补充细节,我已经在这里查看了一些没有解决我提到的问题的问题:有些需要更新源代码,有些依赖于 JFR 方法采样,我不知道如何/是否可以分析单个特定方法的运行并将异步 I/O 包含在深入视图中

有推荐的 Java 分析教程吗? https://stackoverflow.com/questions/2422289/any-recommended-java-profiling-tutorial/

分析 Java Spring 应用程序 https://stackoverflow.com/questions/2475682/profiling-a-java-spring-application


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何分析单个 Java (Spring) 方法的运行? 的相关文章

随机推荐