diff options
author | Ola Aunronning <olaa@yahooinc.com> | 2022-09-15 14:21:51 +0200 |
---|---|---|
committer | Ola Aunronning <olaa@yahooinc.com> | 2022-09-15 14:21:51 +0200 |
commit | 1dbb9ee3f7aadc301a2851ae7459ceba2c749e65 (patch) | |
tree | 7242375627cb17890bed225a56331ca98ca2a426 /container-core | |
parent | 754926e273acdb87bc43449ffb11f06a40a65ed3 (diff) |
Sanitize label names
Diffstat (limited to 'container-core')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/jdisc/state/PrometheusHelper.java | 12 | ||||
-rw-r--r-- | container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java | 6 |
2 files changed, 13 insertions, 5 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/PrometheusHelper.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/PrometheusHelper.java index adb5f389d54..ca4eca1595f 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/state/PrometheusHelper.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/PrometheusHelper.java @@ -25,7 +25,11 @@ public class PrometheusHelper { var dimensionBuilder = new StringBuilder(); for (var dimension : metricDimensions) { - dimensionBuilder.append(dimension.getKey()).append("=\"").append(dimension.getValue()).append("\","); + dimensionBuilder + .append(sanitize(dimension.getKey())) + .append("=\"") + .append(dimension.getValue()) + .append("\","); } dimensionBuilder.append("vespa_service=\"").append(application).append("\","); var dimensions = dimensionBuilder.toString(); @@ -70,7 +74,11 @@ public class PrometheusHelper { } private static String getSanitizedMetricName(String metricName, String suffix) { - return metricName.replaceAll("([-.])", "_") + "_" + suffix; + return sanitize(metricName) + "_" + suffix; + } + + private static String sanitize(String name) { + return name.replaceAll("([-.])", "_"); } } 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 75344f10c07..434622852e9 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 @@ -162,7 +162,7 @@ public class MetricsPacketsHandlerTest extends StateHandlerTestBase { @Test public void prometheus_metrics() { - var context = StateMetricContext.newInstance(Map.of("dim1", "value1")); + var context = StateMetricContext.newInstance(Map.of("dim-1", "value1")); var snapshot = new MetricSnapshot(); snapshot.set(context, "gauge.metric", 0.2); snapshot.add(context, "counter.metric", 5); @@ -171,10 +171,10 @@ public class MetricsPacketsHandlerTest extends StateHandlerTestBase { var expectedResponse = """ # HELP gauge_metric_last\s # TYPE gauge_metric_last untyped - gauge_metric_last{dim1="value1",vespa_service="state-handler-test-base",} 0.2 0 + gauge_metric_last{dim_1="value1",vespa_service="state-handler-test-base",} 0.2 0 # HELP counter_metric_count\s # TYPE counter_metric_count untyped - counter_metric_count{dim1="value1",vespa_service="state-handler-test-base",} 5 0 + counter_metric_count{dim_1="value1",vespa_service="state-handler-test-base",} 5 0 """; assertEquals(expectedResponse, response); } |