diff options
author | Amund Bergland Kvalsvik <akvalsvik@verizonmedia.com> | 2020-06-29 11:18:48 +0200 |
---|---|---|
committer | Amund Bergland Kvalsvik <akvalsvik@verizonmedia.com> | 2020-06-29 11:18:48 +0200 |
commit | c2fbfa9ebf866d9be5ec4826bab056b2f517f8a4 (patch) | |
tree | 1241957666d0b2591538d23ad3a3466ca986d981 /metrics-proxy | |
parent | e3a53542dbff6121488db259959e85965b87600b (diff) |
Fixed review comments
Diffstat (limited to 'metrics-proxy')
2 files changed, 14 insertions, 12 deletions
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<HttpResponse> 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<GenericJsonModel> genericNodes = toGenericApplicationModel(metricsByNode).nodes; + List<MetricsPacket> 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"; |