StopWatch from springframework

阅读更多
##  测试代码
```java
public static void main(String[] args) throws InterruptedException {
StopWatch stopWatch = new StopWatch("StopWatchOfGYYX");

System.out.println("******A计时任务开始******");
stopWatch.start("A逻辑时间测试");
Thread.sleep(1002);
System.out.println("是否正在运行: " + stopWatch.isRunning());
stopWatch.stop();
System.out.println("本阶段耗时:" + stopWatch.getLastTaskTimeMillis());
System.out.println("stopWatch总耗时(mil):" + stopWatch.getTotalTimeMillis());
System.out.println("stopWatch总耗时(sec):" + stopWatch.getTotalTimeSeconds());
System.out.println("最后一个任务名称:" + stopWatch.getLastTaskInfo().getTaskName());
System.out.println("最后一个任务耗时(mil):" + stopWatch.getLastTaskInfo().getTimeMillis());
System.out.println("最后一个任务耗时(sec):" + stopWatch.getLastTaskInfo().getTimeSeconds());
System.out.println("");
System.out.println("****************************************************************************************");

System.out.println("******B计时任务开始******");
stopWatch.start("B逻辑时间测试");
Thread.sleep(1008);
stopWatch.stop();
System.out.println("是否正在运行: " + stopWatch.isRunning());
System.out.println("本阶段耗时:" + stopWatch.getLastTaskTimeMillis());
System.out.println("stopWatch总耗时(mil):" + stopWatch.getTotalTimeMillis());
System.out.println("stopWatch总耗时(sec):" + stopWatch.getTotalTimeSeconds());
System.out.println("最后一个任务名称:" + stopWatch.getLastTaskInfo().getTaskName());
System.out.println("最后一个任务耗时(mil):" + stopWatch.getLastTaskInfo().getTimeMillis());
System.out.println("最后一个任务耗时(sec):" + stopWatch.getLastTaskInfo().getTimeSeconds());
System.out.println("");
System.out.println("****************************************************************************************");

System.out.println("******C计时任务开始******");
stopWatch.start();//"c逻辑时间测试"
Thread.sleep(1006);
stopWatch.stop();
System.out.println("本阶段耗时:" + stopWatch.getLastTaskTimeMillis());
System.out.println("stopWatch总耗时(mil):" + stopWatch.getTotalTimeMillis());
System.out.println("stopWatch总耗时(sec):" + stopWatch.getTotalTimeSeconds());
System.out.println("最后一个任务名称:" + stopWatch.getLastTaskInfo().getTaskName());
System.out.println("最后一个任务耗时(mil):" + stopWatch.getLastTaskInfo().getTimeMillis());
System.out.println("最后一个任务耗时(sec):" + stopWatch.getLastTaskInfo().getTimeSeconds());
System.out.println("");
System.out.println("****************************************************************************************");

System.out.println("*******汇总信息*******");
System.out.println("总任务个数:" + stopWatch.getTaskCount());
System.out.println("总任务耗时(mil):" + stopWatch.getTotalTimeMillis());
System.out.println("总任务耗时(sec):" + stopWatch.getTotalTimeSeconds());
System.out.println("总任务简要:" + stopWatch.shortSummary());
System.out.println("");

System.out.println("****************************************************************************************");
System.out.println("*******任务列表遍历*******");
TaskInfo[] taskInfo = stopWatch.getTaskInfo();
for (int i = 0; i < taskInfo.length; i++) {
System.out.println("总任务列表【" + i + "】名字:" + taskInfo[i].getTaskName());
System.out.println("总任务列表【" + i + "】耗时mil:" + taskInfo[i].getTimeMillis());
System.out.println("总任务列表【" + i + "】耗时sec:" + taskInfo[i].getTimeSeconds());

}


System.out.println("****************************************************************************************");
System.out.println("******格式化显示********");
System.out.println(stopWatch.prettyPrint());
}
```

## 执行结果

```txt
******A计时任务开始******
是否正在运行: true
本阶段耗时:1003
stopWatch总耗时(mil):1003
stopWatch总耗时(sec):1.003
最后一个任务名称:A逻辑时间测试
最后一个任务耗时(mil):1003
最后一个任务耗时(sec):1.003

****************************************************************************************
******B计时任务开始******
是否正在运行: false
本阶段耗时:1008
stopWatch总耗时(mil):2011
stopWatch总耗时(sec):2.011
最后一个任务名称:B逻辑时间测试
最后一个任务耗时(mil):1008
最后一个任务耗时(sec):1.008

****************************************************************************************
******C计时任务开始******
本阶段耗时:1007
stopWatch总耗时(mil):3018
stopWatch总耗时(sec):3.018
最后一个任务名称:
最后一个任务耗时(mil):1007
最后一个任务耗时(sec):1.007

****************************************************************************************
*******汇总信息*******
总任务个数:3
总任务耗时(mil):3018
总任务耗时(sec):3.018
总任务简要:StopWatch 'StopWatchOfGYYX': running time (millis) = 3018

****************************************************************************************
*******任务列表遍历*******
总任务列表【0】名字:A逻辑时间测试
总任务列表【0】耗时mil:1003
总任务列表【0】耗时sec:1.003
总任务列表【1】名字:B逻辑时间测试
总任务列表【1】耗时mil:1008
总任务列表【1】耗时sec:1.008
总任务列表【2】名字:
总任务列表【2】耗时mil:1007
总任务列表【2】耗时sec:1.007
****************************************************************************************
******格式化显示********
StopWatch 'StopWatchOfGYYX': running time (millis) = 3018
-----------------------------------------
ms     %     Task name
-----------------------------------------
01003  033%  A逻辑时间测试
01008  033%  B逻辑时间测试
01007  033% 

```

你可能感兴趣的:(java)