Java实用小工具系列2---使用StopWatch统计多个任务耗时分布

  在Java中经常需要统计程序的使用时间,如果只是一个时间段统计比较好处理,可以直接使用System.currentTimeMillis()。但如果一个程序中包含多个步骤,需要统计每个步骤耗时,并且需要统计耗时分布,找出那个步骤耗时最多,好做一下优化时,就比较费力了。这个使用可以使用Spring的工具StopWatch,比如下面例子:

        StopWatch stopWatch = new StopWatch();
        stopWatch.start("aaa");
        TimeUnit.SECONDS.sleep(10);
        stopWatch.stop();
        stopWatch.start("bbb");
        TimeUnit.SECONDS.sleep(5);
        stopWatch.stop();
        System.out.println(stopWatch.prettyPrint());

输出结果:

StopWatch '': running time (millis) = 15003
-----------------------------------------
ms     %     Task name
-----------------------------------------
10002  067%  aaa
05001  033%  bbb

 

是不是很方便,很清晰直观。

posted @ 2022-07-30 23:36  xkzhangsanx  阅读(706)  评论(0编辑  收藏  举报