java—在SpringWebLFux中是否有记录/计算模块延时的功能?例如,使用@timed注解

ff29svar  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(302)

我想知道是否有,或者我们是否可以利用任何功能来记录返回mono/flux的函数所花费的实际时间?例如,创建一个@timed注解来记录它实际占用的时间。我知道函数的返回类型是flux/mono,所以它应该立即返回,这就是为什么我想知道我们是否真的可以这样做,这样我们就可以知道哪些模块/子模块花费了多少时间?
我们想将我们的阻塞spring引导服务迁移到springwebflux,所以我们将仔细检查所有可能的选项,以便更好地理解。
p、 我对React式编程还很陌生,仍在学习这种模式。

qqrboqgw

qqrboqgw1#

你可以用 metrics() 操作员为发布者计时。你可以把这个和 name() 以及 tags() 运营商定制发布的指标。

listenToEvents()
   .name("events") 
   .tag("source", "kafka")
   .metrics() 
   .doOnNext(event -> log.info("Received {}", event))
   .delayUntil(this::processEvent)
   .subscribe();

publisher metrics文档

相关问题