diff options
Diffstat (limited to 'clustercontroller-core/src/main/java/com')
2 files changed, 19 insertions, 6 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ResourceExhaustionCalculator.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ResourceExhaustionCalculator.java index 80b8a6110f1..c91c5dbeb8d 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ResourceExhaustionCalculator.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ResourceExhaustionCalculator.java @@ -37,9 +37,7 @@ public class ResourceExhaustionCalculator { int maxDescriptions = 3; String description = exhaustions.stream() .limit(maxDescriptions) - .map(n -> String.format("%s on node %s (%.3g > %.3g)", - n.resourceType, n.node.getIndex(), - n.resourceUsage.getUsage(), n.limit)) + .map(ResourceExhaustionCalculator::formatNodeResourceExhaustion) .collect(Collectors.joining(", ")); if (exhaustions.size() > maxDescriptions) { description += String.format(" (... and %d more)", exhaustions.size() - maxDescriptions); @@ -47,6 +45,14 @@ public class ResourceExhaustionCalculator { return ClusterStateBundle.FeedBlock.blockedWithDescription(description); } + private static String formatNodeResourceExhaustion(NodeResourceExhaustion n) { + return String.format("%s%s on node %s (%.3g > %.3g)", + n.resourceType, + (n.resourceUsage.getName() != null ? ":" + n.resourceUsage.getName() : ""), + n.node.getIndex(), + n.resourceUsage.getUsage(), n.limit); + } + public List<NodeResourceExhaustion> resourceExhaustionsFromHostInfo(Node node, HostInfo hostInfo) { List<NodeResourceExhaustion> exceedingLimit = null; for (var usage : hostInfo.getContentNode().getResourceUsage().entrySet()) { diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/ResourceUsage.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/ResourceUsage.java index e47ec5452a4..876bf9480a6 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/ResourceUsage.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/ResourceUsage.java @@ -11,9 +11,12 @@ import java.util.Objects; */ public class ResourceUsage { private final Double usage; + private final String name; - public ResourceUsage(@JsonProperty("usage") Double usage) { + public ResourceUsage(@JsonProperty("usage") Double usage, + @JsonProperty("name") String name) { this.usage = usage; + this.name = name; } /** Resource usage in [0, 1] */ @@ -21,16 +24,20 @@ public class ResourceUsage { return usage; } + public String getName() { + return name; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ResourceUsage that = (ResourceUsage) o; - return Objects.equals(usage, that.usage); + return Objects.equals(usage, that.usage) && Objects.equals(name, that.name); } @Override public int hashCode() { - return Objects.hash(usage); + return Objects.hash(usage, name); } } |