dnet-applications/libs/dnet-apps-common/src/main/java/eu/dnetlib/common/metrics/MetricInfo.java

33 lines
719 B
Java
Raw Normal View History

2021-07-30 14:12:09 +02:00
package eu.dnetlib.common.metrics;
import javax.annotation.PostConstruct;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanNameAware;
public abstract class MetricInfo implements BeanNameAware {
private static final Log log = LogFactory.getLog(MetricInfo.class);
private String beanName;
2021-07-30 16:17:20 +02:00
abstract public double obtainValue();
2021-07-30 14:12:09 +02:00
public String getBeanName() {
return beanName;
}
@Override
2021-07-30 16:17:20 +02:00
public void setBeanName(final String beanName) {
2021-07-30 14:12:09 +02:00
this.beanName = beanName;
}
@PostConstruct
2021-07-30 16:17:20 +02:00
public void register() {
2021-07-30 14:12:09 +02:00
log.info("Prometheus - new metric registered: " + getBeanName());
2021-11-26 16:31:31 +01:00
MetricUtils.register(beanName, this);
2021-07-30 14:12:09 +02:00
}
}