From c2fbfa9ebf866d9be5ec4826bab056b2f517f8a4 Mon Sep 17 00:00:00 2001 From: Amund Bergland Kvalsvik Date: Mon, 29 Jun 2020 11:18:48 +0200 Subject: Fixed review comments --- .../application/ApplicationMetricsHandler.java | 22 ++++++++++++---------- .../application/ApplicationMetricsHandlerTest.java | 4 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) (limited to 'metrics-proxy') diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java index 46f3a1b18c4..6b1376452fa 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java @@ -27,6 +27,7 @@ import static ai.vespa.metricsproxy.http.ValuesFetcher.getConsumerOrDefault; import static ai.vespa.metricsproxy.metric.model.json.GenericJsonUtil.toGenericApplicationModel; import static ai.vespa.metricsproxy.metric.model.json.GenericJsonUtil.toGenericJsonModel; import static ai.vespa.metricsproxy.metric.model.json.GenericJsonUtil.toMetricsPackets; +import static ai.vespa.metricsproxy.metric.model.prometheus.PrometheusUtil.toPrometheusModel; import static com.yahoo.jdisc.Response.Status.INTERNAL_SERVER_ERROR; import static com.yahoo.jdisc.Response.Status.OK; @@ -37,11 +38,11 @@ import static com.yahoo.jdisc.Response.Status.OK; */ public class ApplicationMetricsHandler extends HttpHandlerBase { - public static final String V1_METRICS = "/applicationmetrics/v1"; - public static final String METRICS_VALUES_PATH = V1_METRICS + "/values"; + public static final String METRICS_V1_PATH = "/applicationmetrics/v1"; + public static final String METRICS_VALUES_PATH = METRICS_V1_PATH + "/values"; - public static final String V1_PROMETHEUS = "/applicationprometheus/v1"; - public static final String PROMETHEUS_VALUES_PATH = V1_PROMETHEUS + "/values"; + public static final String PROMETHEUS_V1_PATH = "/applicationprometheus/v1"; + public static final String PROMETHEUS_VALUES_PATH = PROMETHEUS_V1_PATH + "/values"; private final ApplicationMetricsRetriever metricsRetriever; private final MetricsConsumers metricsConsumers; @@ -57,10 +58,10 @@ public class ApplicationMetricsHandler extends HttpHandlerBase { @Override public Optional doHandle(URI requestUri, Path apiPath, String consumer) { - if (apiPath.matches(V1_METRICS)) return Optional.of(resourceListResponse(requestUri, List.of(METRICS_VALUES_PATH))); + if (apiPath.matches(METRICS_V1_PATH)) return Optional.of(resourceListResponse(requestUri, List.of(METRICS_VALUES_PATH))); if (apiPath.matches(METRICS_VALUES_PATH)) return Optional.of(applicationMetricsResponse(consumer)); - if (apiPath.matches(V1_PROMETHEUS)) return Optional.of(resourceListResponse(requestUri, List.of(PROMETHEUS_VALUES_PATH))); + if (apiPath.matches(PROMETHEUS_V1_PATH)) return Optional.of(resourceListResponse(requestUri, List.of(PROMETHEUS_VALUES_PATH))); if (apiPath.matches(PROMETHEUS_VALUES_PATH)) return Optional.of(applicationPrometheusResponse(consumer)); return Optional.empty(); @@ -84,11 +85,12 @@ public class ApplicationMetricsHandler extends HttpHandlerBase { var metricsByNode = metricsRetriever.getMetrics(consumer); - return new TextResponse(200, PrometheusUtil.toPrometheusModel(toGenericApplicationModel(metricsByNode).nodes.stream() - .flatMap(element -> GenericJsonUtil.toMetricsPackets(element).stream() + List genericNodes = toGenericApplicationModel(metricsByNode).nodes; + List metricsForAllNodes = genericNodes.stream() + .flatMap(element -> toMetricsPackets(element).stream() .map(MetricsPacket.Builder::build)) - .collect(Collectors.toList())) - .serialize()); + .collect(Collectors.toList()); + return new TextResponse(200, toPrometheusModel(metricsForAllNodes).serialize()); } } diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java index cb0178b1aef..46c4af4c1f4 100644 --- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java +++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java @@ -25,7 +25,7 @@ import java.util.concurrent.Executors; import static ai.vespa.metricsproxy.TestUtil.getFileContents; import static ai.vespa.metricsproxy.http.ValuesFetcher.DEFAULT_PUBLIC_CONSUMER_ID; -import static ai.vespa.metricsproxy.http.application.ApplicationMetricsHandler.V1_METRICS; +import static ai.vespa.metricsproxy.http.application.ApplicationMetricsHandler.METRICS_V1_PATH; import static ai.vespa.metricsproxy.http.application.ApplicationMetricsHandler.METRICS_VALUES_PATH; import static ai.vespa.metricsproxy.metric.model.json.JacksonUtil.createObjectMapper; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; @@ -48,7 +48,7 @@ public class ApplicationMetricsHandlerTest { private static final String HOST = "localhost"; private static final String URI_BASE = "http://" + HOST; - private static final String APP_METRICS_V1_URI = URI_BASE + V1_METRICS; + private static final String APP_METRICS_V1_URI = URI_BASE + METRICS_V1_PATH; private static final String APP_METRICS_VALUES_URI = URI_BASE + METRICS_VALUES_PATH; private static final String TEST_FILE = "generic-sample.json"; -- cgit v1.2.3