StopWatch对应的中文名称为秒表,经常我们对一段代码耗时检测的代码如下:
用法展示
@Transactional(rollbackFor = Exception.class)
public CollageOrderResponseVO colleageOrder(CollageOrderRequestVO request) {
StopWatch stopWatch = new StopWatch();
stopWatch.start("调用风控系统接口");
// 调用风控系统接口, http调用方式
stopWatch.stop();
stopWatch.start("获取拼团活动信息"); //
// 获取拼团活动基本信息. 查询缓存
stopWatch.stop();
stopWatch.start("获取用户基本信息");
// 获取用户基本信息。http调用用户服务
stopWatch.stop();
stopWatch.start("判断是否是新用户");
// 判断是否是新用户。 查询订单数据库
stopWatch.stop();
stopWatch.start("生成订单并入库");
// 生成订单并入库
stopWatch.stop();
// 打印task报告
stopWatch.prettyPrint();
// 发布订单创建成功事件并构建响应数据
return new CollageOrderResponseVO();
}
结果打印
StopWatch '新人拼团订单StopWatch': running time = 1195896800 ns
---------------------------------------------
ns % Task name
---------------------------------------------
014385000 021% 调用风控系统接口
010481800 010% 获取拼团活动信息
013989200 015% 获取用户基本信息
028314600 030% 判断是否是新用户
028726200 024% 生成订单并入库