一、简介
KoTime的开源版本已经迭代到了V2.3.3,从最初的链路追踪功能,慢慢根据很多热心朋友的建议,延伸出了以下功能:
- 实时监听方法,统计运行时长
- web展示方法调用链路,瓶颈可视化追踪
- 追踪系统异常,精确定位到方法
- 接口超时邮件通知,无需实时查看
- 线上热更新:无需重启更新代码
- CPU、堆内存和物理内存使用统计
需要说明的是本项目依旧保持着让用户简单使用的原则,尽力做到无学习成本直接使用,让软件工程师的卓越思维和宝贵时间用于创造
为了满足更多专业用户的需求,KoTime根据很多用户的问题,迭代出了专业版本,主要是从以下几个问题入手:
-
(1)KoTime的链路与耗时计算与项目耦合在一起,让本就不富裕的cpu和内存雪上加霜
-
(2)中小企业技术团队有限,很多项目都是一个团队负责,打开那么多个KoTime监控页面都乱套了,不记得谁是谁,地址在哪里
-
(3)想知道系统的高频使用阶段,便于维护和安排人手
-
(4)开发人员想知道自己的接口的使用情况,便于知道是否需要优化
二、问题解决
2.1 架构设计
基于(1)和(2),重新设计了专业版本的架构,将KoTime拆分为Clients->Server模式,如下图:
-
client作为数据采集端(在项目中以pom依赖的方式引入),将数据异步发送给Server,不占用项目的计算资源和存储资源
-
server作为服务端,承担数据的计算和用户交互功能,可以根据客户端的标识进行多项目的切换展示
2.2 主页面板
基于(2),在Server增加了项目选择功能,可以根据项目标识进行切换展示
基于(3),在Server增加了调用量统计功能,可以知道一天中的高频使用时段,一月中高频使用日期,一年中高频使用月份
基于(4),在Server增加了接口调用分析功能,对于开发此接口的人员来说,可以进行单个接口分析,在接口指标中可以看到,除了接口的耗时情况,还做了 超时率、日均调用量、QPS分析,开发接口的人可以据此做出自己的判断是否需要进一步优化
三、开发计划
- 随着时间的推移,专业版的功能会慢慢过渡到开源版本
- 增加更全面的分析功能(结合用户反馈)
- 添加接口测试功能等
想了解更多详情请参考KoTime文档