【发布时间】:2013-07-13 00:06:09
【问题描述】:
我正在寻找一个可以测量我的 java 代码的执行时间的“东西”。我知道我可以通过大量使用 System.nanoTime() 和类似的东西来做到这一点,但我需要更高级的东西。
这是我想做的事
gate.start("request");
gate.start("dbstuff");
doDbStuff();
gate.stop("dbstuff");
gate.start("businesslogic");
doSomeSimpleStuff();
for (int i = 0; i < 100; i++) {
gate.start("complexeAlgorithm"); // sum the 100 cycles
doComplexeAlgorithm();
gate.stop("complexeAlgorithm");
}
gate.stop("businesslogic");
gate.stop("request");
输出应该是这样的
request 3.000 ms
+ dbstuff 700 ms
+ businesslogic 2.100 ms
+ complexeAlgorithm 300 ms
+ rest 1.800 ms
+ rest 200 ms
那个“东西”可能是一个框架或一个 JVM 工具或任何东西,它可以帮助我找到我的性能杀手。有什么建议吗?
【问题讨论】:
标签: java duration measurement