用过stopwatch(秒表)观察代码运行的时长吗?

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%  生成订单并入库
原文地址:https://www.cnblogs.com/liuyupen/p/13940430.html