首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >io.micrometer.core.instrument.config.MeterFilter :否认在春季引导中无效

io.micrometer.core.instrument.config.MeterFilter :否认在春季引导中无效
EN

Stack Overflow用户
提问于 2020-03-30 14:47:27
回答 1查看 820关注 0票数 0

我希望公开度量端点上的所有指标,但将其中一些指标发布到远程计价器注册表中。

为此,我为度量端点添加了一个SimpleMeterRegistry,并为远程仪表注册表(Datadog)添加了一个MeterRegistryCustomizer,以添加一些MeterFilter,以避免使用MeterFilter的拒绝函数进行特定度量。例如:

代码语言:javascript
复制
@Bean
public MeterRegistryCustomizer<StatsdMeterRegistry> meterRegistryCustomizer() {
    return (registry) -> new StatsdMeterRegistry(config, Clock.SYSTEM).config().meterFilter(MeterFilter.denyNameStartsWith("jvm"));
   }    

但是,所有与jvm相关的指标都可以在Datadog中看到。我试过MeterFilterReply,但没有用。请建议如何实现这一目标。

EN

回答 1

Stack Overflow用户

发布于 2020-03-31 12:56:50

您正在新的StatsdMeterRegistry上配置筛选器。在使用MeterRegistryCustomizer时,需要对传入的注册表进行操作。

代码语言:javascript
复制
@Bean
public MeterRegistryCustomizer<StatsdMeterRegistry> meterRegistryCustomizer() {
    return (registry) -> registry.config().meterFilter(MeterFilter.denyNameStartsWith("jvm"));
   }   

由于自定义程序将对所有注册表使用,因此还需要添加一个if语句,以便只对要筛选的注册表进行筛选。

代码语言:javascript
复制
@Bean
public MeterRegistryCustomizer<StatsdMeterRegistry> meterRegistryCustomizer() {
   return (registry) -> { 
      if(registry instanceof StatsdMeterRegistry) {
        registry.config().meterFilter(MeterFilter.denyNameStartsWith("jvm"));
      }   
   }
}   
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60933143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档