1、引入hutool包依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.15</version>
</dependency>
2、做一个简单的示例
//创建一个StopWatch对象,id为唯一标识,用于创建多个Stopwatch时做区分
StopWatch stopWatch = new StopWatch("统计事件运行时间");
stopWatch.start("任务一");//记录任务一开始,参数为任务名字,方便自己辨识随便取,同一个stopWatch中也要是唯一标识
System.out.println("任务一===========");//模拟任务的打印信息
Thread.sleep(500);//模拟任务的耗时
stopWatch.stop();//停止任务一的时间计算
//同理下面创建第二个任务
stopWatch.start("任务二");
System.out.println("任务二============");
Thread.sleep(600);
stopWatch.stop();
//关键:prettyPrint方法,打印这个stopWatch中每个任务的详细信息,TimeUnit.MILLISECONDS以毫秒为单位
log.info(stopWatch.prettyPrint(TimeUnit.MILLISECONDS));
3、查看运行的结果
任务一===========
任务二============
2023-06-13 10:43:40.639 INFO 13912 --- [ main] c.i.i.IswustSocietiesWebApplicationTests : StopWatch '统计事件运行时间': running time = 1114 ms
---------------------------------------------
ms % Task name
---------------------------------------------
000000507 46% 任务一
000000607 54% 任务二
总结:StopWatch会在最后打印出统计的结果,在详细的结果中,第一列ms,是这个任务花费的毫秒,第二列%是占总任务的百分比,第三列是这个StopWatch的几个任务的名字。