Java SpringWebLFux中是否有记录/计算模块延时的功能?例如,使用@Timed注释
我想知道是否存在,或者我们是否可以使用任何功能来记录返回Mono/Flux的函数所花费的实际时间?例如,创建@Timed注释来记录它实际花费的时间。 我知道函数的返回类型是Flux/Mono,所以它应该立即返回,这就是为什么我想知道我们是否可以这样做,这样我们就可以知道哪些模块/子模块花费了多少时间 我们希望将我们的blocking spring引导服务迁移到spring webflux,因此,为了更好地理解,我们将仔细研究所有可能的选项 另外,我不熟悉反应式编程,仍在学习这种模式。您可以使用Java SpringWebLFux中是否有记录/计算模块延时的功能?例如,使用@Timed注释,java,reactive-programming,spring-webflux,project-reactor,Java,Reactive Programming,Spring Webflux,Project Reactor,我想知道是否存在,或者我们是否可以使用任何功能来记录返回Mono/Flux的函数所花费的实际时间?例如,创建@Timed注释来记录它实际花费的时间。 我知道函数的返回类型是Flux/Mono,所以它应该立即返回,这就是为什么我想知道我们是否可以这样做,这样我们就可以知道哪些模块/子模块花费了多少时间 我们希望将我们的blocking spring引导服务迁移到spring webflux,因此,为了更好地理解,我们将仔细研究所有可能的选项 另外,我不熟悉反应式编程,仍在学习这种模式。您可以使用m
metrics()
操作符为发布者计时。您可以将其与name()
和tags()
运算符结合使用,以自定义发布的度量
listenToEvents()
.name("events")
.tag("source", "kafka")
.metrics()
.doOnNext(event -> log.info("Received {}", event))
.delayUntil(this::processEvent)
.subscribe();
谢谢,请您进一步解释一下如何检索这些指标?我读了文档,他们说你必须在依赖项中加入测微计,但在那之后,他们没有提到查看指标??我加了这个。io.micrometer micrometer core 1.6.1编译必须包括,spring boot starter执行器对类路径的依赖性才能到达终点/执行器/度量要查看我的度量,我看到有一个[name].flow.duration,它显示了最大时间和总时间,但我们可以有95这样的百分位数吗,99等或更多关于时代的信息??您是否阅读了弹簧执行器文档?这可能是一个很好的起点-