MicroProfile 指标在 Wildfly 25 上不显示自定义指标

2024-01-10

我正在尝试 Javax/JaxRs,并且使用的是 WildFly 25 服务器,我对此不太熟悉。

在搜索类似于 Spring 的 Actuator 的东西时,我偶然发现了服务器默认公开的指标和运行状况端点,以及它向应用程序端点添加自定义计数器、仪表等的能力。

然而,无论我做什么,这些自定义端点不会在默认的 http://localhost:9990/metrics URL 下公开。

我按照 GitHub 存储库下 WildFly 提供的指南进行操作:https://github.com/wildfly/quickstart/tree/main/microprofile-metrics https://github.com/wildfly/quickstart/tree/main/microprofile-metrics

教程上有一些“危险信号”,似乎与我尝试做的任何事情都不起作用。

  1. 该指南建议,如果我们想要获取 JSON 格式的指标,我们需要使用以下标头:“Accepted: application/json”,它仍然返回默认的 Prometheus 格式,在 Postman 和 Curl 中都是如此。
  2. 该指南还建议指标/供应商, 指标/应用, 指标/基础返回不同范围的指标,根据我的测试,它们都返回相同的。

就教程代码而言,我尝试在 Jakarta EE 8 Full & Web Distribution 上运行它,但它抛出以下错误:

Artifact microprofile-metrics:war exploded: java.lang.Exception: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"microprofile-metrics.war\".undertow-deployment" => "java.lang.NoClassDefFoundError: org/eclipse/microprofile/metrics/Counter Caused by: java.lang.NoClassDefFoundError: org/eclipse/microprofile/metrics/Counter

我尝试使用不同版本的 Java(1.8、11、17)编译代码,希望它可以解决问题,但无济于事。

然而,使用 WildFly Preview EE 9.1 Distribution 似乎不再抛出错误,但自定义指标仍然不起作用。

我在尝试期间向两个发行版添加了一些子系统(取自standalone.xml):

    <extension module="org.wildfly.extension.health"/>
    <extension module="org.wildfly.extension.metrics"/>
    <extension module="org.wildfly.extension.microprofile.config-smallrye"/>
    <extension module="org.wildfly.extension.microprofile.fault-tolerance-smallrye"/>
    <extension module="org.wildfly.extension.microprofile.health-smallrye"/>
    <extension module="org.wildfly.extension.microprofile.jwt-smallrye"/>
    <extension module="org.wildfly.extension.microprofile.metrics-smallrye"/>
    <extension module="org.wildfly.extension.microprofile.openapi-smallrye"/>
    <extension module="org.wildfly.extension.microprofile.opentracing-smallrye"/>
    <extension module="org.wildfly.extension.undertow"/>

(为简洁起见,省略了其他内容)

我还尝试通过创建以下 bat 并启动它来启用统计信息:

call standalone.bat -Dwildfly.statistics-enabled=true

I am using IntelliJ, so I tried doing the same from within the IDE: IDE launch configuration

(“启用统计”选项已添加到虚拟机选项和启动期间的蝙蝠上,以确保其正常工作)

以下是我正在使用的依赖项(基于我的服务器版本):

<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.wildfly.bom</groupId>
        <artifactId>wildfly-microprofile</artifactId>
        <version>25.0.0.Final</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.wildfly.bom</groupId>
        <artifactId>wildfly-jakartaee8-with-tools</artifactId>
        <version>25.0.0.Final</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

<dependencies>
    <!-- Import the MicroProfile Metrics API, we use provided scope as the API is included in the server -->
    <dependency>
      <groupId>org.eclipse.microprofile.metrics</groupId>
      <artifactId>microprofile-metrics-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- Import the CDI API, we use provided scope as the API is included in the server -->
    <dependency>
      <groupId>jakarta.enterprise</groupId>
      <artifactId>jakarta.enterprise.cdi-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- Import the Jakarta REST API, we use provided scope as the API is included in the server -->
    <dependency>
      <groupId>org.jboss.spec.javax.ws.rs</groupId>
      <artifactId>jboss-jaxrs-api_2.1_spec</artifactId>
        <scope>provided</scope>
    </dependency>
</dependencies>

约翰。我是 WildFly 的 Metrics/MP Metrics 组件负责人,所以希望我能帮助您解决问题。

在我对 WF 源代码进行深入研究之前,您能确认一下您正在使用哪种配置吗?看起来您正在使用standalone.xml 配置。虽然它确实有指标扩展,但它不是 MP 指标。为此,您需要使用standalone-microprofile.xml。

希望您的问题就是这么简单。如果没有,请告诉我,我们将进行更深入的挖掘。 :)

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

MicroProfile 指标在 Wildfly 25 上不显示自定义指标 的相关文章

  • 不同帐户上的 Spring Boot、JmsListener 和 SQS 队列

    我正在尝试开发一个 Spring Boot 1 5 应用程序 该应用程序需要侦听来自两个不同 AWS 帐户的 SQS 队列 是否可以使用 JmsListener 注解创建监听器 我已检查权限是否正确 我可以使用 getQueueUrl 获取
  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp

