diff options
3 files changed, 13 insertions, 6 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java index 480ee96393a..df4f4bcb9ea 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java @@ -83,7 +83,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler { @Override protected Response newResponse() { Response response = new Response(Response.Status.OK); - response.headers().add(HttpHeaders.Names.CONTENT_TYPE, "application/json"); + response.headers().add(HttpHeaders.Names.CONTENT_TYPE, getContentType(request.getUri().getQuery())); return response; } @@ -225,4 +225,11 @@ public class MetricsPacketsHandler extends AbstractRequestHandler { } } + private String getContentType(String query) { + if ("format=prometheus".equals(query)) { + return "text/plain;charset=utf-8"; + } + return "application/json"; + } + } 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 ca12e8161a9..43aaba555ab 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 @@ -13,7 +13,7 @@ import static com.yahoo.container.jdisc.state.JsonUtil.sanitizeDouble; */ public class PrometheusHelper { - private static final String HELP_LINE = "# HELP %s\n# TYPE %s untyped\n"; + private static final String HELP_LINE = "# HELP %s \n# TYPE %s untyped\n"; private static final String METRIC_LINE = "%s{%s} %s %d\n"; protected static byte[] buildPrometheusOutput(MetricSnapshot metricSnapshot, String application, long timestamp) throws IOException { 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 56efa396297..0072b32ad7d 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 @@ -169,16 +169,16 @@ public class MetricsPacketsHandlerTest extends StateHandlerTestBase { snapshotProvider.setSnapshot(snapshot); var response = requestAsString("http://localhost/metrics-packets?format=prometheus"); var expectedResponse = """ - # HELP gauge_metric_last + # HELP gauge_metric_last\s # TYPE gauge_metric_last untyped gauge_metric_last{dim1="value1",vespa_service="state-handler-test-base",} 0.2 0 - # HELP gauge_metric_average + # HELP gauge_metric_average\s # TYPE gauge_metric_average untyped gauge_metric_average{dim1="value1",vespa_service="state-handler-test-base",} 0.2 0 - # HELP gauge_metric_max + # HELP gauge_metric_max\s # TYPE gauge_metric_max untyped gauge_metric_max{dim1="value1",vespa_service="state-handler-test-base",} 0.2 0 - # HELP counter_metric_count + # HELP counter_metric_count\s # TYPE counter_metric_count untyped counter_metric_count{dim1="value1",vespa_service="state-handler-test-base",} 5 0 """; |