diff options
author | Jon Bratseth <bratseth@oath.com> | 2019-09-09 10:15:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-09 10:15:17 +0200 |
commit | d4e4f14229051365554fb9b4f9613a5d1df351b4 (patch) | |
tree | 98263ef9cbffc92b0f484b9077cbb7b673189d98 /node-repository | |
parent | 2a0819fefe62d15a134094548bafdfd5f6a3a813 (diff) | |
parent | 2bd18f168e842f936ee31365c5916723f1e5006e (diff) |
Merge pull request #10549 from vespa-engine/bratseth/metering
Bratseth/metering.
Diffstat (limited to 'node-repository')
2 files changed, 18 insertions, 14 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityChecker.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityChecker.java index 48f846d5e7f..03cd3dd4019 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityChecker.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityChecker.java @@ -11,6 +11,7 @@ import java.util.function.Function; import java.util.stream.Collectors; public class CapacityChecker { + private List<Node> hosts; Map<String, Node> nodeMap; private Map<Node, List<Node>> nodeChildren; @@ -523,4 +524,5 @@ public class CapacityChecker { return out.toString(); } } + } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityReportMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityReportMaintainer.java index 3c47e418b94..6a6fbf3aed0 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityReportMaintainer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityReportMaintainer.java @@ -21,6 +21,7 @@ import java.util.*; * @author mgimle */ public class CapacityReportMaintainer extends Maintainer { + private final Metric metric; private final NodeRepository nodeRepository; private static final Logger log = Logger.getLogger(CapacityReportMaintainer.class.getName()); @@ -35,20 +36,21 @@ public class CapacityReportMaintainer extends Maintainer { @Override protected void maintain() { - if (!nodeRepository.zone().cloud().value().equals("aws")) { - CapacityChecker capacityChecker = new CapacityChecker(this.nodeRepository); - List<Node> overcommittedHosts = capacityChecker.findOvercommittedHosts(); - if (overcommittedHosts.size() != 0) { - log.log(LogLevel.WARNING, String.format("%d nodes are overcommitted! [ %s ]", overcommittedHosts.size(), - overcommittedHosts.stream().map(Node::hostname).collect(Collectors.joining(", ")))); - } - metric.set("overcommittedHosts", overcommittedHosts.size(), null); - - Optional<CapacityChecker.HostFailurePath> failurePath = capacityChecker.worstCaseHostLossLeadingToFailure(); - if (failurePath.isPresent()) { - int worstCaseHostLoss = failurePath.get().hostsCausingFailure.size(); - metric.set("spareHostCapacity", worstCaseHostLoss - 1, null); - } + if (nodeRepository.zone().cloud().value().equals("aws")) return; // Hosts and nodes are 1-1 + + CapacityChecker capacityChecker = new CapacityChecker(this.nodeRepository); + List<Node> overcommittedHosts = capacityChecker.findOvercommittedHosts(); + if (overcommittedHosts.size() != 0) { + log.log(LogLevel.WARNING, String.format("%d nodes are overcommitted! [ %s ]", overcommittedHosts.size(), + overcommittedHosts.stream().map(Node::hostname).collect(Collectors.joining(", ")))); + } + metric.set("overcommittedHosts", overcommittedHosts.size(), null); + + Optional<CapacityChecker.HostFailurePath> failurePath = capacityChecker.worstCaseHostLossLeadingToFailure(); + if (failurePath.isPresent()) { + int worstCaseHostLoss = failurePath.get().hostsCausingFailure.size(); + metric.set("spareHostCapacity", worstCaseHostLoss - 1, null); } } + } |