aboutsummaryrefslogtreecommitdiffstats
path: root/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-12-16 21:26:32 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2021-12-16 21:26:32 +0100
commit47dab19f0e4ab17e501e26f82d2ce443406d3155 (patch)
treecf99a2e39394b3e9409a30217aac674a411ec4d2 /metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas
parent7f04f3a850619c73ea25aab853ff7ec1ea71e707 (diff)
Avoid creating a temporary YamasArrayJsonModel which contains a copy of the MetricsPacket list that is used just for simple json printing with an ObjectMapper.
Insteda do it the old school by genrating the json with the core api which is streaming.
Diffstat (limited to 'metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas')
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasHandler.java2
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java16
2 files changed, 9 insertions, 9 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasHandler.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasHandler.java
index 822f4e0b5d5..10b3cc3077b 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasHandler.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasHandler.java
@@ -61,7 +61,7 @@ public class YamasHandler extends HttpHandlerBase {
try {
List<MetricsPacket> metrics = consumer == null ? valuesFetcher.fetchAllMetrics() : valuesFetcher.fetch(consumer);
metrics.addAll(nodeMetricGatherer.gatherMetrics()); // TODO: Currently only add these metrics in this handler. Eventually should be included in all handlers
- return new YamasResponse(OK, YamasJsonUtil.toYamasArray(metrics, true));
+ return new YamasResponse(OK, metrics);
} catch (JsonRenderingException e) {
return new ErrorResponse(INTERNAL_SERVER_ERROR, e.getMessage());
}
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java
index 23b56e94ae4..49f5036b3fd 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java
@@ -1,24 +1,25 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package ai.vespa.metricsproxy.http.yamas;
-import ai.vespa.metricsproxy.metric.model.json.JacksonUtil;
-import ai.vespa.metricsproxy.metric.model.json.YamasArrayJsonModel;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import ai.vespa.metricsproxy.metric.model.MetricsPacket;
+import ai.vespa.metricsproxy.metric.model.json.YamasJsonUtil;
import com.yahoo.container.jdisc.HttpResponse;
import java.io.IOException;
import java.io.OutputStream;
+import java.util.List;
+
/**
* @author olaa
*/
public class YamasResponse extends HttpResponse {
- private final YamasArrayJsonModel data;
+ private final List<MetricsPacket> metrics;
- public YamasResponse(int code, YamasArrayJsonModel data) {
+ public YamasResponse(int code, List<MetricsPacket> metrics) {
super(code);
- this.data = data;
+ this.metrics = metrics;
}
@Override
@@ -28,8 +29,7 @@ public class YamasResponse extends HttpResponse {
@Override
public void render(OutputStream outputStream) throws IOException {
- ObjectMapper mapper = JacksonUtil.createObjectMapper();
- mapper.writeValue(outputStream, data);
+ YamasJsonUtil.toJson(metrics, outputStream, true);
}
}