001package io.prometheus.metrics.exporter.opentelemetry.otelmodel; 002 003import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.api.common.Attributes; 004import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.data.DoubleExemplarData; 005import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.data.SummaryPointData; 006import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.data.ValueAtQuantile; 007 008import java.util.ArrayList; 009import java.util.List; 010 011public class SummaryPointDataImpl extends PointDataImpl implements SummaryPointData { 012 private final double sum; 013 private final long count; 014 private final List<ValueAtQuantile> values; 015 016 public SummaryPointDataImpl(double sum, long count, long startEpochNanos, long epochNanos, Attributes attributes, List<DoubleExemplarData> exemplars) { 017 super(startEpochNanos, epochNanos, attributes, exemplars); 018 this.sum = sum; 019 this.count = count; 020 this.values = new ArrayList<>(); 021 } 022 023 void addValue(double quantile, double value) { 024 values.add(new ValueAtQuantileImpl(quantile, value)); 025 } 026 027 @Override 028 public long getCount() { 029 return count; 030 } 031 032 @Override 033 public double getSum() { 034 return sum; 035 } 036 037 @Override 038 public List<ValueAtQuantile> getValues() { 039 return values; 040 } 041}