aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-06-03 19:24:20 +0200
committerJon Bratseth <bratseth@gmail.com>2021-06-03 19:24:20 +0200
commit6a026dfbef33f07537828721acea599131fb1d4d (patch)
treebc478fe3c741d1de65a4f1fa14c4d4a0515a31c6 /node-repository
parent25c0545e41367018abed8a3173c04b7e4a8257c1 (diff)
Turn metric consumer into a typed class
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintainer.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintainer.java
index 0a1f6961f9f..3c0ed529ee9 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintainer.java
@@ -25,7 +25,7 @@ public abstract class NodeRepositoryMaintainer extends Maintainer {
public NodeRepositoryMaintainer(NodeRepository nodeRepository, Duration interval, Metric metric) {
super(null, interval, nodeRepository.clock().instant(), nodeRepository.jobControl(),
- jobMetrics(metric), nodeRepository.database().cluster(), true);
+ new NodeRepositoryJobMetrics(metric), nodeRepository.database().cluster(), true);
this.nodeRepository = nodeRepository;
}
@@ -48,10 +48,19 @@ public abstract class NodeRepositoryMaintainer extends Maintainer {
.groupingBy(node -> node.allocation().get().owner());
}
- private static JobMetrics jobMetrics(Metric metric) {
- return new JobMetrics((job, consecutiveFailures) -> {
+ private static class NodeRepositoryJobMetrics extends JobMetrics {
+
+ private final Metric metric;
+
+ public NodeRepositoryJobMetrics(Metric metric) {
+ this.metric = metric;
+ }
+
+ @Override
+ protected void consume(String job, Long consecutiveFailures) {
metric.set("maintenance.consecutiveFailures", consecutiveFailures, metric.createContext(Map.of("job", job)));
- });
+ }
+
}
}