当前位置: 首页 > 知识库问答 >
问题:

Quarkus为SmallRye容错配置度量

董联
2023-03-14

我的Quarkus应用程序使用测微计和Smallrye容错扩展,我很欣赏使用@Circuit Breaker注释自动添加度量的事实。然而,格式和标签有点难看,这会让维护和操作仪表盘以及监控变得很麻烦,因为它们似乎是基于包和类自动生成的。示例:重构或移动它们基本上会破坏Prometheus查询。

可以用Quarkus配置这个吗?

这就是开箱即用的指标

ft_一些_真的_长_包装_名称_类名_方法名;断路器o半开o总数{}0

我想要的是这样的东西

断路器_半开_总{package=“com.somepackage”,class=“SomeClass”,method=“SomeMethod”}0

共有1个答案

许俊风
2023-03-14

嗯。我认为,你应该可以用MeterFilter来实现这一点,但要正确地使用字符串(拆分package/classname/methodName)

https://quarkus.io/guides/micrometer#using-meterfilter用于配置度量

@Produces
@Singleton
public MeterFilter renameFaultToleranceMetrics() {
    return new MeterFilter() {
        @Override
        public Meter.Id map(Meter.Id id) {
            if (id.getName().endsWith("circuitbreaker_halfOpen_total")) {
                // Do things here to make a new list of tags based on string munging
              List<Tag> tags = ...
              return id.withName("circuitbreaker_halfOpen_total").replaceTags(tags);
            }
            return id;
        }
    };
}

这里有一个例子:https://github.com/quarkusio/quarkus/blob/main/integration-tests/micrometer-mp-metrics/src/main/java/io/quarkus/it/micrometer/mpmetrics/RenameMeterFilterProducer.java

 类似资料:
  • 我如何处理quarkus kafka smallrye流媒体处理的异常? 我的代码与quarkus指南上的命令生产者示例非常相似(https://quarkus.io/guides/kafka#imperative-用法) 我想要类似于香草Kafka库的东西,它提供了处理请求发送的每条记录的回调的选项。 Tks

  • 我尝试执行Graphql客户端查询。遗憾的是,我找不到任何关于如何使用动态图QL客户端进行简单变异的文档或示例。这是文件https://quarkus.io/guides/smallrye-graphql-client. {0}..{4} 是可变占位符。有人知道如何使用DynamicGraphlQlClient执行这个查询吗? 谢谢

  • 目前我有一个Quarkus应用程序,它从一个Kafka话题消费,并在另一个Kafka话题上生产。它使用SmallRye反应消息传递。效果很好。由于外部更改,要在其上生成的主题和要从其消费的主题将在不同集群上的Kafka服务器上(并且不应该/不能组合在一个集群中)。 在这里添加一个服务器并没有帮助,它会尝试将数据传播到代理上,这不是我的本意。 是否可能连接到多个集群(可能每个主题设置一个服务器)?在

  • 我想用P6Spy和Quarkus一起使用,但无法按照一般说明配置它。有人设法让这两个人一起工作吗?

  • 我遵循以下指南https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/2/testing/testing.html在没有kafka代理的情况下进行测试。我已设置了以下QuarKustestResource: