use of io.micrometer.core.instrument.Gauge in project micrometer by micrometer-metrics.
the class GaugeTest method numericGauge.
@Test
@DisplayName("gauges attached to a number are updated when their values are observed")
default void numericGauge(MeterRegistry registry) {
AtomicInteger n = registry.gauge("my.gauge", new AtomicInteger(0));
n.set(1);
Gauge g = registry.get("my.gauge").gauge();
assertThat(g.value()).isEqualTo(1);
n.set(2);
assertThat(g.value()).isEqualTo(2);
}
use of io.micrometer.core.instrument.Gauge in project vertx-micrometer-metrics by vert-x3.
the class Gauges method get.
public T get(String... values) {
T t = tSupplier.get();
Gauge g = Gauge.builder(name, t, dGetter).description(description).tags(Labels.toTags(keys, values)).register(registry);
return gauges.computeIfAbsent(g.getId(), v -> t);
}
use of io.micrometer.core.instrument.Gauge in project vertx-micrometer-metrics by vert-x3.
the class GaugesTest method shouldIgnoreGaugeLabel.
@Test
public void shouldIgnoreGaugeLabel() {
MeterRegistry registry = new SimpleMeterRegistry();
BackendRegistries.registerMatchers(registry, Collections.singletonList(new Match().setLabel("address").setType(MatchType.REGEX).setValue(".*").setAlias("_")));
Gauges<LongAdder> gauges = new Gauges<>("my_gauge", "", LongAdder::new, LongAdder::doubleValue, registry, Label.ADDRESS);
gauges.get("addr1").increment();
gauges.get("addr1").increment();
gauges.get("addr2").increment();
Gauge g = registry.find("my_gauge").tags("address", "_").gauge();
assertThat(g.value()).isEqualTo(3d);
g = registry.find("my_gauge").tags("address", "addr1").gauge();
assertThat(g).isNull();
g = registry.find("my_gauge").tags("address", "addr2").gauge();
assertThat(g).isNull();
}
Aggregations