在进行接口压测试,需要观察接口的整体链路的耗时情况,来做进一步的优化,此时用StopWatch 就能快速清晰的看到所有的耗时情况。
stopWatch位于org.springframework.util包内
在业务代码中使用 StopWatch
public void testStopWatch(String str) {
StopWatch stopWatch = new StopWatch();
stopWatch.start("query 1 info");
{
...业务逻辑
}
stopWatch.stop();
stopWatch.start("query 2 info");
{
...业务逻辑
}
stopWatch.stop();
stopWatch.start("update 1 cost");
{
...业务逻辑
}
stopWatch.stop();
stopWatch.start("update 2 cost");
{
...业务逻辑
}
stopWatch.stop();
log.info("count costTime={}", stopWatch.prettyPrint());
}
写一个test看执行结果
2022-09-14 14:06:18.833 INFO 62545 --- [ main] c.m.p.i.s.m.impl.testStopWatchImpl : count costTime=StopWatch '': running time (millis) = 598
-----------------------------------------
ms % Task name
-----------------------------------------
00057 010% query 1 info
00000 000% query 2 info
00295 049% query 3 info
00040 007% update 1 cost
00046 008% update 2 cost
00160 027% update 3 cost
prettyPrint 方法会打印出当前全部的总耗时以及每一个部分的单独耗时和占比,还是很清晰的,包内还有其他方法用于打印耗时
打印单个的话可以调用 打印毫秒 stopWatch.getTotalTimeMillis() 打印秒 stopWatch.getTotalTimeSeconds()