summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2017-10-27 09:19:52 +0200
committerHåkon Hallingstad <hakon@oath.com>2017-10-27 09:19:52 +0200
commite855b5734cae2d68cf2b68d6a27ca5f7f2ca1127 (patch)
treec765e89498ce0a69428d2bba9d94f7910ae79cd4
parent37f873b6a7d8db145d58bd496959b086f028ca7c (diff)
Add metric of whether any services are down, and fix numberOfServices metric
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java15
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);