Код: Выделить всё
Counter.builder("request_count")
.tags("method","GET")
.tags("path","/my/test/path")
.register(meterRegistry)
.increment();
Код: Выделить всё
# HELP request_count_total
# TYPE request_count_total counter
request_count_total{method="GET",path="/my/test/path"} 1.0
При подключении отладчика к приложению и отслеживании кода я определил, что это происходит потому, что любой определенный пользовательский класс NamingConvention в отношении метрики счетчика в конечном итоге игнорируется, поскольку внутренний класс PrometheusMeterRegistry определяет CollectorRegistry, который обновляет все имена метрик счетчика, включая Суффикс _total, непосредственно перед публикацией показателя. Вот фрагмент метода CollectorRegistry.collectorNames(), который выполняет переименование:
Код: Выделить всё
while(var4.hasNext()) {
Collector.MetricFamilySamples family = (Collector.MetricFamilySamples)var4.next();
switch (family.type) {
case COUNTER:
names.add(family.name + "_total");
names.add(family.name + "_created");
names.add(family.name);
break;
1) Помимо привязки Micometer к одной реализации (т. е. к Прометею), есть ли какие-либо другие недостатки этого подхода?
2)Можете ли вы указать мне на какую-либо документацию, в которой приведены примеры непосредственного использования PrometheusMeterRegistry?>
Подробнее здесь: https://stackoverflow.com/questions/752 ... etric-name
Мобильная версия