//Dstl (c) Crown Copyright 2017
package uk.gov.dstl.baleen.core.metrics;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.codahale.metrics.Counter;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.Histogram;
import com.codahale.metrics.Meter;
import com.codahale.metrics.MetricRegistryListener;
import com.codahale.metrics.Timer;
/**
* A registry listener which logs all events.
*
*
*
*/
public class LoggingMetricListener implements MetricRegistryListener {
private static final Logger LOGGER = LoggerFactory.getLogger(LoggingMetricListener.class);
public LoggingMetricListener() {
// Do nothing
}
private void log(boolean created, String type, String name) {
LOGGER.debug("{} {} '{}'", created ? "Created" : "Deleted", type, name);
}
@Override
public void onCounterAdded(String n, Counter arg1) {
log(true, "counter", n);
}
@Override
public void onCounterRemoved(String n) {
log(false, "counter", n);
}
@Override
public void onGaugeAdded(String n, Gauge<?> arg1) {
log(true, "gauge", n);
}
@Override
public void onGaugeRemoved(String n) {
log(false, "gauge", n);
}
@Override
public void onHistogramAdded(String n, Histogram arg1) {
log(true, "histogram", n);
}
@Override
public void onHistogramRemoved(String n) {
log(false, "histogram", n);
}
@Override
public void onMeterAdded(String n, Meter arg1) {
log(true, "meter", n);
}
@Override
public void onMeterRemoved(String n) {
log(false, "meter", n);
}
@Override
public void onTimerAdded(String n, Timer arg1) {
log(true, "timer", n);
}
@Override
public void onTimerRemoved(String n) {
log(false, "timer", n);
}
}