
io.mosip.registration.metrics.SystemTimeMetrics Maven / Gradle / Ivy
package io.mosip.registration.metrics;
import io.micrometer.core.instrument.Gauge;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Tag;
import io.micrometer.core.instrument.binder.MeterBinder;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.Date;
import static java.util.Collections.emptyList;
public class SystemTimeMetrics implements MeterBinder {
private final Iterable tags;
public SystemTimeMetrics() {
this(emptyList());
}
public SystemTimeMetrics(Iterable tags) {
this.tags = tags;
}
@Override
public void bindTo(MeterRegistry registry) {
RuntimeMXBean rb = ManagementFactory.getRuntimeMXBean();
Gauge.builder("system.uptime", rb, RuntimeMXBean::getUptime)
.tags(tags)
.register(registry);
Gauge.builder("system.time", System.currentTimeMillis(), Double::valueOf)
.strongReference(true)
.tags(tags)
.register(registry);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy