diff options
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeTimeseries.java')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeTimeseries.java | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeTimeseries.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeTimeseries.java index e6f786f55aa..778a2110d2c 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeTimeseries.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeTimeseries.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.provision.autoscale; import com.yahoo.config.provision.ClusterSpec; import java.time.Instant; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -26,8 +27,6 @@ public class NodeTimeseries { this.snapshots = snapshots; } - // Public access - public boolean isEmpty() { return snapshots.isEmpty(); } public int size() { return snapshots.size(); } @@ -40,20 +39,17 @@ public class NodeTimeseries { public String hostname() { return hostname; } - public NodeTimeseries copyAfter(Instant oldestTime) { + public NodeTimeseries add(MetricSnapshot snapshot) { + List<MetricSnapshot> list = new ArrayList<>(snapshots); + list.add(snapshot); + return new NodeTimeseries(hostname(), type(), list); + } + + public NodeTimeseries justAfter(Instant oldestTime) { return new NodeTimeseries(hostname, type, snapshots.stream() - .filter(measurement -> measurement.at().equals(oldestTime) || measurement.at().isAfter(oldestTime)) + .filter(snapshot -> snapshot.at().equals(oldestTime) || snapshot.at().isAfter(oldestTime)) .collect(Collectors.toList())); } - // Restricted mutation - - void add(MetricSnapshot snapshot) { snapshots.add(snapshot); } - - void removeOlderThan(long oldestTimestamp) { - while (!snapshots.isEmpty() && snapshots.get(0).at().toEpochMilli() < oldestTimestamp) - snapshots.remove(0); - } - } |