Search in sources :

Example 1 with PerReporterGauge

use of org.apache.storm.metrics2.PerReporterGauge in project storm by apache.

the class Executor method processGauges.

private void processGauges(int taskId, List<IMetricsConsumer.DataPoint> dataPoints) {
    Map<String, Gauge> gauges = workerData.getMetricRegistry().getTaskGauges(taskId);
    for (Map.Entry<String, Gauge> entry : gauges.entrySet()) {
        Gauge gauge = entry.getValue();
        Object v;
        if (gauge instanceof PerReporterGauge) {
            v = ((PerReporterGauge) gauge).getValueForReporter(this);
        } else {
            v = gauge.getValue();
        }
        if (v instanceof Number) {
            IMetricsConsumer.DataPoint dataPoint = new IMetricsConsumer.DataPoint(entry.getKey(), v);
            dataPoints.add(dataPoint);
        }
    }
}
Also used : IMetricsConsumer(org.apache.storm.metric.api.IMetricsConsumer) Map(java.util.Map) HashMap(java.util.HashMap) PerReporterGauge(org.apache.storm.metrics2.PerReporterGauge) Gauge(com.codahale.metrics.Gauge) PerReporterGauge(org.apache.storm.metrics2.PerReporterGauge)

Aggregations

Gauge (com.codahale.metrics.Gauge)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 IMetricsConsumer (org.apache.storm.metric.api.IMetricsConsumer)1 PerReporterGauge (org.apache.storm.metrics2.PerReporterGauge)1