diff options
2 files changed, 8 insertions, 3 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java index 3d0cd284c55..01e53ce4f79 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java @@ -9,6 +9,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.chef.AttributeMapping; import com.yahoo.vespa.hosted.controller.api.integration.chef.Chef; import com.yahoo.vespa.hosted.controller.api.integration.chef.rest.PartialNode; import com.yahoo.vespa.hosted.controller.api.integration.chef.rest.PartialNodeResult; +import com.yahoo.vespa.hosted.controller.application.ApplicationList; import java.time.Clock; import java.time.Duration; @@ -102,9 +103,12 @@ public class MetricsReporter extends Maintainer { } private double deploymentFailRatio() { - List<Application> applications = controller().applications().asList(); + List<Application> applications = ApplicationList.from(controller().applications().asList()) + .notPullRequest() + .hasProductionDeployment() + .asList(); if (applications.isEmpty()) return 0; - + return (double)applications.stream().filter(a -> a.deploymentJobs().hasFailures()).count() / (double)applications.size(); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java index 621e189ba37..a7458f9f8ed 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java @@ -71,7 +71,7 @@ public class MetricsReporterTest { metricsReporter.maintain(); assertEquals(0.0, metricsMock.getMetric(MetricsReporter.deploymentFailMetric)); - // Deploy 3 apps successfully + // Deploy all apps successfully Application app1 = tester.createApplication("app1", "tenant1", 1, 11L); Application app2 = tester.createApplication("app2", "tenant1", 2, 22L); Application app3 = tester.createApplication("app3", "tenant1", 3, 33L); @@ -79,6 +79,7 @@ public class MetricsReporterTest { tester.deployCompletely(app1, applicationPackage); tester.deployCompletely(app2, applicationPackage); tester.deployCompletely(app3, applicationPackage); + tester.deployCompletely(app4, applicationPackage); metricsReporter.maintain(); assertEquals(0.0, metricsMock.getMetric(MetricsReporter.deploymentFailMetric)); |