观察后如何在弹簧靴中重置仪表指标

Posted

技术标签:

【中文标题】观察后如何在弹簧靴中重置仪表指标【英文标题】:How I can reset gauge metrics in spring boot after observed it 【发布时间】:2021-07-29 08:02:34 【问题描述】:

我有一个带有计量指标的 Spring Boot 微服务。

     @Slf4j
     @Service
     public class HitControlService 
        private final AtomicInteger sentSuccessValue;
        private final AtomicInteger sentFailureValue;

        public HitControlService(MeterRegistry meterRegistry) 
           sentSuccessValue = meterRegistry.gauge("backend.success.hit", new AtomicInteger(0));
           sentFailureValue = meterRegistry.gauge("backend.failure.hit", new AtomicInteger(0));
        
      

我的问题是如何在 Prometheus 从 /actuator/prometheus 读取值后重置这些计量指标(当观察到时)。

有没有办法拦截 /actuator/prometheus 或者我们有一个特定的内置配置来实现这一点。

【问题讨论】:

【参考方案1】:

使用:以下任何一种

AtomicInteger  sentSuccessValue = meterRegistry.gauge("backend.success.hit", new AtomicInteger(0));
sentSuccessValue.decrementAndGet();
sentSuccessValue.getAndSet();
sentSuccessValue.set(0);

进一步阅读:https://micrometer.io/docs/concepts#_manually_incrementingdecrementing_a_gauge

【讨论】:

以上是关于观察后如何在弹簧靴中重置仪表指标的主要内容,如果未能解决你的问题,请参考以下文章

如何隐藏“孩子”:[]从弹簧靴中一对多关系中的最后一个孩子

在百里香弹簧靴中,动态旋转木马滑块不起作用

弹簧靴中的 SSEemitter vs Flux

弹簧靴中的 CORS 不起作用 - 得到空响应

如何在仪表板中查看 Hystrix 指标的天数以进行监控

每次测试单元功能后如何重置数据库?