diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-12-16 21:26:32 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-12-16 21:26:32 +0100 |
commit | 47dab19f0e4ab17e501e26f82d2ce443406d3155 (patch) | |
tree | cf99a2e39394b3e9409a30217aac674a411ec4d2 /metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas | |
parent | 7f04f3a850619c73ea25aab853ff7ec1ea71e707 (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.java | 2 | ||||
-rw-r--r-- | metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/yamas/YamasResponse.java | 16 |
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); } } |