Skip to content

Commit 3128df8

Browse files
committed
Create and implement getSum
1 parent 86e3185 commit 3128df8

3 files changed

Lines changed: 16 additions & 0 deletions

File tree

products/metrics/metrics-api/src/main/java/datadog/metrics/api/Histogram.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
public interface Histogram {
77

8+
double getSum();
9+
810
double getCount();
911

1012
boolean isEmpty();

products/metrics/metrics-api/src/main/java/datadog/metrics/api/NoOpHistogram.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ public double getCount() {
1212
return 0;
1313
}
1414

15+
@Override
16+
public double getSum() {
17+
return 0;
18+
}
19+
1520
@Override
1621
public boolean isEmpty() {
1722
return true;

products/metrics/metrics-lib/src/main/java/datadog/metrics/impl/DDSketchHistogram.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,23 @@
1212
/** Wrapper around the DDSketch library so that it can be used in an instrumentation */
1313
public class DDSketchHistogram implements Histogram {
1414
private final DDSketch sketch;
15+
private double sum;
1516

1617
public DDSketchHistogram(DDSketch sketch) {
1718
this.sketch = sketch;
19+
this.sum = 0;
1820
}
1921

2022
@Override
2123
public double getCount() {
2224
return sketch.getCount();
2325
}
2426

27+
@Override
28+
public double getSum() {
29+
return sum;
30+
}
31+
2532
@Override
2633
public boolean isEmpty() {
2734
return sketch.isEmpty();
@@ -30,11 +37,13 @@ public boolean isEmpty() {
3037
@Override
3138
public void accept(double value) {
3239
sketch.accept(value);
40+
sum += value;
3341
}
3442

3543
@Override
3644
public void accept(double value, double count) {
3745
sketch.accept(value, count);
46+
sum += value * count;
3847
}
3948

4049
@Override

0 commit comments

Comments
 (0)