在 spring-boot 中为石墨千分尺事件添加前缀
Add prefix to graphite micrometer event in spring-boot
我正在使用 spring-boot 2
和 graphite
。我想为我的所有指标添加前缀。
@Bean
public MeterRegistry graphiteRegistsry() {
return new GraphiteMeterRegistry(
GraphiteConfig.DEFAULT, Clock.SYSTEM,
(id, convention) -> "prefix." +
HierarchicalNameMapper.DEFAULT.toHierarchicalName(id,convention));
}
如果我使用这段代码,这实际上是添加前缀,但也会创建一些没有前缀的指标。似乎他们几乎所有的指标都是重复的。
如何添加这个前缀?并且所有从这个应用程序转到石墨的指标都将包含前缀?
谢谢。
首先,您可以使用 MeterRegistryCustomizer
添加一个通用标签:
@Configuration
public class MetricsConfig {
@Bean
public MeterRegistryCustomizer<MeterRegistry> commonTags() {
return r -> r.config().commonTags("commonTag", "somePrefix");
}
}
其次,扩展您的应用程序属性,将此标记转换为前缀:
management.metrics.export.graphite.tags-as-prefix=commonTag
请看详细解释here
我正在使用 spring-boot 2
和 graphite
。我想为我的所有指标添加前缀。
@Bean
public MeterRegistry graphiteRegistsry() {
return new GraphiteMeterRegistry(
GraphiteConfig.DEFAULT, Clock.SYSTEM,
(id, convention) -> "prefix." +
HierarchicalNameMapper.DEFAULT.toHierarchicalName(id,convention));
}
如果我使用这段代码,这实际上是添加前缀,但也会创建一些没有前缀的指标。似乎他们几乎所有的指标都是重复的。
如何添加这个前缀?并且所有从这个应用程序转到石墨的指标都将包含前缀?
谢谢。
首先,您可以使用 MeterRegistryCustomizer
添加一个通用标签:
@Configuration
public class MetricsConfig {
@Bean
public MeterRegistryCustomizer<MeterRegistry> commonTags() {
return r -> r.config().commonTags("commonTag", "somePrefix");
}
}
其次,扩展您的应用程序属性,将此标记转换为前缀:
management.metrics.export.graphite.tags-as-prefix=commonTag
请看详细解释here