diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-06-03 19:24:20 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-06-03 19:24:20 +0200 |
commit | 6a026dfbef33f07537828721acea599131fb1d4d (patch) | |
tree | bc478fe3c741d1de65a4f1fa14c4d4a0515a31c6 /vespajlib/src/main/java/com/yahoo/concurrent/maintenance | |
parent | 25c0545e41367018abed8a3173c04b7e4a8257c1 (diff) |
Turn metric consumer into a typed class
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/concurrent/maintenance')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/concurrent/maintenance/JobMetrics.java | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/concurrent/maintenance/JobMetrics.java b/vespajlib/src/main/java/com/yahoo/concurrent/maintenance/JobMetrics.java index fcc5b8e57a2..bb1bd0085ef 100644 --- a/vespajlib/src/main/java/com/yahoo/concurrent/maintenance/JobMetrics.java +++ b/vespajlib/src/main/java/com/yahoo/concurrent/maintenance/JobMetrics.java @@ -9,16 +9,10 @@ import java.util.function.BiConsumer; * * @author mpolden */ -public class JobMetrics { - - private final BiConsumer<String, Long> metricConsumer; +public abstract class JobMetrics { private final ConcurrentHashMap<String, Long> incompleteRuns = new ConcurrentHashMap<>(); - public JobMetrics(BiConsumer<String, Long> metricConsumer) { - this.metricConsumer = metricConsumer; - } - /** Record a run for given job */ public void recordRunOf(String job) { incompleteRuns.merge(job, 1L, Long::sum); @@ -33,8 +27,10 @@ public class JobMetrics { public void forward(String job) { Long incompleteRuns = this.incompleteRuns.get(job); if (incompleteRuns != null) { - metricConsumer.accept(job, incompleteRuns); + consume(job, incompleteRuns); } } + protected abstract void consume(String job, Long incompleteRuns); + } |