diff options
author | Bjørn Meland <bjormel@users.noreply.github.com> | 2020-11-23 13:51:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-23 13:51:37 +0100 |
commit | d5fa517246cb0647123615b9b10d6054b9c759c6 (patch) | |
tree | 267e6cdc5ccfe9b635fe8b779eb624ff0ee17c8e /node-repository | |
parent | 38006ebe5b0c25c578491f74a4c47d546019208d (diff) | |
parent | cf87ec506575123e4291dd7457602bdc4c0ceb27 (diff) |
Merge pull request #15408 from vespa-engine/olaa/breakfixed-host-metric
Add metric for breakfixed hosts
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java | 11 |
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()) |