当Spring执行器在Webflux项目中符合Spring Metrics时

问题描述

我有一个小问题: 请在Spring Webflux项目中同时使用 Spring执行器和Spring指标有什么好处(如果有的话)?

从过去的几年来看,执行器似乎越来越受欢迎。但是,在“春季生态系统”中有这个春季指标项目。

将两者结合起来有什么好处?还是仅仅一个就足够了(在那种情况下,哪个)?也许可以实现仅将两者结合在一起的一些用例?

最后,我想跟踪在Webflux项目中执行某事所花费的时间。如:

  • webflux端点被调用了多少次?
  • 在接收和响应请求之间花费了多少时间?
  • 反应式数据库调用需要多少时间?
  • 执行该服务花了多少时间?

等...而不必重新发明轮子。是否有任何建议可以实现这一目标的Spring Friendly框架?

谢谢

解决方法

您不需要同时使用两个库。执行器是唯一用于检测Spring Boot应用程序的库。执行器使用Micrometer作为基础指标库。看起来好像是在将这种集成转移到Actuator之前创建了Spring-metrics。我认为spring-metrics不再是受支持或维护的库。

webflux端点被调用了多少次?

在接收和响应请求之间花费了多少时间?

执行器附带一个WebFilter,用于记录对系统的每次http调用。默认情况下启用。 Docs

反应式数据库调用需要多少时间?

我不认为有任何可立即使用的工具,但是您可以使用Micrometer添加自定义代码来为每个数据库调用计时。 Micrometer Timer Docs

执行该服务花了多少时间?

类似于以上。

有很多现成的支持,用于在Spring Boot中检测代码库的不同部分。 documentation

是了解您的最佳选择