Spring StopWatch 使用详解
1 简介
1.1 什么是 StopWatch
org.springframework.util.StopWatch
是 Spring 框架提供的一个简单而实用的性能监控工具类。它专门用于测量代码执行时间,可以帮助开发者精确地监控应用程序中各个代码段的执行耗时。
1.2 StopWatch
的作用与价值
StopWatch
主要用于:
- 监控方法执行时间
- 分析性能瓶颈
- 代码性能调优
- 执行时间统计和报告
相比使用 System.currentTimeMillis()
等原始方式,StopWatch
提供了更加优雅和功能丰富的API。
2 StopWatch
基础用法
2.1 创建 StopWatch
实例
// 创建默认的 StopWatch 实例
StopWatch stopWatch = new StopWatch();// 创建带标识的 StopWatch 实例
StopWatch stopWatch = new StopWatch("task-monitor");
2.2 启动和停止计时
StopWatch stopWatch = new StopWatch();// 启动计时
stopWatch.start();// 执行业务逻辑
doSomething();// 停止计时
stopWatch.stop();
2.3 获取执行时间
// 获取最后一次任务的执行时间(毫秒)
long lastTaskTimeMillis = stopWatch.getLastTaskTimeMillis();// 获取最后一次任务的执行时间(纳秒)
long lastTaskTimeNanos = stopWatch.getLastTaskTimeNanos();// 获取格式化的时间字符串
String timeString = stopWatch.shortSummary();
3 任务分段计时
3.1 多任务监控
StopWatch
支持对多个任务进行分段计时:
StopWatch stopWatch = new StopWatch("multi-task-monitor");// 任务1
stopWatch.start("task1");
processTask1();
stopWatch.stop();// 任务2
stopWatch.start("task2");
processTask2();
stopWatch.stop()