summaryrefslogtreecommitdiffstats
path: root/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeTimeseries.java
diff options
context:
space:
mode:
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.java22
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);
- }
-
}