summaryrefslogtreecommitdiffstats
path: root/simplemetrics/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'simplemetrics/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java')
-rw-r--r--simplemetrics/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java57
1 files changed, 54 insertions, 3 deletions
diff --git a/simplemetrics/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java b/simplemetrics/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java
index c5be6830fcb..d224f89a947 100644
--- a/simplemetrics/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java
+++ b/simplemetrics/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java
@@ -1,25 +1,76 @@
package com.yahoo.metrics.simple.jdisc;
+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.metrics.simple.Bucket;
+import com.yahoo.metrics.simple.Identifier;
+import com.yahoo.metrics.simple.MetricReceiver;
import com.yahoo.metrics.simple.Point;
+import com.yahoo.metrics.simple.UntypedMetric;
import org.junit.Test;
import java.util.Collections;
import java.util.HashMap;
+import java.util.Map;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* @author bratseth
*/
public class SnapshotConverterTest {
-
+
@Test
- public void testConversion() {
+ public void testPointConversion() {
MetricDimensions a = SnapshotConverter.convert(new Point(Collections.emptyMap()));
MetricDimensions b = SnapshotConverter.convert(new Point(new HashMap<>(0)));
+ MetricDimensions c = SnapshotConverter.convert((Point)null);
assertEquals(a.hashCode(), b.hashCode());
assertEquals(a, b);
+ assertEquals(a.hashCode(), c.hashCode());
+ assertEquals(a, c);
+ assertEquals(b.hashCode(), c.hashCode());
+ assertEquals(b, c);
+ }
+
+ @Test
+ public void testConversion() {
+ MetricReceiver mock = new MetricReceiver.MockReceiver();
+ mock.declareCounter("foo").add(1);
+ mock.declareGauge("quuux").sample(42.25);
+ mock.declareCounter("bar", new Point(new HashMap<String,String>())).add(4);
+
+ MetricSnapshot snapshot = new SnapshotConverter(mock.getSnapshot()).convert();
+
+ for (Map.Entry<MetricDimensions, MetricSet> entry : snapshot) {
+ for (Map.Entry<String, String> dv : entry.getKey()) {
+ assertTrue(false);
+ }
+
+ int cnt = 0;
+ for (Map.Entry<String, MetricValue> mv : entry.getValue()) {
+ ++cnt;
+ if ("foo".equals(mv.getKey())) {
+ assertTrue(mv.getValue() instanceof CountMetric);
+ assertEquals(1, ((CountMetric)mv.getValue()).getCount());
+ } else if ("bar".equals(mv.getKey())) {
+ assertTrue(mv.getValue() instanceof CountMetric);
+ assertEquals(4, ((CountMetric)mv.getValue()).getCount());
+ } else if ("quuux".equals(mv.getKey())) {
+ assertTrue(mv.getValue() instanceof GaugeMetric);
+ assertEquals(42.25, ((GaugeMetric)mv.getValue()).getLast(), 0.001);
+ assertEquals(1, ((GaugeMetric)mv.getValue()).getCount());
+ } else {
+ assertTrue(false);
+ }
+ }
+ assertEquals(3, cnt);
+ }
}
-
+
}