private List<MeasurementDataNumericHighLowComposite> createComposites( Iterable<AggregateNumericMetric> metrics, long beginTime, long endTime, int numberOfBuckets) { Buckets buckets = new Buckets(beginTime, endTime, numberOfBuckets); for (AggregateNumericMetric metric : metrics) { if (invalidMetricsManager.isInvalidMetric(metric)) { log.warn( "The " + metric.getBucket() + " metric " + metric + " is invalid. It will be excluded from " + "the results sent to the client and we will attempt to recompute the metric."); invalidMetricsManager.submit(metric); } else { buckets.insert(metric.getTimestamp(), metric.getAvg(), metric.getMin(), metric.getMax()); } } List<MeasurementDataNumericHighLowComposite> data = new ArrayList<MeasurementDataNumericHighLowComposite>(); for (int i = 0; i < buckets.getNumDataPoints(); ++i) { Buckets.Bucket bucket = buckets.get(i); data.add( new MeasurementDataNumericHighLowComposite( bucket.getStartTime(), bucket.getAvg(), bucket.getMax(), bucket.getMin())); } return data; }
private List<MeasurementDataNumericHighLowComposite> createRawComposites( Iterable<RawNumericMetric> metrics, long beginTime, long endTime, int numberOfBuckets) { Buckets buckets = new Buckets(beginTime, endTime, numberOfBuckets); for (RawNumericMetric metric : metrics) { buckets.insert( metric.getTimestamp(), metric.getValue(), metric.getValue(), metric.getValue()); } List<MeasurementDataNumericHighLowComposite> data = new ArrayList<MeasurementDataNumericHighLowComposite>(); for (int i = 0; i < buckets.getNumDataPoints(); ++i) { Buckets.Bucket bucket = buckets.get(i); data.add( new MeasurementDataNumericHighLowComposite( bucket.getStartTime(), bucket.getAvg(), bucket.getMax(), bucket.getMin())); } return data; }