代码之家  ›  专栏  ›  技术社区  ›  noah

spring boot 2-一些graphite度量没有从customizer接收公共标记

  •  1
  • noah  · 技术社区  · 7 年前

    我使用的是SpringBoot2+Graphite报告,其中一些指标接收到了常见的标签,而另一些则没有。

    我有两个bean,除了名称之外都是相同的,它们都创建了一个具有相同代码的计时器。其中一个是先创建的,没有应用CommonTags,另一个是。例如。,

    @Autowired
    MeterRegistry meterRegistry
    
    @Bean Foo doesNotGetCommonTags() {
        meterRegistry.timer(...);
        ...
    }
    
    @Bean MeterRegistryCustomizer<GraphiteMeterRegistry> graphiteCustomizer() {
       return r -> r.config().commonTags(...);
    }
    
    @Bean Foo getsCommonTags() {
        meterRegistry.timer(...);
        ...
    }
    

    这似乎与bean的创建顺序有关,但我无法确定如何在创建仪表之前确保注册表完全定制。im使用公共标记作为前缀,因此这会导致一些度量被不固定地发送到graphite,而另一些则是。

    我不明白这是什么原因。我的graphitecustomizer应该在注入metrics注册表之前应用,对吧?

    1 回复  |  直到 7 年前
        1
  •  1
  •   noah    7 年前

    我的解决方法(我不认为是一个完整的解决方案)是不使用 MeterRegsitryCustomizer 而是用我想要的自定义创建Graphite注册表。