首页 > 解决方案 > 避免向 InfluxDB 发送零值

问题描述

我正在使用 Spring Boot Actuator + Micrometer 将值发送到千分尺,所以我有以下 maven:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
  <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-influx</artifactId>
        </dependency>

所以,我有一个启动计时器和停止计时器样本(千分尺)的方法:

public Timer.Sample starTimer() {
        return Timer.start(registry);
    }

    public void stopTimer(Class clazz, Timer.Sample sample) {
        sample.stop(registry.timer("timer-dev", Arrays.asList(Tag.of("modulo", modulo), Tag.of("class", clazz.getName()))));
    }

所以,这非常有效。InfluxDB 接收从 Spring Boot 应用程序发送的值并在 Grafana 中显示。

问题:第一次发送“timer-dev”流入后,spring boot 持续发送值“0”,我想避免 spring boot 发送零值,它应该只在 timer-dev 大于零时发送。只有在不是每次都调用此方法时才应发送“timer-dev”。

有小费吗 ?

标签: spring-bootmicrometerspring-micrometer

解决方案


推荐阅读