diff --git a/README.md b/README.md index ea7e81c..0f58a99 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,9 @@
  • 追踪系统异常,精确定位到方法
  • 接口超时邮件通知,无需实时查看
  • 线上热更新:无需重启更新代码
  • +
  • 线上热更新:无需重启更新代码
  • 使用简单,无技术学习成本
  • -
  • pom依赖即可,无多余部署成本
  • +
  • pom依赖即可,无代码侵入,无多余部署成本
  • --- @@ -120,6 +121,40 @@ v2.2.5开始加入了邮件通知功能,当方法耗时超过阈值之后, > V2.2.8:热更新 +## 项目起因 + +曾经一个项目出现了部分功能响应时间过长的情况, +作为一名开发(che)多年的老司机,显然是打开浏览器看看是哪个接口作妖, +然后顺着网线找到Controller层,找到Service层,找到dao层... + +一层的一层的看, 一圈一圈的调试,一个方法一个方法的加入时间统计... + +一个上午的时间下来, 也就是找出了一个需要我5分钟改掉的问题, 而大部分的时间却浪费在了定位问题上,这是我所不能接受的 + +于是乎,常年面向网络编程的我决定上网找找有没有方法调用链路追踪框架,帮我记录每个接口的调用情况,以及每个方法的运行时长,这样可以快速定位到问题所在,省下我一个或者多个一早上定位问题的时间,毕竟,时间是用来解决问题的,而不是用来发现问题的,而这个问题往往是自己写下的愚蠢代码导致的! +出乎意料的是,竟然没有找到一个对应开源框架可以直接使用(也有可能是我的搜索水平有待提高,当然我是不会承认的!) + +对于我这个小项目来说需要,要求也就一下几点: + +> 接口层或者方法为主切入,清晰明了 +> +> 简单易用,无需多余维护成本 +> +> 链路可视化展示,无多余堆栈信息(我只关心我写的代码,多余堆栈信息视觉体验超差) +> + +为什么不用Skywalking、Pinpoint和Arthas之类的产品? + +Skywalking是个优秀的分布式应用性能监控工具(向吴大神致敬),更多关注分布式之间的问题,对于项目本身的粒度不是那么关注,另外就是它的颜值... + +而Pinpoint,作为颜控的我一直是很喜欢的,但是它对于调用链路的UI设计,满屏的代码密集让我已经找不到我的方法在哪里了(主观感受,不喜勿喷) + +至于Arthas,可以算是一个丰富且实用的百宝箱了,你可以在需要的时候取出命令来实现程序的各种诊断,但是终归是即用即动手(其实我不想每次都动手),输出无妆容 + +而且对于很多中小型企业来说,就是一个单体项目,并不需要多余的运维和和部署成本! + +所以就有了这个简单的小项目,喜欢的可以给给个Star,十分感谢! + ## 特别说明 1.本项目使用java8开发,其他版本未曾试验,如有什么bug还请告知!