use of com.yahoo.metrics.simple.MetricReceiver in project vespa by vespa-engine.
the class SnapshotConverterTest method testConversion.
@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);
}
}
Aggregations