现在公司业务代码写的比较混乱,框架也不咋地,总是出现一些玄学的问题,为了避免相互甩锅,我自己想在代码中加入追踪,同时输出接口响应时间。大家有没有什么好的框架或者想法,对代码的侵入最小。
- 接口——输出被调用接口返回时间,调用接口(调用线程) Id 方法名
- dao 层输出数据库操作时间, sql 查询所用时间, redis 缓存操作所用时间。
- 特别是对于多线程总是容易出现一些莫名其妙的问题,有什么方案能够了解多线程执行的内部细节,有什么比打印日志优雅的方式不。多线程推送特别容易出问题,漏推,多推,延迟,真是蛋疼。
- 项目采用分布式部署,有时一个请求打印好几条同样的日志,我认为架构(或者 nginx 部署)有问题,架构师要我给出更实际一点的证据,我只能在不同的服务器日志中找到同一个请求打印两条同样的日志,时间相隔 1s ,我能够肯定只发出了一次请求。