diff options
author | Luck <git@lucko.me> | 2021-04-07 11:51:03 +0100 |
---|---|---|
committer | Luck <git@lucko.me> | 2021-04-07 11:51:03 +0100 |
commit | 9228cf8b55dc34a5f49bddfe4637fbd4dd7fecb5 (patch) | |
tree | a2e153c4d723216f95c49153d5afef524dea9531 /spark-common/src/main/java/me/lucko/spark/common/util | |
parent | bb3046600f1d1a98a69f918dd59dff64e051480b (diff) | |
download | spark-9228cf8b55dc34a5f49bddfe4637fbd4dd7fecb5.tar.gz spark-9228cf8b55dc34a5f49bddfe4637fbd4dd7fecb5.tar.bz2 spark-9228cf8b55dc34a5f49bddfe4637fbd4dd7fecb5.zip |
Add a basic API for retrieving spark statistics
Diffstat (limited to 'spark-common/src/main/java/me/lucko/spark/common/util')
-rw-r--r-- | spark-common/src/main/java/me/lucko/spark/common/util/RollingAverage.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/spark-common/src/main/java/me/lucko/spark/common/util/RollingAverage.java b/spark-common/src/main/java/me/lucko/spark/common/util/RollingAverage.java index 2c6219a..87c41a4 100644 --- a/spark-common/src/main/java/me/lucko/spark/common/util/RollingAverage.java +++ b/spark-common/src/main/java/me/lucko/spark/common/util/RollingAverage.java @@ -20,13 +20,15 @@ package me.lucko.spark.common.util; +import me.lucko.spark.api.statistic.misc.DoubleAverageInfo; + import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayDeque; import java.util.Arrays; import java.util.Queue; -public class RollingAverage { +public class RollingAverage implements DoubleAverageInfo { private final Queue<BigDecimal> samples; private final int windowSize; @@ -47,7 +49,8 @@ public class RollingAverage { } } - public double getAverage() { + @Override + public double mean() { synchronized (this) { if (this.samples.isEmpty()) { return 0; @@ -57,7 +60,8 @@ public class RollingAverage { } } - public double getMax() { + @Override + public double max() { synchronized (this) { BigDecimal max = null; for (BigDecimal sample : this.samples) { @@ -69,7 +73,8 @@ public class RollingAverage { } } - public double getMin() { + @Override + public double min() { synchronized (this) { BigDecimal min = null; for (BigDecimal sample : this.samples) { @@ -81,11 +86,8 @@ public class RollingAverage { } } - public double getMedian() { - return getPercentile(0.50d); - } - - public double getPercentile(double percentile) { + @Override + public double percentile(double percentile) { if (percentile < 0 || percentile > 1) { throw new IllegalArgumentException("Invalid percentile " + percentile); } |