From e855b5734cae2d68cf2b68d6a27ca5f7f2ca1127 Mon Sep 17 00:00:00 2001 From: HÃ¥kon Hallingstad Date: Fri, 27 Oct 2017 09:19:52 +0200 Subject: Add metric of whether any services are down, and fix numberOfServices metric --- .../hosted/provision/maintenance/MetricsReporter.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'node-repository/src') 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 471fe132e51..2ed03e13f22 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 @@ -127,13 +127,17 @@ public class MetricsReporter extends Maintainer { // Ignore } - long numberOfServices = 0; + long numberOfServices; HostName hostName = new HostName(node.hostname()); List services = servicesByHost.get(hostName); - if (services != null) { + if (services == null) { + numberOfServices = 0; + } else { Map servicesCount = services.stream().collect( Collectors.groupingBy(ServiceInstance::serviceStatus, Collectors.counting())); + numberOfServices = servicesCount.values().stream().mapToLong(Long::longValue).sum(); + metric.set( "numberOfServicesUp", servicesCount.getOrDefault(ServiceStatus.UP, 0L), context); @@ -142,9 +146,10 @@ public class MetricsReporter extends Maintainer { "numberOfServicesNotChecked", servicesCount.getOrDefault(ServiceStatus.NOT_CHECKED, 0L), context); - metric.set( - "numberOfServicesDown", - servicesCount.getOrDefault(ServiceStatus.DOWN, 0L), context); + long numberOfServicesDown = servicesCount.getOrDefault(ServiceStatus.DOWN, 0L); + metric.set("numberOfServicesDown", numberOfServicesDown, context); + + metric.set("someServicesDown", (numberOfServicesDown > 0 ? 1 : 0), context); } metric.set("numberOfServices", numberOfServices, context); -- cgit v1.2.3