文章目录
- 一、工具简介 🧐
- 整体调用流程图(Mermaid彩色)
- 二、环境版本要求 ⚙️
- 三、Maven引入依赖 📦
- pom.xml 依赖配置
- 四、application.yml 配置项 ⚙️
- 五、启动类零侵入配置 🚀
- 六、测试接口示例 🌰
- 七、项目启动 & 访问可视化面板 🔗
- 1. 启动项目命令
- 2. 访问监控面板地址
- 八、常用功能操作说明 📊
- 1. 慢接口筛选
- 2. 链路追踪使用
- 3. 清空缓存数据命令(内置接口)
- 九、生产环境优化配置建议 💡
- 十、常见问题排查 ❓
一、工具简介 🧐
KoTime是一款无侵入、轻量级Java性能分析可视化工具,专门针对SpringBoot项目:
- 自动采集**
接口耗时**、请求吞吐量、异常统计 - 完整**
链路追踪**,记录方法执行耗时、SQL耗时 - 内置可视化面板,无需额外部署中间件
- 低内存占用,适合中小型单体、微服务轻量监控
- 支持慢接口告警、Top耗时接口排行、请求频次统计
整体调用流程图(Mermaid彩色)
二、环境版本要求 ⚙️
- SpringBoot 2.x / 3.x 全部兼容
- JDK8+
- 无需Redis、MySQL、SkyWalking等第三方组件
三、Maven引入依赖 📦
pom.xml 依赖配置
<!-- KoTime 性能监控核心依赖 --><dependency><groupId>io.github.kokorinj</groupId><artifactId>kotime-spring-boot-starter</artifactId><version>1.3.0</version></dependency>四、application.yml 配置项 ⚙️
# KoTime可视化监控配置kotime:# 是否开启监控总开关enable:true# 可视化面板访问路径dashboard-path:/kotime# 慢接口阈值(单位ms,超过该值标记慢请求)slow-api-threshold:200# 是否打印方法执行链路日志print-trace-log:true# 缓存最大存储请求条数max-cache-size:10000# 是否监控SQL执行耗时monitor-sql:true# 链路堆栈最大深度trace-stack-depth:15五、启动类零侵入配置 🚀
无需新增任何切面、拦截器,直接启动自动生效
importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DemoApplication.class,args);}}六、测试接口示例 🌰
编写普通Controller模拟快慢接口,用于**KoTime**采集耗时数据
importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassTestController{// 快速接口@GetMapping("/api/fast")publicStringfastApi(){return"正常快速接口响应";}// 慢接口(超过200ms阈值,会被标记慢请求)@GetMapping("/api/slow")publicStringslowApi()throwsInterruptedException{Thread.sleep(500);return"慢接口模拟,耗时500ms";}// 多层方法调用,测试链路追踪@GetMapping("/api/trace")publicStringtraceDemo(){methodA();return"链路追踪完成";}privatevoidmethodA()throwsInterruptedException{Thread.sleep(100);methodB();}privatevoidmethodB()throwsInterruptedException{Thread.sleep(150);}}七、项目启动 & 访问可视化面板 🔗
1. 启动项目命令
# Maven启动命令mvn spring-boot:run# Jar包部署启动java-jardemo-0.0.1.jar2. 访问监控面板地址
http://127.0.0.1:8080/kotime面板内置功能:
- 实时接口请求统计(QPS、总请求、失败率)
- 耗时折线图、慢接口TOP排行
- 完整方法调用链路栈、每层耗时明细
- SQL执行耗时记录、异常请求检索
八、常用功能操作说明 📊
1. 慢接口筛选
面板输入**slow-api-threshold**对应阈值,一键筛选所有超时接口,定位性能瓶颈。
2. 链路追踪使用
点击任意一条请求记录,展开**Trace链路**:
展示完整调用栈,每个方法独立耗时,快速定位阻塞代码。
3. 清空缓存数据命令(内置接口)
# curl调用清空监控缓存curlhttp://127.0.0.1:8080/kotime/clear九、生产环境优化配置建议 💡
- 生产可适当调大**
max-cache-size** 存储更多历史请求 - 根据业务调整**
slow-api-threshold**,核心接口降低阈值便于提前发现问题 - 并发量极高场景可关闭**
print-trace-log** 减少日志IO损耗 - 无需监控数据库时设置**
monitor-sql: false** 降低性能损耗
十、常见问题排查 ❓
- 访问
/kotime404- 检查pom依赖版本是否正确
- 确认配置文件
kotime.enable=true
- 无接口耗时数据
- 接口必须是@RestController/@Controller标准SpringMVC接口
- 静态资源不会被拦截采集
- 链路栈显示不全
- 调高
trace-stack-depth参数数值
- 调高