aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
diff options
context:
space:
mode:
authorOla Aunronning <olaa@yahooinc.com>2024-02-26 14:05:59 +0100
committerOla Aunronning <olaa@yahooinc.com>2024-02-26 14:05:59 +0100
commit2d76bd7d5701c70b06ee24fa5962dc6833ebb445 (patch)
tree61d7c61ffd8c0e95b0d9fb3b1ff8fa052536998a /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
parent1f4fe9ac7726c7501cf4414f9fc009a8564096ce (diff)
Empty exclusive host metric considers deallocation time
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
index b82d1809085..69ae4fddb63 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
@@ -397,13 +397,16 @@ public class MetricsReporter extends NodeRepositoryMaintainer {
private void updateEmptyExclusiveHosts(NodeList nodes) {
Instant now = nodeRepository().clock().instant();
- Duration minActivePeriod = Duration.ofMinutes(10);
+ Instant tenMinutesAgo = now.minus(Duration.ofMinutes(10));
int emptyHosts = nodes.parents().state(State.active)
.matching(node -> (node.type() != NodeType.host && node.type().isHost()) ||
node.exclusiveToApplicationId().isPresent())
.matching(host -> host.history().hasEventBefore(History.Event.Type.activated,
- now.minus(minActivePeriod)))
+ tenMinutesAgo))
.matching(host -> nodes.childrenOf(host).isEmpty())
+ .matching(host -> host.hostEmptyAt()
+ .map(time -> time.isBefore(tenMinutesAgo))
+ .orElse(true))
.size();
metric.set(ConfigServerMetrics.NODES_EMPTY_EXCLUSIVE.baseName(), emptyHosts, null);
}