aboutsummaryrefslogtreecommitdiffstats
path: root/metrics-proxy
diff options
context:
space:
mode:
authorAmund Bergland Kvalsvik <akvalsvik@verizonmedia.com>2020-06-29 11:18:48 +0200
committerAmund Bergland Kvalsvik <akvalsvik@verizonmedia.com>2020-06-29 11:18:48 +0200
commitc2fbfa9ebf866d9be5ec4826bab056b2f517f8a4 (patch)
tree1241957666d0b2591538d23ad3a3466ca986d981 /metrics-proxy
parente3a53542dbff6121488db259959e85965b87600b (diff)
Fixed review comments
Diffstat (limited to 'metrics-proxy')
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java22
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java4
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";