如何将 Micrometer 计时器与 webflux 端点一起使用

2024-01-08

是否有任何简单的方法可以将 Micrometer 计时器与 Webflux 控制器一起使用?

看来 @Timed 仅适用于非反应式方法。对于反应性来说,它记录的时间值非常低。

我发现了一个类似的问题:如何使用 Micrometer Timer 记录异步方法的持续时间(返回 Mono 或 Flux) https://stackoverflow.com/questions/49311495/how-to-use-micrometer-timer-to-record-duration-of-async-method-returns-mono-or但对于这样一个常见问题来说,答案太复杂了

有任何想法吗?


如果您想测量 Web-flux 方法/调用的时间,您可以直接从 Flux/Mono 轻松使用指标(加上配置您的项目以导出指标,例如石墨)

一个例子看起来像

Flux<String> dataStream = Flux.just("AA", "BB", "CC", "DD");
dataStream.name("my-test-name").tag("key1", "value1").metrics().subscribe(p ->
   {
      System.out.println("Hello " + p);
      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         e.printStackTrace();
   }
});

然后在我的例子中,石墨中的指标位于 application-name.magdalena 下。reactor.flow.duration.exception.flow.my-test-name.status.completed.type.Flux.p50p50 - 一半请求的延迟(或 98% pf 请求的 p98 延迟等)。感谢他们在这个例子中的人为延迟,您可以观察到它们的值接近 4000(处理了 1s x 4 个元素)。

石墨的 application.yml 中的配置:

management:
    metrics:
        export:
            graphite:
                enabled: true
                host: graphite-lhr10.something.com
                port: 2003
                protocol: plaintext

