Я пытаюсь выяснить, как установить общие теги для определенных метрик.ПРИМЕЧАНИЕ: я использую систему мониторинга Cloudwatch.Вот что у меня есть:
@Bean
public MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return new MeterRegistryCustomizer<MeterRegistry>() {
@Override
public void customize(MeterRegistry registry) {
registry.config()
.meterFilter(MeterFilter.denyNameStartsWith("jvm.gc.pause"))
.meterFilter(MeterFilter.denyNameStartsWith("logback"))
.meterFilter(MeterFilter.denyNameStartsWith("process"))
.meterFilter(MeterFilter.denyNameStartsWith("system.cpu"))
.meterFilter(MeterFilter.denyNameStartsWith("jvm.buffer"))
.meterFilter(MeterFilter.denyNameStartsWith("jvm.classes")
.commonTags(Arrays.asList(Tag.of("instanceId", instanceId)));
}
};
}
Я думаю о методе MeterFilter, подобном MeterFilter.allow("metric.name").tags("tag1","tag2")
Микрометр позволяет мне устанавливать теги при создании измерителя, однакоэто не помогает мне с метрами, активированными Spring.
Похоже, единственный способ сделать это - создать два объекта MeterRegistryCustomizer, один для метрик Spring и любые создаваемые мной пользовательские метки, которым действительно нужны общие теги идругой для тех, кто этого не делает.
Есть ли способ сделать это, что я скучаю?