随机推荐

  • 从VBA中的日期中减去?

    我在 Excel VBA 中对日期进行操作时遇到很大问题 我有一个带有文本框的表单 用户将在其中输入日期 问题是他可能会以不同的格式输入 例如 1 08 2011 表示 8 月 1 日 或 8 1 11 表示同一天 现在我想做的是从他在文本
  • 如果用户从不点击警报,如何处理超时错误?

    我有一个 Google Sheets 插件 它使用 App Script Ui 服务提供的对话框 即SpreadSheetApp getUi alert 这通常工作正常 除非用户在 5 分钟内没有选择选项或关闭警报 假设他们切换到不同的选项
  • 模拟 raw_input python

    我有这个函数应该接收列表 x y def input origem origem raw input Entre com o valor de x origem eval origem return origem def input sai
  • 发生 500 错误时向管理员发送电子邮件

    在 python 中 当发生 500 错误时 如何向管理员发送电子邮件 我使用的网络框架是 bottle 只需使用 error code 装饰器来定义错误处理页面 如下所示 from bottle import run error rout
  • 如何使用按钮添加更多输入字段 - Angular 2 动态表单

    所以我在这里使用了指南 https angular io docs ts latest cookbook dynamic form html https angular io docs ts latest cookbook dynamic
  • 通过 JNI C 代码将 PNG 图像作为 BufferedImage 加载到 Java 中

    我有以下问题 我有 C 代码 它获取 PNG 图像作为基本原始数据并将其保存在内存中 我希望通过使用 JNI 将这些原始数据转换为 Java 中的 BufferedImage 有谁知道这样做的任何方法或以前做过吗 我假设您了解如何使用 JN
  • Angular Typescript getter 和 setter 返回未定义

    我有一个类 我需要该类中的属性来返回对象中的一些字段 我在 Net 中这样做过几次 但在 Angular 中 我正在与返回的 未定义 作斗争 我可以确认属性 transLanguageId transLangDesc 翻译 已填充到 IBa
  • 如何解决 VS2013 错误 SQL71501:过程 X 对程序集 Y 存在未解析的引用?

    作为从 Visual Studio 2010 升级到 2013 的努力的一部分 我正在研究几个需要的 SQL Server CLR 存储过程EXTERNAL访问 并为此目的被隔离在一个单独的程序集中 我几乎可以毫无困难地构建所有东西 但这给
  • 如何更改 Capistrano 使用的临时目录?

    如何更改 Capistrano 使用的临时目录 示例 代替 tmp 我想用 home user tmp 我目前的VPS有 tmp安装为noexec 这在尝试运行时给了我权限被拒绝的错误cap production deploy 在 卡皮斯特
  • 用于撰写 Facebook 电子邮件/消息的 URL(通过 URL 参数撰写电子邮件)

    Facebook 过去使用以下 URL 格式来撰写消息 http www facebook com compose id XXXXXX message 然而 上面的 URL 不再起作用 它只是将用户转发到 Facebook 主页 有人可以通
  • 有没有办法以编程方式确定图像链接是错误的?

    在我正在处理的网站中 显示的图像并不总是 显示 因为链接可能是坏的或过时的 或其他什么 你可以在这里看到它 为什么我的动态 HTML 看起来是随机放置的 https stackoverflow com questions 17689644
  • 在 Facebook 上分享的人员列表

    我已经搜索文档有一段时间了 但似乎找不到实现此目的的方法 这些信息是公开的 在 Facebook 页面上 链接显示 查看所有 股 但我似乎找不到通过 FQL 或图形 API 访问此信息的方法 我知道我可以获得给定帖子的点赞列表 https
  • Haskell 中“undefined”的类型签名意味着什么?

    我是 Haskell 的初学者 我对undefined函数的类型签名 我期望有更简单的东西 但我在 Hackage 上发现了这个 undefined forall r RuntimeRep forall a TYPE r HasCallSt
  • 自引用表 SQL 查询

    我有一个有四列的表格id name designation manager id 表架构 CREATE TABLE Employee Information id INTEGER PRIMARY KEY AUTOINCREMENT NOT
  • excel中的数组改变字符串的格式

    我想要分离图像中的数据 图像中的代码一旦到达分号和缩进就不会分开 我想将这些单词分离到一张新纸上 以便我将在数组中搜索某些单词 谢谢您的帮助 下面的代码不仅会分割数据 还会复制格式 这似乎是您想要的 假设数据位于 A 列 Option Ex
  • Windows Phone 8.1 API

    有 Windows Phone 8 1 API 可供参考吗 这是因为我想开发Windows Phone 8 1应用程序 但我不知道在哪里引用API 因为Windows Phone 8 1和8有很大的不同 所以我无法引用Windows Pho
  • 点击即可从 SwiftUI 小部件执行深层链接

    我有一个带有两个文本的简单小部件 中等大小 我想要的是能够执行深层链接以引导用户到我的应用程序的特定部分 但我似乎找不到一种方法这样做 我写的视图 很简单 HStack Text FIRST ITEM Spacer Text SECOND
  • liquibase <插入> :插入当前日期

    我正在尝试使用 liquibase 插入标签插入数据 当我向 value tag 输入数字时 它工作正常 但我正在寻找一个简单的函数来处理默认日期 数据库的当前日期时间 即使我没有将它作为表定义的一部分 Eg
  • 如何将 null 传递给需要 long 或 int 的方法?

    可能是个愚蠢的问题 但我怎样才能通过null到需要的方法long or int Example TestClass public void iTakeLong long id public void iTakeInt int id 现在我如
  • MicroProfile 指标在 Wildfly 25 上不显示自定义指标

    我正在尝试 Javax JaxRs 并且使用的是 WildFly 25 服务器 我对此不太熟悉 在搜索类似于 Spring 的 Actuator 的东西时 我偶然发现了服务器默认公开的指标和运行状况端点 以及它向应用程序端点添加自定义计数器