我的Quarkus应用程序正在使用测微仪和Smallrye容错扩展,我很欣赏使用@CircuitBreaker注解自动添加指标的事实。然而,格式和标签有点丑陋,会使维护和操作仪表板和监控变得痛苦,因为它们似乎是基于包和类自动生成的。例如:重构或移动它们基本上会破坏Prometheus查询。
是否可以使用Quarkus进行配置?
这就是开箱即用的指标
ft_some_really_long_package_name_ClassName_methodName_circuitbreaker_halfOpen_total{} 0
我想要的是这样的东西。
circuitbreaker_halfOpen_total{package="com.somepackage", class="SomeClass", method="SomeMethod"} 0
发布于 2021-06-15 01:20:27
嗯。我认为你应该能够用一个MeterFilter来做到这一点,但是要得到正确的字符串(拆分包/类名/方法名)
https://quarkus.io/guides/micrometer#using-meterfilter-to-configure-metrics
@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://stackoverflow.com/questions/65063496
复制相似问题