diff options
author | Håkon Hallingstad <hakon@oath.com> | 2017-10-27 09:19:52 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2017-10-27 09:19:52 +0200 |
commit | e855b5734cae2d68cf2b68d6a27ca5f7f2ca1127 (patch) | |
tree | c765e89498ce0a69428d2bba9d94f7910ae79cd4 /node-repository | |
parent | 37f873b6a7d8db145d58bd496959b086f028ca7c (diff) |
Add metric of whether any services are down, and fix numberOfServices metric
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java | 15 |
1 files changed, 10 insertions, 5 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 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<ServiceInstance> services = servicesByHost.get(hostName); - if (services != null) { + if (services == null) { + numberOfServices = 0; + } else { Map<ServiceStatus, Long> 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); |