use of io.micrometer.core.instrument.MeterRegistry in project micrometer by micrometer-metrics.
the class ProcessorMetricsTest method cpuMetrics.
@Test
void cpuMetrics() {
MeterRegistry registry = new SimpleMeterRegistry();
new ProcessorMetrics().bindTo(registry);
assertThat(registry.get("system.cpu.count").gauge().value()).isGreaterThan(0);
if (System.getProperty("os.name").toLowerCase().contains("win")) {
assertThat(registry.find("system.load.average.1m").gauge()).describedAs("Not present on windows").isNull();
} else {
assertThat(registry.get("system.load.average.1m").gauge().value()).isGreaterThanOrEqualTo(0);
}
}
use of io.micrometer.core.instrument.MeterRegistry in project micrometer by micrometer-metrics.
the class ProcessorMetricsTest method hotspotCpuMetrics.
@Test
void hotspotCpuMetrics() {
assumeTrue(classExists("com.sun.management.OperatingSystemMXBean"));
MeterRegistry registry = new SimpleMeterRegistry();
new ProcessorMetrics().bindTo(registry);
assertThat(registry.get("system.cpu.usage").gauge().value()).isGreaterThanOrEqualTo(0);
assertThat(registry.get("process.cpu.usage").gauge().value()).isGreaterThanOrEqualTo(0);
}
use of io.micrometer.core.instrument.MeterRegistry in project micrometer by micrometer-metrics.
the class CompositeLongTaskTimerTest method mapIdsToEachLongTaskTimerInComposite.
@Test
void mapIdsToEachLongTaskTimerInComposite() {
MockClock clock = new MockClock();
MeterRegistry s1 = new SimpleMeterRegistry(SimpleConfig.DEFAULT, clock);
LongTaskTimer anotherTimer = s1.more().longTaskTimer("long.task");
LongTaskTimer.Sample anotherSample = anotherTimer.start();
clock.add(10, TimeUnit.NANOSECONDS);
CompositeMeterRegistry registry = new CompositeMeterRegistry(clock);
registry.add(s1);
LongTaskTimer longTaskTimer = registry.more().longTaskTimer("long.task");
LongTaskTimer.Sample sample = longTaskTimer.start();
clock.add(100, TimeUnit.NANOSECONDS);
assertThat(anotherSample.stop()).isEqualTo(110);
// if this fails, the composite is using a timer ID that overlaps with a separate timer in a member
// of the composite rather than mapping the ID to a separate ID in the composite member.
assertThat(sample.stop()).isEqualTo(100);
}
use of io.micrometer.core.instrument.MeterRegistry in project micrometer by micrometer-metrics.
the class JvmMemoryMetricsTest method memoryMetrics.
@Test
void memoryMetrics() {
MeterRegistry registry = new SimpleMeterRegistry();
new JvmMemoryMetrics().bindTo(registry);
assertJvmBufferMetrics(registry, "direct");
assertJvmBufferMetrics(registry, "mapped");
assertJvmMemoryMetrics(registry, "heap");
assertJvmMemoryMetrics(registry, "nonheap");
}
use of io.micrometer.core.instrument.MeterRegistry in project micrometer by micrometer-metrics.
the class CounterSample method main.
public static void main(String[] args) {
MeterRegistry registry = SampleConfig.myMonitoringSystem();
Counter counter = registry.counter("counter", "method", "actual");
AtomicInteger n = new AtomicInteger(0);
registry.more().counter("counter", Tags.of("method", "function"), n);
RandomEngine r = new MersenneTwister64(0);
Normal dist = new Normal(0, 1, r);
Flux.interval(Duration.ofMillis(10)).doOnEach(d -> {
if (dist.nextDouble() + 0.1 > 0) {
counter.increment();
n.incrementAndGet();
}
}).blockLast();
}
Aggregations