Java-KoTime:方法调用链路追踪以及接口耗时定位

背景

koTime是一个springboot项目性能监控工具,通过方法调用链路追踪以及对应的运行时长快速定位性能瓶颈,他的起源是这样的:

最近项目出现了部分接口响应时间过长的情况,作为一名开发(che)多年的老司机,显然是打开浏览器看看是哪个接口作妖,然后顺着网线找到Controller层,找到Service层,找到dao层…一层的一层的看,一圈一圈的调试,一步一步的改,一个上午的时间下来,也就是找出了一个需要花费我5分钟改掉的问题,而大部分的时候却花费在了定位问题上,于是乎,常年面向网络编程的我决定上网找找有没有方法调用链路追踪框架,帮我记录每个接口的调用情况,以及每个方法的运行时长,这样可以快速定位到问题所在,省下我一个或者多个一早上定位问题的时间,毕竟,时间是用来解决问题的,而不是用来发现问题的,而这个问题往往是自己写下的愚蠢代码导致的!
出乎意料的是,竟然没有找到一个对应开源框架可以直接使用(也有可能是我的搜索水平有待提高,当然我是不会承认的),有的是那些服务调用链路跟踪的,没有细化到方法层面,于是乎我决定还是先定个小目标:自己写一个小demo吧!

这里插一句,不要好奇为什么本人写了多篇NLP和深度学习,突然冒出来一篇Java,其实,臣本Javer,躬耕于Jvm,苟全性命于Compute,偶尔写写NLP!

先来看一下效果吧,毕竟本人廉价的口语无法满足你的想象,可能还会让你想歪!

可视化展示

1.接口调用统计

根据颜色判断需要优化的接口数,红色为待优化,绿色为正常

在这里插入图片描述

2.接口列表总览

在列表中会显示接口的运行耗时,绿色则无需优化,红色则需要详细查看问题所在

在这里插入图片描述

3.调用详情

点开接口时,会显示该接口的调用链路以及运行时长,我们可以通过颜色快速定位问题所在方法,剩下的时间用来优化自己的代码

在这里插入图片描述

4.入参组合分析

双击节点,展示不同参数组合之下的运行时长

在这里插入图片描述

5.异常诊断

记录方法对应的异常
在这里插入图片描述

在这里插入图片描述

6.代码热更新

不重启在线更新代码
在这里插入图片描述

总结

以上就是一个可以简单快速集成到项目中进行接口分析的小工具,感兴趣的童鞋可以试用:

使用文档

开源地址

也可以提提建议,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大Huoyo

提醒博主一下,该起来写文章了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值