public TaggedBucketPoint toBucketPoint() { List<Percentile> percentileReturns = new ArrayList<>(percentileList.size()); if(percentileList.size() > 0) { for(int i = 0; i < percentileList.size(); i++) { Percentile p = percentileList.get(i); PercentileWrapper pw = percentiles.get(i); percentileReturns.add(new Percentile(p.getOriginalQuantile(), pw.getResult())); } } return new TaggedBucketPoint(tags, min.getResult(), average.getResult(), this.percentiles.get(this.percentiles.size() - 1).getResult(), max.getResult(), sum.getResult(), samples, percentileReturns); }
public TaggedDataPointCollector(Map<String, String> tags, List<Percentile> percentilesList) { this.tags = tags; this.percentiles = new ArrayList<>(percentilesList.size() + 1); this.percentileList = percentilesList; percentilesList.stream().forEach(d -> percentiles.add(createPercentile.apply(d.getQuantile()))); percentiles.add(createPercentile.apply(50.0)); // Important to be the last one }
void increment(NumericBucketPoint bucketPoint) { if (!bucketPoint.isEmpty()) { min.increment(bucketPoint.getMin()); average.increment(bucketPoint.getAvg()); median.increment(bucketPoint.getMedian()); max.increment(bucketPoint.getMax()); sum.increment(bucketPoint.getSum()); samples.increment(1); if (bucketPoint.getPercentiles() != null) { for (Percentile p : bucketPoint.getPercentiles()) { percentiles.computeIfAbsent(p.getOriginalQuantile(), k -> new Sum()) .increment(p.getValue()); } } } start = bucketPoint.getStart(); end = bucketPoint.getEnd(); }
NumericBucketPoint toBucketPoint() { int localSamples = Integer.MAX_VALUE; if (samples.getN() >= Integer.MIN_VALUE && samples.getN() <= Integer.MAX_VALUE) { localSamples = (int) samples.getN(); } NumericBucketPoint.Builder builder = new NumericBucketPoint.Builder(start, end) .setMin(min.getResult()) .setAvg(average.getResult()) .setMedian(median.getResult()) .setMax(max.getResult()) .setSum(sum.getResult()) .setSamples(localSamples); if (!percentiles.isEmpty()) { builder.setPercentiles(percentiles.entrySet().stream() .map(e -> new Percentile(e.getKey(), e.getValue().getResult())) .collect(Collectors.toList())); } return builder.build(); } }
void increment(NumericBucketPoint bucketPoint) { if (!bucketPoint.isEmpty()) { min.increment(bucketPoint.getMin()); average.increment(bucketPoint.getAvg()); median.increment(bucketPoint.getMedian()); max.increment(bucketPoint.getMax()); sum.increment(bucketPoint.getSum()); samples.increment(1); if (bucketPoint.getPercentiles() != null) { for (Percentile p : bucketPoint.getPercentiles()) { percentiles.computeIfAbsent(p.getOriginalQuantile(), k -> new Sum()) .increment(p.getValue()); } } } start = bucketPoint.getStart(); end = bucketPoint.getEnd(); }
NumericBucketPoint toBucketPoint() { int localSamples = Integer.MAX_VALUE; if (samples.getN() >= Integer.MIN_VALUE && samples.getN() <= Integer.MAX_VALUE) { localSamples = (int) samples.getN(); } NumericBucketPoint.Builder builder = new NumericBucketPoint.Builder(start, end) .setMin(min.getResult()) .setAvg(average.getResult()) .setMedian(median.getResult()) .setMax(max.getResult()) .setSum(sum.getResult()) .setSamples(localSamples); if (!percentiles.isEmpty()) { builder.setPercentiles(percentiles.entrySet().stream() .map(e -> new Percentile(e.getKey(), e.getValue().getResult())) .collect(Collectors.toList())); } return builder.build(); } }
public TaggedBucketPoint toBucketPoint() { List<Percentile> percentileReturns = new ArrayList<>(percentileList.size()); if(percentileList.size() > 0) { for(int i = 0; i < percentileList.size(); i++) { Percentile p = percentileList.get(i); PercentileWrapper pw = percentiles.get(i); percentileReturns.add(new Percentile(p.getOriginalQuantile(), pw.getResult())); } } return new TaggedBucketPoint(tags, min.getResult(), average.getResult(), this.percentiles.get(this.percentiles.size() - 1).getResult(), max.getResult(), sum.getResult(), samples, percentileReturns); }
public TaggedDataPointCollector(Map<String, String> tags, List<Percentile> percentilesList) { this.tags = tags; this.percentiles = new ArrayList<>(percentilesList.size() + 1); this.percentileList = percentilesList; percentilesList.stream().forEach(d -> percentiles.add(createPercentile.apply(d.getQuantile()))); percentiles.add(createPercentile.apply(50.0)); // Important to be the last one }
public NumericBucketPoint toBucketPoint() { long from = buckets.getBucketStart(bucketIndex); long to = from + buckets.getStep(); // Original percentilesList can't be modified as it is used elsewhere List<Percentile> percentileReturns = new ArrayList<>(percentileList.size()); if(percentileList.size() > 0) { for(int i = 0; i < percentileList.size(); i++) { Percentile p = percentileList.get(i); PercentileWrapper pw = percentiles.get(i); percentileReturns.add(new Percentile(p.getOriginalQuantile(), pw.getResult())); } } return new NumericBucketPoint.Builder(from, to) .setMin(min.getResult()) .setAvg(average.getResult()) .setMedian(this.percentiles.get(this.percentiles.size() - 1).getResult()) .setMax(max.getResult()) .setSum(sum.getResult()) .setSamples(samples) .setPercentiles(percentileReturns) .build(); } }
public NumericDataPointCollector(Buckets buckets, int bucketIndex, List<Percentile> percentilesList) { this.buckets = buckets; this.bucketIndex = bucketIndex; this.percentiles = new ArrayList<>(percentilesList.size() + 1); this.percentileList = percentilesList; percentilesList.stream().forEach(d -> percentiles.add(createPercentile.apply(d.getQuantile()))); percentiles.add(createPercentile.apply(50.0)); // Important to be the last one }
public NumericBucketPoint toBucketPoint() { long from = buckets.getBucketStart(bucketIndex); long to = from + buckets.getStep(); // Original percentilesList can't be modified as it is used elsewhere List<Percentile> percentileReturns = new ArrayList<>(percentileList.size()); if(percentileList.size() > 0) { for(int i = 0; i < percentileList.size(); i++) { Percentile p = percentileList.get(i); PercentileWrapper pw = percentiles.get(i); percentileReturns.add(new Percentile(p.getOriginalQuantile(), pw.getResult())); } } return new NumericBucketPoint.Builder(from, to) .setMin(min.getResult()) .setAvg(average.getResult()) .setMedian(this.percentiles.get(this.percentiles.size() - 1).getResult()) .setMax(max.getResult()) .setSum(sum.getResult()) .setSamples(samples) .setPercentiles(percentileReturns) .build(); } }
public NumericDataPointCollector(Buckets buckets, int bucketIndex, List<Percentile> percentilesList) { this.buckets = buckets; this.bucketIndex = bucketIndex; this.percentiles = new ArrayList<>(percentilesList.size() + 1); this.percentileList = percentilesList; percentilesList.stream().forEach(d -> percentiles.add(createPercentile.apply(d.getQuantile()))); percentiles.add(createPercentile.apply(50.0)); // Important to be the last one }