diff options
author | gjoranv <gv@verizonmedia.com> | 2020-02-13 15:13:59 +0100 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2020-02-13 15:17:01 +0100 |
commit | da9b014caa7b006a455afe0b4faf4b7c1482e7a2 (patch) | |
tree | 43ee7b140efb3377713b75a8a523cb487691db1f /metrics-proxy | |
parent | c93115373ce94326892057d6a8a6f0c8e312600d (diff) |
Allow retrieving metrics as mutable metrics packet builders.
Diffstat (limited to 'metrics-proxy')
-rw-r--r-- | metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java index 4c4015220bc..53a05ef88f0 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java @@ -79,6 +79,16 @@ public class MetricsManager { * @return Metrics for all matching services. */ public List<MetricsPacket> getMetrics(List<VespaService> services, Instant startTime) { + return getMetricsAsBuilders(services, startTime).stream() + .map(MetricsPacket.Builder::build) + .collect(Collectors.toList()); + } + + /** + * Returns the metrics for the given services, in mutable state for further processing. + * NOTE: Use {@link #getMetrics(List, Instant)} instead, unless further processing of the metrics is necessary. + */ + public List<MetricsPacket.Builder> getMetricsAsBuilders(List<VespaService> services, Instant startTime) { if (services.isEmpty()) return Collections.emptyList(); log.log(DEBUG, () -> "Updating services prior to fetching metrics, number of services= " + services.size()); @@ -99,7 +109,6 @@ public class MetricsManager { .map(builder -> builder.putDimensionsIfAbsent(getGlobalDimensions())) .map(builder -> builder.putDimensionsIfAbsent(extraDimensions)) .map(builder -> adjustTimestamp(builder, startTime)) - .map(MetricsPacket.Builder::build) .collect(Collectors.toList()); } |