summaryrefslogtreecommitdiffstats
path: root/metrics-proxy/src/test
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2019-05-28 16:29:54 +0200
committergjoranv <gv@verizonmedia.com>2019-05-28 17:27:20 +0200
commit36deea1b264fa21903c87495632d5ad329b1ed3e (patch)
tree620411aedd3e400cef149a633d0704c6ec4ba094 /metrics-proxy/src/test
parentd551b662584af812091c21246852adaade7ab6dc (diff)
Add conversion from metrics packets to the generic json model.
Diffstat (limited to 'metrics-proxy/src/test')
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonModelTest.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonModelTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonModelTest.java
index eff8d31f47c..4bd9d4758c4 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonModelTest.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonModelTest.java
@@ -4,14 +4,21 @@
package ai.vespa.metricsproxy.metric.model.json;
+import ai.vespa.metricsproxy.metric.model.MetricsPacket;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
import java.io.IOException;
+import java.util.List;
import static ai.vespa.metricsproxy.TestUtil.getContents;
+import static ai.vespa.metricsproxy.metric.ExternalMetrics.VESPA_NODE_SERVICE_ID;
+import static ai.vespa.metricsproxy.metric.model.DimensionId.toDimensionId;
+import static ai.vespa.metricsproxy.metric.model.MetricId.toMetricId;
+import static ai.vespa.metricsproxy.metric.model.ServiceId.toServiceId;
import static ai.vespa.metricsproxy.metric.model.json.JacksonUtil.createObjectMapper;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
/**
* @author gjoranv
@@ -36,6 +43,42 @@ public class GenericJsonModelTest {
assertEquals(expected, trimmed);
}
+ @Test
+ public void metrics_packets_can_be_converted_to_generic_json_model() throws Exception {
+ var nodePacket = new MetricsPacket.Builder(VESPA_NODE_SERVICE_ID)
+ .timestamp(123456L)
+ .putMetric(toMetricId("node-metric"), 1.234)
+ .putDimension(toDimensionId("node-dim"), "node-dim-value")
+ .build();
+
+ var servicePacket = new MetricsPacket.Builder(toServiceId("my-service"))
+ .timestamp(123456L)
+ .putMetric(toMetricId("service-metric"), 1234)
+ .putDimension(toDimensionId("service-dim"), "service-dim-value")
+ .build();
+
+ var metricsPackets = List.of(servicePacket, nodePacket);
+
+ GenericJsonModel jsonModel = GenericJsonUtil.toGenericJsonModel(metricsPackets);
+
+ assertNotNull(jsonModel.node);
+ assertEquals(1, jsonModel.node.metrics.size());
+ GenericMetrics nodeMetrics = jsonModel.node.metrics.get(0);
+ assertEquals(1.234, jsonModel.node.metrics.get(0).values.get("node-metric"), 0.001d);
+ assertEquals("node-dim-value", nodeMetrics.dimensions.get("node-dim"));
+
+ assertEquals(1, jsonModel.services.size());
+ GenericService service = jsonModel.services.get(0);
+ assertEquals(1, service.metrics.size());
+ GenericMetrics serviceMetrics = service.metrics.get(0);
+ assertEquals(1234L, serviceMetrics.values.get("service-metric").longValue());
+ assertEquals("service-dim-value", serviceMetrics.dimensions.get("service-dim"));
+
+ // Visual inspection
+ System.out.println(createObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(jsonModel));
+ }
+
+
private GenericJsonModel genericJsonModelFromTestFile() throws IOException {
ObjectMapper mapper = createObjectMapper();
return mapper.readValue(getContents(TEST_FILE), GenericJsonModel.class);