@Timed 注释对我来说也不起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Micrometer 计时器与 webflux 端点一起使用 的相关文章

  • 使用 Guice 注入类集合

    我正在尝试用 Google Guice 2 0 注入东西 我有以下结构 FooAction implements Action BarAction implements Action 然后我有一个带有以下构造函数的 ActionLibrar
  • 在Java中将*s打印为三角形?

    我在 Java 课程中的作业是制作 3 个三角形 一份左对齐 一份右对齐 一份居中 我必须为什么类型的三角形制作一个菜单 然后输入需要多少行 三角形必须看起来像这样 到目前为止 我能够完成左对齐的三角形 但我似乎无法获得其他两个 我尝试用谷
  • 单元测试组合服务方法

    我正在为一个类编写 junit 单元测试 该类使用以下方法实现公开的接口 public Set
  • 在命令行java中突出显示文本[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一项任务是重新创建 unix cal 程序 除了一部分之外 相当简单 今天 它突出显示了该数字 我不知道该怎么做 关于如何在 Ja
  • 在 Java 中从 SOAPMessage 获取原始 XML

    我已经在 J AX WS 中设置了 SOAP WebServiceProvider 但我无法弄清楚如何从 SOAPMessage 或任何 Node 对象获取原始 XML 下面是我现在获得的代码示例 以及我试图获取 XML 的位置 WebSe
  • 尝试获取屏幕上绘制的每个随机圆圈的 x、y 坐标

    您好 我正在制作一款游戏 该游戏将在屏幕上创建随机圆圈 随机创建的圆圈的值为红色或绿色 我的问题是 我希望不仅能够确定用户何时单击其中一个圆圈 而且还能够确定他们最终单击的圆圈 红色或绿色 下面是我的代码 我的主要问题是试图找到将要绘制的圆
  • java中的单链表和双向链表?

    在java中 哪个集合接口可以有效地实现单链表和双向链表 请问代码示例吗 毫不奇怪 实现双向链表的正确接口是 LinkedList 看Java文档 http docs oracle com javase 8 docs api java ut
  • Android WebView文件上传

    我正在开发一个 Android 应用程序 基本上它是一个WebView和一个进度条 Facebook 的移动网站 m facebook com 已加载到WebView 当我单击 选择文件 按钮上传图像时 没有任何反应 我已经尝试了所有的解决
  • 当 JMS Prod 位于辅助 POJO 类中时,如何在事务中包含 JMS Producer

    简短的问题 有没有办法强制无状态 EJB 调用的 POJO 存在于 EJB 的上下文中 以便事务和资源注入可以在 POJO 中工作 具体来说 在我想要做的事情的上下文中 如何在 EJB 的事务中包含 POJO JMS 生产者 该生产者在调用
  • 在 Junit 测试中使用 ReflectionTestUtils.setField()

    我是 JUnittesting 的新手 所以我有一个问题 谁能告诉我为什么我们使用ReflectionTestUtils setField 在我们的 Junit 测试示例中 正如评论中提到的 java 文档很好地解释了用法 但我还想给你们举
  • 将现有 eclipse 项目导出到 war 文件时出现“模块名称无效”

    我正在尝试将现有 Eclipse 项目导出到 war 文件 但无论我在 WAR Export 对话框页面中输入什么 系统总是返回 模块名称无效 我不知道如何解决这个问题 谢谢您的帮助 我有同样的问题 我修复了它 请按照以下步骤操作 您可以创
  • Android 解析 JSON 卡在 get 任务上

    我正在尝试解析一些 JSON 数据 我的代码工作了一段时间 我不确定我改变了什么突然破坏了代码 当我运行代码时 我没有收到任何运行时错误或警告 我创建一个新的 AsyncTask 并执行它 当我打电话时 get 在这个新任务中 调试器在此行
  • 如何在 Bean Validation 1.0 中构造 ConstraintViolationException?

    我对 javax validation API 感到困惑 我正在编写一个简单的测试来理解它 Sample sample new Sample Set
  • 改变 Java 中凯撒移位的方向

    用户可以通过选择 1 向左或 2 向右移动字母来选择向左或向右移动 左边工作正常 右边不行 现在它显示了完全相同的循环 但我已经改变了所有 and 以不同的方式进行标记 最终我总是得到奇怪的字符 如何让程序将字符向相反方向移动 如果用户输入
  • Jetty Plugin 9启动不喜欢icu4j-2.6.1.jar

    我对 mortbay 的 Maven jetty 插件 6 有相同的配置
  • Java8:流映射同一流中的两个属性

    我有课Model带有以下签名 class Model private String stringA private String stringB public Model String stringA String stringB this
  • Java 中处理异步响应的设计模式

    我读过类似问答的答案 如何在 JAVA 中创建异步 HTTP 请求 https stackoverflow com questions 3142915 how do you create an asynchronous http reque
  • 如何将库添加到 LIBGDX 项目的依赖项 gradle

    一切都在问题中 我已经尝试了在 SO 和其他网站中找到的所有答案 但没有运气 这就是我迄今为止尝试过的 adding compile fileTree dir lib include jar 到我的 build gradle adding
  • Java 中的微分方程

    我正在尝试用java创建一个简单的SIR流行病模型模拟程序 基本上 SIR 由三个微分方程组定义 S t l t S t I t l t S t g t I t R t g t I t S 易感人群 I 感染人群 R 康复人群 l t c
  • Jackson 反序列化相当于 @JsonUnwrapped 吗?

    假设我有以下课程 public class Parent public int age JsonUnwrapped public Name name 生成 JSON age 18 first Joey last Sixpack 我如何将其反

随机推荐

  • 从 iPhone 上传实时流媒体视频,例如 Ustream 或 Qik

    如何将 iPhone 上的视频直播到 Ustream 或 Qik 等服务器 我知道 Apple 有一种叫做 Http Live Streaming 的东西 但我发现的大多数资源都只讨论将视频从服务器流式传输到 iPhone 我应该使用 Ap
  • CMake 可以生成不使用 cmake 的构建脚本吗?

    问题 CMake 是否可以生成不以任何方式使用 CMake 的构建脚本 如果不是 那么修改 CMake 生成的 automake 脚本而不对 CMake 进行任何检查有多难 我是 CMake 的忠实粉丝 以至于我支持在当前的工作环境中过渡到
  • 匹配前后不带字母或重音字母的所有数字字符

    我试试这个 b d b 但对于这个字符串 0225 appt parking niv 2 0015 1 5 tage sqdqs25485 7871sdd 我想找到 0225 2 0015 1
  • ts-node 将选项传递给节点

    有没有办法在调用 ts node 时将选项传递给节点 我正在尝试在 Node 中使用一个实验性功能 如果它能与 ts node 一起使用 那就太好了 这就是我目前正在做的事情 ts node src utils repl ts experi
  • 抽象类的命名约定

    我清楚地记得 曾经 微软推行的指导方针是在抽象类中添加 Base 后缀 以消除它是抽象的事实 因此 我们有这样的课程System Web Hosting VirtualFileBase System Configuration Config
  • spring 工具套件 4 中的内容自动完成

    内容的自动完成功能在 spring 工具套件 4 中不起作用 我已经检查了设置 谁能告诉我如何解决这个问题 例如 如果我进入数学 gt 并按 ctrl 空格键获取建议 它不显示默认模板 In the 自动激活部分填写自动激活触发器对于Jav
  • 如何禁用产品图片的缩放效果?

    我正在使用 Weebly 创建一个在线商店 使用模板并遇到了我不喜欢的东西 每次用户单击产品时 都会出现产品页面 如果将鼠标悬停在产品图像上 则会初始化缩放功能 如何禁用此效果 我有一种感觉 就像 display none 一样简单 但我似
  • 避免在 es6 中导出单例

    正如我所见 ES6 导出对象文字的单例 module A export const singleton user a asd b setTimeout gt console log singleton user 5000 asd modul
  • 如何在 Widget Service 类中检索共享首选项数据,而不传递错误的默认值或出现空指针错误?

    我正在尝试在我的应用程序中运行一个小部件 小部件数据 同步频率 用户名等 在 WidgetConfig 类中决定 然后它打开一个小部件提供程序 该提供程序创建小部件 最后一个服务更新视图并调用服务器来更新数据 Here is some of
  • 渲染错误;无法解析@id/search_edit_frame

    我遇到一个错误 提示无法解决 id search edit frame我不知道为什么 我尝试过文件 gt 无效缓存 gt 只需重新启动并重新启动android studio 还尝试更改我支持的所有 api 的渲染版本
  • 使用 RTMP Stream Publisher 发布视频时如何在 iPhone 上存储视频?

    现在我正在使用RTMPStreamPublisher在 wowzaserver 上发布视频 它已经成功上传到那里 但是谁能告诉我如何在上传到服务器的同时在 iPhone 上存储相同的视频 我在用https github com slavav
  • 如何在 Zurb Foundation 4 中使用断点?

    我想要3个断点 一般来说 我想为小型 中型和大型窗格配置网格 查看基础网格的文档 为 小 和 大 提供了示例类名 然而 我怀疑基金会可以更灵活 所以我查看了文件 foundation global scss 果然 它似乎具有适用于一系列窗格
  • 使用核心 SQLAlchemy 进行插入和更新

    我有一个数据库 但没有元数据或 orm 类 该数据库已存在 我设法通过以下方式使所选内容正常工作 from sqlalchemy sql expression import ColumnClause from sqlalchemy sql
  • 将小写字母转换为大写字母

    我是 Haskell 的新手 在定义一个将所有小写字母转换为大写字母并保持其余部分不变的函数时遇到一些问题 到目前为止 我尝试在书中解决这个问题 capitalise String gt String capitalise xs capit
  • 当 mixin 方法名冲突时,如何选择调用的方法?

    当您在方法名称冲突的类中包含模块时 它将使用该类定义的方法 有没有办法选择我想要运行的一个 module B def self hello hello B end end class A include B def self hello h
  • 在 ASP.net MVC6 网站上使用 Office Interop

    我想从我的 ASP net MVC 6 网站生成 Word 文档 我已经实现了多种在 POC 中生成文档的方法 DocX NetOffice OpenXml COM Interop 对象 我被它诱惑了 我制作了一个控制台应用程序来测试并且它
  • 如何将Firebase的身份验证链接到实时数据库?

    正如标题所说 我需要将经过身份验证的用户链接到数据库 这样不同的用户只能看到自己的数据 我已经成功实现了Firebase的身份验证功能 但记录不会保存到实时数据库 我不知道如何执行此操作 谁能教我如何实现这样的功能 我尝试了数据库 我大致知
  • 我可以在 Swift 中模拟特征/混合吗?

    Swift 是否有一种像 Scala 那样混合特征的方法 Swift 书中关于使用扩展向现有类添加协议的部分非常接近 但是 由于协议不能包含实现 因此不能用于将代码混合到类中 还有别的办法吗 模拟混合的一种方法是使用通用函数来提供实现 例如
  • ClassCastException:org.sonar.java.model.expression.MethodInitationTreeImpl 无法转换为 org.sonar.plugins.java.api.tree.IdentifierTree

    今天我们将SonarQube Java插件从3 2升级到3 3 http docs sonarqube org display PLUG Java Plugin http docs sonarqube org display PLUG Ja
  • 如何将 Micrometer 计时器与 webflux 端点一起使用

    是否有任何简单的方法可以将 Micrometer 计时器与 Webflux 控制器一起使用 看来 Timed 仅适用于非反应式方法 对于反应性来说 它记录的时间值非常低 我发现了一个类似的问题 如何使用 Micrometer Timer 记