我有一个java应用程序,它会进行大量的外部http调用。为了确定我在所有方法中使用System.currentTimeMillis()
的热方法,我观察到实际进行外部HTTP调用的方法是热门方法,这是非常期待的。
但是当我使用Java Mission Control(JMC)分析应用时,Hot Methods
标签列表下的Code
完全不同。事实上,几乎所有进行外部HTTP调用的方法都没有出现在JMC列表中。
有人可以告诉我: -
Hot Methods
(Code section
下)是否基于CPU时间或
挂钟时间? Hot Methods
列表,是否有其他工具可以显示此内容?答案 0 :(得分:0)
直方图基于执行Java代码的线程的CPU时间。
不,但有一个视图,您可以看到由锁争用,套接字和文件I / O引起的延迟,但它不会给出聚合时间,只有异常值。
JDK 10有一个新事件,它对本机方法进行采样,无论该方法是在运行代码还是在等待。它可能会显示等待I / O的方法但是在JMC中没有可视化的事件。