Add the EventMetric metric type

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=132345599
This commit is contained in:
shikhman 2016-09-06 11:51:35 -07:00 committed by Ben McIlwain
parent 6641f105b7
commit 2ba9b01a13
4 changed files with 559 additions and 1 deletions

View file

@ -14,7 +14,11 @@
package google.registry.monitoring.metrics;
import static com.google.common.base.Preconditions.checkArgument;
import static google.registry.monitoring.metrics.MetricsUtils.checkDouble;
import com.google.auto.value.AutoValue;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableRangeMap;
import javax.annotation.concurrent.ThreadSafe;
@ -37,6 +41,21 @@ public abstract class ImmutableDistribution implements Distribution {
distribution.distributionFitter());
}
@VisibleForTesting
static ImmutableDistribution create(
double mean,
double sumOfSquaredDeviation,
long count,
ImmutableRangeMap<Double, Long> intervalCounts,
DistributionFitter distributionFitter) {
checkDouble(mean);
checkDouble(sumOfSquaredDeviation);
checkArgument(count >= 0);
return new AutoValue_ImmutableDistribution(
mean, sumOfSquaredDeviation, count, intervalCounts, distributionFitter);
}
@Override
public abstract double mean();