Счётчик не уменьшает значение Micrometr Counter Spring Boot 2
Нужно собрать метрику, для этих целей использую решение из коробки спринга Зависимости в помнике
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
В сервисном слое есть код
@Autowired
MeterRegistry meterRegistry
this.meterRegistry.counter(order.getorderTypeId() + "_counter_" + statusRequest.getStatus());
Counter counter = this.meterRegistry.counter(order.getorderTypeId() + "_counter_" + order.getStatus());
counter.increment(-1.0);
Почему - то "counter.increment(-1.0)" не отнимает значение от текущего счетчика. А повышение ".increment()" счётчика отлично работает.
Ответы (1 шт):
Автор решения: Aleks
→ Ссылка
Всем спасибо, но я нашел решение может это костыль, но он работает.
Counter counter = meterRegistry.counter(operation.getorderTypeId() + "_counter_" + order.getStatus());
double count = counter.count();
if (count > 0) {
meterRegistry.remove(meterRegistry.counter(order.getorderTypeId() + "_counter_" + order.getStatus()));
meterRegistry.counter(order.getorderTypeId() + "_counter_" + order.getStatus()).increment(count - 1);
}
Я удаляю счетчик и создаю заново со значением меньше на 1.