diff options
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java index 80a5fe98350..43ce5b0ff5a 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterTimeseries.java @@ -35,11 +35,11 @@ public class ClusterTimeseries { ClusterSpec clusterSpec = clusterNodes.get(0).allocation().get().membership().cluster(); var timeseries = db.getNodeTimeseries(nodeRepository.clock().instant().minus(Autoscaler.scalingWindow(clusterSpec)), clusterNodes.stream().map(Node::hostname).collect(Collectors.toSet())); - Map<String, Instant> startTimePerNode = metricStartTimes(cluster, clusterNodes, timeseries, nodeRepository); measurementCount = timeseries.stream().mapToInt(m -> m.size()).sum(); - timeseries = filterStale(timeseries, startTimePerNode); + if (cluster.lastScalingEvent().isPresent()) + timeseries = filter(timeseries, snapshot -> snapshot.generation() >= cluster.lastScalingEvent().get().generation()); measurementCountWithoutStale = timeseries.stream().mapToInt(m -> m.size()).sum(); timeseries = filter(timeseries, snapshot -> snapshot.inService()); @@ -106,12 +106,6 @@ public class ClusterTimeseries { } } - private List<NodeTimeseries> filterStale(List<NodeTimeseries> timeseries, - Map<String, Instant> startTimePerHost) { - if (startTimePerHost.isEmpty()) return timeseries; // Map is either empty or complete - return timeseries.stream().map(m -> m.justAfter(startTimePerHost.get(m.hostname()))).collect(Collectors.toList()); - } - private List<NodeTimeseries> filter(List<NodeTimeseries> timeseries, Predicate<MetricSnapshot> filter) { return timeseries.stream().map(nodeTimeseries -> nodeTimeseries.filter(filter)).collect(Collectors.toList()); } |