使用任务控制进行 Java 分析 - 我在哪里可以看到我自己的方法的花费时间?

Posted

技术标签:

【中文标题】使用任务控制进行 Java 分析 - 我在哪里可以看到我自己的方法的花费时间?【英文标题】:Java profiling with mission control - Where I can see the spend time of my own methods? 【发布时间】:2015-12-11 16:23:59 【问题描述】:

我有一个带有 wildfly、jpa、ejb 和 jsf 的 webApp。现在我想知道我的方法需要多长时间?所以我启动了任务控制并启动了飞行记录器。

在飞行记录器的报告中,我可以看到热门方法和使用时间的软件包概述。但是我想知道我自己的方法调用了什么以及这些方法花费了多少时间?

例如:

我的包.Myclass。

在 myMethod 中——花费 4 毫秒

【问题讨论】:

JMC/JFR 中的方法分析器基于采样,并且开销较低,对于查找生产中的瓶颈非常有用,但对于特定方法的时间测量不太有用。如果您想要时间测量,可能还有其他分析器可以使用,如下所示。 JMC 目前没有任何数据聚合来显示从您的方法调用的所有内容,但我们有几个请求来解决这个问题。 @Klara 这有没有实现过? 不,还没有实现。 【参考方案1】:

你可以使用 JProfiler,在这个应用程序中你可以找到时间线以及你的方法是如何被调用的。

【讨论】:

以上是关于使用任务控制进行 Java 分析 - 我在哪里可以看到我自己的方法的花费时间?的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop2.6.0的FileInputFormat的任务切分原理分析(即如何控制FileInputFormat的map任务数量)

我在哪里可以了解语义分析?

我在哪里可以找到包管理器窗口中执行的代码的控制台或调试输出?

使用自定义视图控制器转换,我在哪里可以隐藏状态栏?

如何进行简介?

面试必备:Java线程池解析