使用 Micrometer 和 WebFlux 测量执行时间

Posted

技术标签:

【中文标题】使用 Micrometer 和 WebFlux 测量执行时间【英文标题】:Measuring execution time using Micrometer and WebFlux 【发布时间】:2019-12-08 12:43:33 【问题描述】:

我想测量一些使用 WebFlux 进行的异步调用的长度。我一直在阅读各种来源,因为我了解@Timed 注释正在与 AspectJ 一起使用,并且基本上只是在方法调用之前启动一个计时器并在之后停止它。这显然不适用于异步方法。

有没有针对 WebFlux 的解决方案,或者我唯一能做的就是传递执行时间戳,弄乱我的应用程序逻辑?

【问题讨论】:

【参考方案1】:

Project Reactor 原生支持 Micrometer,请参阅文档了解更多信息: https://projectreactor.io/docs/core/milestone/reference/#_publisher_metrics

例如,您可能想要监控reactor.flow.duration

【讨论】:

以上是关于使用 Micrometer 和 WebFlux 测量执行时间的主要内容,如果未能解决你的问题,请参考以下文章

spring赌上未来的一击:WebFlux性能实测

Spring-WebFlux使用,一文带你从0开始学明白Spring-WebFlux,学明白响应式编程

螺旋测微尺

如何使用 Micrometer 和 Alertmanager 在 Prometheus 中提醒 JVM 内存使用情况

MicroMeter:删除/禁用某个标签

通过micrometer实时监控线程池的各项指标