aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/test/java/com/yahoo/container/jdisc/state
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2022-07-04 15:16:53 +0200
committerOla Aunrønning <olaa@verizonmedia.com>2022-07-04 15:20:55 +0200
commit951340e33570eaddb5baca6d9b36072999660abe (patch)
tree3575584a56487ce3ed00e67485ec5c610f44c2bd /container-core/src/test/java/com/yahoo/container/jdisc/state
parent5c17957b17f60e50a5f1b367763bc322236d3782 (diff)
MetricsPacketsHandler adds hostname dimension if absent
Diffstat (limited to 'container-core/src/test/java/com/yahoo/container/jdisc/state')
-rw-r--r--container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java30
1 files changed, 29 insertions, 1 deletions
diff --git a/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java b/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java
index 99a31640429..6c05af95289 100644
--- a/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java
+++ b/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java
@@ -27,13 +27,14 @@ import static org.junit.Assert.assertTrue;
public class MetricsPacketsHandlerTest extends StateHandlerTestBase {
private static final String APPLICATION_NAME = "state-handler-test-base";
+ private static final String HOST_DIMENSION = "some-hostname";
private static MetricsPacketsHandler metricsPacketsHandler;
@Before
public void setupHandler() {
metricsPacketsHandlerConfig = new MetricsPacketsHandlerConfig(new MetricsPacketsHandlerConfig.Builder()
- .application(APPLICATION_NAME));
+ .application(APPLICATION_NAME).hostname(HOST_DIMENSION));
metricsPacketsHandler = new MetricsPacketsHandler(monitor, timer, snapshotProviderRegistry, metricsPacketsHandlerConfig);
testDriver = new RequestHandlerTestDriver(metricsPacketsHandler);
}
@@ -138,6 +139,26 @@ public class MetricsPacketsHandlerTest extends StateHandlerTestBase {
List<JsonNode> packets = incrementTimeAndGetJsonPackets();
assertEquals(3, packets.size());
}
+
+ @Test
+ public void host_dimension_only_created_if_absent() throws Exception {
+ var context1 = StateMetricContext.newInstance(Map.of("dim1", "value1", "host", "foo.bar"));
+ var context2 = StateMetricContext.newInstance(Map.of("dim2", "value2"));
+ var snapshot = new MetricSnapshot();
+ snapshot.add(context1, "counter1", 1);
+ snapshot.add(context2, "counter2", 2);
+ snapshotProvider.setSnapshot(snapshot);
+
+ var packets = incrementTimeAndGetJsonPackets();
+ assertEquals(3, packets.size());
+
+ packets.forEach(packet -> {
+ if (!packet.has(DIMENSIONS_KEY)) return;
+ var dimensions = packet.get(DIMENSIONS_KEY);
+ if (dimensions.has("dim1")) assertDimension(packet, "host", "foo.bar");
+ if (dimensions.has("dim2")) assertDimension(packet, "host", HOST_DIMENSION);
+ });
+ }
private List<JsonNode> incrementTimeAndGetJsonPackets() throws Exception {
advanceToNextSnapshot();
@@ -163,6 +184,13 @@ public class MetricsPacketsHandlerTest extends StateHandlerTestBase {
assertEquals(expected, counterMetrics.get(metricName).asLong());
}
+ private void assertDimension(JsonNode metricsPacket, String dimensionName, String expectedDimensionValue) {
+ assertTrue(metricsPacket.has(DIMENSIONS_KEY));
+ var dimensions = metricsPacket.get(DIMENSIONS_KEY);
+ assertTrue(dimensions.has(dimensionName));
+ assertEquals(expectedDimensionValue, dimensions.get(dimensionName).asText());
+ }
+
private void createSnapshotWithCountMetric(String name, Number value, MetricDimensions context) {
var snapshot = new MetricSnapshot();
snapshot.add(context, name, value);