使用Apache的秒表收集指标,需要澄清

时间:2013-03-05 15:53:43

标签: java performance stopwatch

请考虑以下代码段:

    StopWatch stopWatch = new StopWatch();
    stopWatch.start();

    Thread.sleep(1000);  //< ---- event 1

    stopWatch.split();

    Thread.sleep(2000);  //< ---- event 2

    stopWatch.split();

    Thread.sleep(3000);  //< ---- event 3

    System.out.println(stopWatch.getStartTime());
    System.out.println(stopWatch.getSplitTime());
    System.out.println(stopWatch.toString());
    System.out.println(stopWatch.toSplitString());

似乎使用StopWatch我可以将单个事件分解为许多子事件,但即便如此,我如何收集此信息?例如,看上面的代码,是否有可能认识到你是3个事件,第一个是1秒,第二个是2秒,第3个是3秒?

请告诉我。

如果秒表不是一种方法,那么我可以使用现有的库吗?

1 个答案:

答案 0 :(得分:0)

getSplitTime()方法返回最新的分割时间。您应该在相关拆分后调用它。

但是,我会使用新的stopWatch测量每个事件(最好是在一个专用方法中),这样你就不必减去持续时间来获得每个事件的时间。