Search in sources :

Example 21 with Gauge

use of io.micrometer.core.instrument.Gauge in project activemq-artemis by apache.

the class MetricsManager method registerMeter.

private void registerMeter(List<Gauge.Builder> newMeters, String resource) {
    this.meters.compute(resource, (s, meters) -> {
        // the old meters are ignored on purpose
        meters = new ArrayList<>(newMeters.size());
        for (Gauge.Builder gaugeBuilder : newMeters) {
            Gauge gauge = gaugeBuilder.register(meterRegistry);
            meters.add(gauge);
            if (log.isDebugEnabled()) {
                log.debug("Registered meter: " + gauge.getId());
            }
        }
        return meters;
    });
}
Also used : Gauge(io.micrometer.core.instrument.Gauge)

Example 22 with Gauge

use of io.micrometer.core.instrument.Gauge in project spring-boot by spring-projects.

the class IntegrationMetricsAutoConfigurationTests method integrationMetersAreInstrumented.

@Test
void integrationMetersAreInstrumented() {
    this.contextRunner.run((context) -> {
        MeterRegistry registry = context.getBean(MeterRegistry.class);
        Gauge gauge = registry.get("spring.integration.channels").tag("someTag", "someValue").gauge();
        assertThat(gauge).isNotNull().extracting(Gauge::value).isEqualTo(2.0);
    });
}
Also used : MeterRegistry(io.micrometer.core.instrument.MeterRegistry) Gauge(io.micrometer.core.instrument.Gauge) Test(org.junit.jupiter.api.Test)

Example 23 with Gauge

use of io.micrometer.core.instrument.Gauge in project zipkin by openzipkin.

the class ZipkinMetricsController method fetchMetricsFromMicrometer.

// Extracts Zipkin metrics to provide backward compatibility
@Get("/metrics")
public HttpResponse fetchMetricsFromMicrometer() throws IOException {
    StringWriter writer = new StringWriter();
    JsonGenerator generator = JsonUtil.createGenerator(writer);
    generator.writeStartObject();
    // Get the Zipkin Custom meters for constructing the Metrics endpoint
    for (Meter meter : meterRegistry.getMeters()) {
        String name = meter.getId().getName();
        if (!name.startsWith("zipkin_collector"))
            continue;
        String transport = meter.getId().getTag("transport");
        if (transport == null)
            continue;
        Meter.Type type = meter.getId().getType();
        if (type == Meter.Type.COUNTER) {
            generator.writeNumberField("counter." + name + "." + transport, ((Counter) meter).count());
        } else if (type == Meter.Type.GAUGE) {
            generator.writeNumberField("gauge." + name + "." + transport, ((Gauge) meter).value());
        }
    // We only use counters and gauges
    }
    generator.writeEndObject();
    // instead of using try/finally as extra indent causes lines to wrap
    generator.flush();
    return HttpResponse.of(HttpStatus.OK, MediaType.JSON, writer.toString());
}
Also used : StringWriter(java.io.StringWriter) Meter(io.micrometer.core.instrument.Meter) JsonGenerator(com.fasterxml.jackson.core.JsonGenerator) Gauge(io.micrometer.core.instrument.Gauge) Get(com.linecorp.armeria.server.annotation.Get)

Example 24 with Gauge

use of io.micrometer.core.instrument.Gauge in project micrometer by micrometer-metrics.

the class JvmMemoryMetricsTest method assertJvmBufferMetrics.

private void assertJvmBufferMetrics(MeterRegistry registry, String bufferId) {
    assertThat(registry.get("jvm.buffer.count").tags("id", bufferId).gauge().value()).isGreaterThanOrEqualTo(0);
    Gauge memoryUsedDirect = registry.get("jvm.buffer.memory.used").tags("id", bufferId).gauge();
    assertThat(memoryUsedDirect.value()).isNotNull();
    assertThat(memoryUsedDirect.getId().getBaseUnit()).isEqualTo("bytes");
    Gauge bufferTotal = registry.get("jvm.buffer.total.capacity").tags("id", bufferId).gauge();
    assertThat(bufferTotal.value()).isGreaterThanOrEqualTo(0);
    assertThat(bufferTotal.getId().getBaseUnit()).isEqualTo("bytes");
}
Also used : Gauge(io.micrometer.core.instrument.Gauge)

Example 25 with Gauge

use of io.micrometer.core.instrument.Gauge in project micrometer by micrometer-metrics.

the class JvmMemoryMetricsTest method assertJvmMemoryMetrics.

private void assertJvmMemoryMetrics(MeterRegistry registry, String area) {
    Gauge memUsed = registry.get("jvm.memory.used").tags("area", area).gauge();
    assertThat(memUsed.value()).isGreaterThanOrEqualTo(0);
    assertThat(memUsed.getId().getBaseUnit()).isEqualTo("bytes");
    Gauge memCommitted = registry.get("jvm.memory.committed").tags("area", area).gauge();
    assertThat(memCommitted.value()).isNotNull();
    assertThat(memCommitted.getId().getBaseUnit()).isEqualTo("bytes");
    Gauge memMax = registry.get("jvm.memory.max").tags("area", area).gauge();
    assertThat(memMax.value()).isNotNull();
    assertThat(memMax.getId().getBaseUnit()).isEqualTo("bytes");
}
Also used : Gauge(io.micrometer.core.instrument.Gauge)

Aggregations

Gauge (io.micrometer.core.instrument.Gauge)43 Test (org.junit.jupiter.api.Test)27 TimeGauge (io.micrometer.core.instrument.TimeGauge)16 SimpleMeterRegistry (io.micrometer.core.instrument.simple.SimpleMeterRegistry)10 MeterRegistry (io.micrometer.core.instrument.MeterRegistry)9 FunctionCounter (io.micrometer.core.instrument.FunctionCounter)7 Meter (io.micrometer.core.instrument.Meter)7 DistributionSummary (io.micrometer.core.instrument.DistributionSummary)6 FunctionTimer (io.micrometer.core.instrument.FunctionTimer)6 Timer (io.micrometer.core.instrument.Timer)6 Counter (io.micrometer.core.instrument.Counter)5 LongTaskTimer (io.micrometer.core.instrument.LongTaskTimer)5 TimeUnit (java.util.concurrent.TimeUnit)5 Test (org.junit.Test)5 Issue (io.micrometer.core.Issue)4 Measurement (io.micrometer.core.instrument.Measurement)4 MockClock (io.micrometer.core.instrument.MockClock)4 AbstractCacheMetricsTest (io.micrometer.core.instrument.binder.cache.AbstractCacheMetricsTest)4 Statistic (io.micrometer.core.instrument.Statistic)3 Arrays (java.util.Arrays)3