Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringWebLFux中是否有记录/计算模块延时的功能?例如,使用@Timed注释_Java_Reactive Programming_Spring Webflux_Project Reactor - Fatal编程技术网

Java SpringWebLFux中是否有记录/计算模块延时的功能?例如,使用@Timed注释

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

我想知道是否存在,或者我们是否可以使用任何功能来记录返回Mono/Flux的函数所花费的实际时间?例如,创建@Timed注释来记录它实际花费的时间。 我知道函数的返回类型是Flux/Mono,所以它应该立即返回,这就是为什么我想知道我们是否可以这样做,这样我们就可以知道哪些模块/子模块花费了多少时间

我们希望将我们的blocking spring引导服务迁移到spring webflux,因此,为了更好地理解,我们将仔细研究所有可能的选项

另外,我不熟悉反应式编程,仍在学习这种模式。

您可以使用
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等或更多关于时代的信息??您是否阅读了弹簧执行器文档?这可能是一个很好的起点-