diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-01-11 17:24:30 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-01-11 17:24:30 +0100 |
commit | b4fdb14f4981ff32db30a94b4d5238db3a604737 (patch) | |
tree | cbb9ff3eed300e967f6c8b2709be893daf3e39d2 /container-core/src | |
parent | 5ec106c6f1ddbea616a85aa43b162c72f3ca5a3c (diff) |
Don't expose types that are not available from other bundles
Diffstat (limited to 'container-core/src')
-rw-r--r-- | container-core/src/main/java/com/yahoo/metrics/simple/UntypedMetric.java | 25 | ||||
-rw-r--r-- | container-core/src/main/java/com/yahoo/metrics/simple/jdisc/SnapshotConverter.java | 31 |
2 files changed, 41 insertions, 15 deletions
diff --git a/container-core/src/main/java/com/yahoo/metrics/simple/UntypedMetric.java b/container-core/src/main/java/com/yahoo/metrics/simple/UntypedMetric.java index ad549fb4d91..3d82e7853d9 100644 --- a/container-core/src/main/java/com/yahoo/metrics/simple/UntypedMetric.java +++ b/container-core/src/main/java/com/yahoo/metrics/simple/UntypedMetric.java @@ -1,11 +1,12 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.metrics.simple; -import java.util.logging.Logger; - +import com.yahoo.api.annotations.Beta; import org.HdrHistogram.DoubleHistogram; +import java.io.PrintStream; import java.util.logging.Level; +import java.util.logging.Logger; /** * A gauge or a counter or... who knows? The class for storing a metric when the @@ -114,8 +115,9 @@ public class UntypedMetric { return metricSettings; } - public DoubleHistogram getHistogram() { - return histogram; + @Beta + public Histogram getHistogram() { + return histogram != null ? new Histogram(histogram) : null; } @Override @@ -139,4 +141,19 @@ public class UntypedMetric { return buf.toString(); } + @Beta + public static class Histogram { + private final DoubleHistogram hdrHistogram; + + private Histogram(DoubleHistogram hdrHistogram) { this.hdrHistogram = hdrHistogram; } + + public double getValueAtPercentile(double percentile) { return hdrHistogram.getValueAtPercentile(percentile); } + + public void outputPercentileDistribution(PrintStream printStream, int percentileTicksPerHalfDistance, + Double outputValueUnitScalingRatio, boolean useCsvFormat) { + hdrHistogram.outputPercentileDistribution( + printStream, percentileTicksPerHalfDistance, outputValueUnitScalingRatio, useCsvFormat); + } + } + } diff --git a/container-core/src/main/java/com/yahoo/metrics/simple/jdisc/SnapshotConverter.java b/container-core/src/main/java/com/yahoo/metrics/simple/jdisc/SnapshotConverter.java index 5b5fb67f1b4..4cd0d820433 100644 --- a/container-core/src/main/java/com/yahoo/metrics/simple/jdisc/SnapshotConverter.java +++ b/container-core/src/main/java/com/yahoo/metrics/simple/jdisc/SnapshotConverter.java @@ -1,21 +1,30 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.metrics.simple.jdisc; -import java.io.PrintStream; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.logging.Logger; - -import org.HdrHistogram.DoubleHistogram; - import com.yahoo.collections.Tuple2; -import com.yahoo.container.jdisc.state.*; +import com.yahoo.container.jdisc.state.CountMetric; +import com.yahoo.container.jdisc.state.GaugeMetric; +import com.yahoo.container.jdisc.state.MetricDimensions; +import com.yahoo.container.jdisc.state.MetricSet; +import com.yahoo.container.jdisc.state.MetricSnapshot; +import com.yahoo.container.jdisc.state.MetricValue; +import com.yahoo.container.jdisc.state.StateMetricContext; import com.yahoo.metrics.simple.Bucket; import com.yahoo.metrics.simple.Identifier; import com.yahoo.metrics.simple.Point; import com.yahoo.metrics.simple.UntypedMetric; +import com.yahoo.metrics.simple.UntypedMetric.Histogram; import com.yahoo.metrics.simple.Value; -import com.yahoo.text.JSON; + +import java.io.PrintStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.TimeUnit; +import java.util.logging.Logger; /** * Convert simple metrics snapshots into jdisc state snapshots. @@ -74,7 +83,7 @@ class SnapshotConverter { } } - private static List<Tuple2<String, Double>> buildPercentileList(DoubleHistogram histogram) { + private static List<Tuple2<String, Double>> buildPercentileList(Histogram histogram) { List<Tuple2<String, Double>> prefixAndValues = new ArrayList<>(2); prefixAndValues.add(new Tuple2<>("95", histogram.getValueAtPercentile(95.0d))); prefixAndValues.add(new Tuple2<>("99", histogram.getValueAtPercentile(99.0d))); @@ -122,7 +131,7 @@ class SnapshotConverter { continue; } gotHistogram = true; - DoubleHistogram histogram = entry.getValue().getHistogram(); + Histogram histogram = entry.getValue().getHistogram(); Identifier id = entry.getKey(); String metricIdentifier = getIdentifierString(id); output.println("# start of metric " + metricIdentifier); |