在我急于编写这样的框架之前,我想知道是否有人遇到或开发过这样的框架。
在我们的项目中,我们已经达到了一个重点是性能改进的地步。我是一个 spring RESTful 微服务的所有者,其中有控制器,委托给使用 spring 存储库的服务。很标准,没什么特别的。
这就是我希望能够做到的。我不想注释我测量的方法,也不想在我想检查的方法的开头和结尾添加显式计时器调用。代码与日志打印一样“脏”。
我想做的是在外部配置文件中列出要测量的方法,并在 spring 的帮助下对其进行拦截和测量。将针对生产/评估环境中的不同方法收集基准。稍后我想要一个 UI 来可视化每种方法的不同结果。在这个 UI 中,我可以发现异常情况,即调用耗时最长或最短的时间。从那里我可以深入到服务层,发现我的服务中的软点,并从那里深入到存储库调用的性能不佳的查询。
在没有指定工具的情况下(我拒绝相信至少有一百个可用),我的计划是使用 Spring AOP 或 AspectJ 来拦截我列出的方法。在每次拦截中,我都会放置调用基准的日志打印。稍后我将利用 Kibana 找出每种方法的弱点,然后深入研究。
我仍然需要了解方面如何完成的实现细节,以及如何使用 kibana 准确设置数据可视化以实现该目标。
如果有人能有所启发——提供一个适合我需要的框架,或者一些经验或代码来帮助实现我的目标,或者提供一种替代方法或另一种方法来进行这些测试,我希望非常感激地听到它!谢谢一个头!