com.sap.cloud.cf.monitoring.java.converter.MeterConverter Maven / Gradle / Ivy
package com.sap.cloud.cf.monitoring.java.converter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
import com.codahale.metrics.Meter;
import com.sap.cloud.cf.monitoring.client.model.Metric;
public final class MeterConverter extends MetricConverter {
private final boolean metricQuantiles;
public MeterConverter(boolean metricQuantiles) {
this.metricQuantiles = metricQuantiles;
}
@Override
protected List convertMetricEntry(Entry metricEntry, long timestamp) {
List result = new ArrayList<>();
Meter meter = metricEntry.getValue();
String key = metricEntry.getKey();
MetricType type = MetricType.METER;
result.add(buildCustomMetric(key + ".count", meter.getCount(), type, timestamp));
result.add(buildCustomMetric(key + ".m1_rate", meter.getOneMinuteRate(), type, timestamp));
if (metricQuantiles) {
result.add(buildCustomMetric(key + ".mean_rate", meter.getMeanRate(), type, timestamp));
result.add(buildCustomMetric(key + ".m5_rate", meter.getFiveMinuteRate(), type, timestamp));
result.add(buildCustomMetric(key + ".m15_rate", meter.getFifteenMinuteRate(), type, timestamp));
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy