栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring计时器StopWatch在微服务链路中的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring计时器StopWatch在微服务链路中的使用

1、编写控制器代码测试

@RestController
@RequestMapping("/api/v1")
@Slf4j
public class TestController01 {

    
    @PostMapping("/testIdWorker")
    public Response testIdWorker() {
        IdWorker idWorker = new IdWorker(1, 1, 1);
        StopWatch stopWatch = new StopWatch("testIdWorker");

        
        stopWatch.start("task1");
        //模拟微服务调用链路1
        for (int i = 0; i < 100000; i++) {
            log.info(String.valueOf(idWorker.nextId()));
        }
        stopWatch.stop();

        
        stopWatch.start("task2");
        //模拟微服务调用链路2
        for (int i = 0; i < 100000; i++) {
            log.info(String.valueOf(idWorker.nextId()));
        }
        stopWatch.stop();
        log.info("整个微服务链路总耗时(纳秒)及各个链路的占比:{}", stopWatch.prettyPrint());
        log.info("整个微服务链路总耗时(纳秒):{}", stopWatch.shortSummary());
        log.info("整个微服务链路总耗时(毫秒):{}", stopWatch.getTotalTimeMillis());
        return Response.ok();
    }
}

2、客户端接口请求
3、接口响应结果数据

2022-03-26 08:11:06.293  INFO 25272 --- [nio-8080-exec-1] c.e.c.test.api.TestController01          : 
整个微服务链路总耗时(纳秒)及各个链路的占比:
StopWatch 'testIdWorker': running time = 2840380500 ns
---------------------------------------------
ns         %     Task name
---------------------------------------------
1491228900  053%  task1
1349151600  047%  task2

2022-03-26 08:11:06.294  INFO 25272 --- [nio-8080-exec-1] c.e.c.test.api.TestController01          : 
整个微服务链路总耗时(纳秒):
StopWatch 'testIdWorker': running time = 2840380500 ns
2022-03-26 08:11:06.295  INFO 25272 --- [nio-8080-exec-1] c.e.c.test.api.TestController01          : 
整个微服务链路总耗时(毫秒):2840

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/782118.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号