diff options
author | gjoranv <gv@verizonmedia.com> | 2019-05-28 16:29:54 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2019-05-28 17:27:20 +0200 |
commit | 36deea1b264fa21903c87495632d5ad329b1ed3e (patch) | |
tree | 620411aedd3e400cef149a633d0704c6ec4ba094 /metrics-proxy/src/test | |
parent | d551b662584af812091c21246852adaade7ab6dc (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.java | 43 |
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); |