对核心Java进行性能分析,以检查每个计数器处的方法统计信息和延迟

时间:2018-10-14 03:10:38

标签: java profiling jprofiler

//method 1 & 2 contain calls to a number of other methods
for(int i=0; i<100;i++) {
    method1();
    method2();
}

我想在循环的每个计数器'i'上分析上述Java代码,并获取每个i值的方法统计信息(特别是执行延迟)。

方法method1()和method2()包含对其他方法的调用,包括来自其依赖项的方法调用。

如何在每个柜台配置我的代码?我认为JProfiler无法实现。

1 个答案:

答案 0 :(得分:0)

在JProfiler中,method splitting是可能的。首先,您应该将对method1method2的调用包装到另一个方法中,并将i作为参数传递:

...

for(int i=0; i<100;i++) {
   measure(i);
}

...

void measure(int i) {
   method1();
   method2();
}

然后分析您的代码,转到调用树,选择measure方法,然后从上下文菜单中选择Split Method With a Script。在现在显示的脚本对话框中,将String.valueOf(i)配置为脚本。对于下一次性能分析,现在您将在调用树中分别获得measure的最慢执行。