summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Meland <bjormel@users.noreply.github.com>2020-11-23 13:51:37 +0100
committerGitHub <noreply@github.com>2020-11-23 13:51:37 +0100
commitd5fa517246cb0647123615b9b10d6054b9c759c6 (patch)
tree267e6cdc5ccfe9b635fe8b779eb624ff0ee17c8e
parent38006ebe5b0c25c578491f74a4c47d546019208d (diff)
parentcf87ec506575123e4291dd7457602bdc4c0ceb27 (diff)
Merge pull request #15408 from vespa-engine/olaa/breakfixed-host-metric
Add metric for breakfixed hosts
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java11
1 files changed, 11 insertions, 0 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 3bf287a3e80..064569a827a 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
@@ -27,6 +27,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Collectors;
@@ -70,6 +71,7 @@ public class MetricsReporter extends NodeRepositoryMaintainer {
updateLockMetrics();
updateDockerMetrics(nodes);
updateTenantUsageMetrics(nodes);
+ updateRepairTicketMetrics(nodes);
return true;
}
@@ -297,6 +299,15 @@ public class MetricsReporter extends NodeRepositoryMaintainer {
);
}
+ private void updateRepairTicketMetrics(NodeList nodes) {
+ nodes.nodeType(NodeType.host).stream()
+ .map(node -> node.reports().getReport("repairTicket"))
+ .flatMap(Optional::stream)
+ .map(report -> report.getInspector().field("status").asString())
+ .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
+ .forEach((status, number) -> metric.set("hostedVespa.breakfixedHosts", number, getContextAt("status", status)));
+ }
+
private static NodeResources getCapacityTotal(NodeList nodes) {
return nodes.hosts().state(active).asList().stream()
.map(host -> host.flavor().resources())