aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-01-11 17:24:30 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2022-01-11 17:24:30 +0100
commitb4fdb14f4981ff32db30a94b4d5238db3a604737 (patch)
treecbb9ff3eed300e967f6c8b2709be893daf3e39d2 /container-core/src
parent5ec106c6f1ddbea616a85aa43b162c72f3ca5a3c (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.java25
-rw-r--r--container-core/src/main/java/com/yahoo/metrics/simple/jdisc/SnapshotConverter.java31
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);