Jagger
 All Classes Namespaces Files Functions Variables Enumerator Groups Pages
MaxMetricAggregatorProvider.java
Go to the documentation of this file.
1 package com.griddynamics.jagger.engine.e1.collector;
2 
3 import static com.griddynamics.jagger.util.StandardMetricsNamesUtil.MAX_AGGREGATOR_ID;
4 
9 public class MaxMetricAggregatorProvider implements MetricAggregatorProvider {
10 
11  @Override
13  return new MaxMetricAggregator();
14  }
15 
16  private static class MaxMetricAggregator implements MetricAggregator<Number> {
17 
18  private Double value = null;
19 
20  @Override
21  public void append(Number calculated) {
22  if (value == null) {
23  value = calculated.doubleValue();
24  } else {
25  value = Math.max(value, calculated.doubleValue());
26  }
27  }
28 
29  @Override
30  public Double getAggregated() {
31  return value;
32  }
33 
34  @Override
35  public void reset() {
36  value = null;
37  }
38 
39  @Override
40  public String getName() {
41  return MAX_AGGREGATOR_ID;
42  }
43  }
44 }