All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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