一、Spring的StopWatch
1、pom
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.6</version>
</dependency>
2、代码示例
org.springframework.util.StopWatch stopWatch = new org.springframework.util.StopWatch();
stopWatch.start("任务1");
System.out.println("开始任务1");
Thread.sleep(1000 * 3);
System.out.println("结束任务1");
stopWatch.stop();
stopWatch.start("任务2");
System.out.println("开始任务2");
Thread.sleep(1000 * 3);
System.out.println("结束任务2");
stopWatch.stop();
stopWatch.start("任务3");
System.out.println("开始任务3");
Thread.sleep(1000 * 3);
System.out.println("结束任务3");
stopWatch.stop();
System.out.println("总任务数:" + stopWatch.getTaskCount());
System.out.println("总耗时:" + stopWatch.getTotalTimeMillis());
System.out.println("每个任务具体信息:" + JSONArray.toJSONString(stopWatch.getTaskInfo()));
log.info("总任务数:{} 总耗时:{} 具体耗时信息:{}", stopWatch.getTaskCount(), stopWatch.getTotalTimeMillis(), JSONArray.toJSONString(stopWatch.getTaskInfo()));
log.info(stopWatch.prettyPrint());
二、apache的StopWatch
1、pom依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
</dependency>
2、代码示例
StopWatch stopWatch = StopWatch.createStarted();
System.out.println("开始任务1");
Thread.sleep(1000 * 3);
System.out.println("结束任务1");
System.out.println("任务1耗时:" + stopWatch.getTime());
stopWatch.split();
System.out.println("开始任务2");
Thread.sleep(1000 * 3);
System.out.println("结束任务2");
System.out.println("任务2耗时:" + stopWatch.getSplitTime());
System.out.println("总耗时:" + stopWatch.getTime());
stopWatch.split();
System.out.println("开始任务3");
Thread.sleep(1000 * 3);
System.out.println("结束任务3");
System.out.println("任务3耗时:" + stopWatch.getSplitTime());
System.out.println("总耗时:" + stopWatch.getTime());