Счётчик не уменьшает значение 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.

→ Ссылка