Микрометр - добавить префикс по умолчанию в метри c имя - PullRequest
1 голос
/ 06 марта 2020

В микрометре мы можем создать новый датчик, сделав что-то вроде

myMeterRegistry.gauge("my_metric", 69);

См. Код здесь https://github.com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/java/io/micrometer/core/instrument/MeterRegistry.java#L468

Можно было бы включить " префикс "name по умолчанию для моего myMeterRegistry объекта?

Вручную, он должен выглядеть следующим образом:

myeterRegistry.gauge("myprefix_my_metric", 69);

Моя цель состоит в том, чтобы каждый разработчик, который создает показатель metri c в моем приложении не нужно заботиться о добавлении «myprefix_» в начале метри c name

1 Ответ

1 голос
/ 09 марта 2020

A MeterFilter позволит вам сделать это (но не делает!):

new MeterFilter() {
    @Override
    public Meter.Id map(Meter.Id id) {
      return id.withName("myprefix." + id.getName());
    }
}

Однако общий префикс обычно является запахом неверной размерности. Обычно пользователи пытаются добавить регион, хост или имя приложения в качестве префикса. Они лучше предоставляются в виде тегов, поскольку с тех пор вы можете агрегировать в разных системах и использовать общие панели мониторинга.

Рекомендуется подход commonTags:

registry.config().commonTags("team", "myteam", "region", "us-east-1");

Для иерархических реестров счетчиков теги будут включены в названии в качестве префикса.

...