diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCache.java b/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCache.java
index 930ccb3..ad71e7f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCache.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCache.java
@@ -19,11 +19,11 @@
 
 import com.codahale.metrics.MetricRegistry;
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Maps;
 import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.metrics.CallbackMetric0;
 import com.google.gerrit.metrics.Description;
 import com.google.gerrit.metrics.MetricMaker;
 import com.google.inject.Inject;
@@ -109,18 +109,13 @@
 
   private void createNewCallbackMetric(GitRepoMetric metric, String projectName) {
     String metricName = getMetricName(metric.getName(), projectName);
-    Supplier<Long> supplier =
-        new Supplier<Long>() {
-          public Long get() {
-            return getMetrics().getOrDefault(metricName, 0L);
-          }
-        };
+    CallbackMetric0<Long> cb =
+        metricMaker.newCallbackMetric(
+            metricName,
+            Long.class,
+            new Description(metric.getDescription()).setRate().setUnit(metric.getUnit()));
 
-    metricMaker.newCallbackMetric(
-        metricName,
-        Long.class,
-        new Description(metric.getDescription()).setRate().setUnit(metric.getUnit()),
-        supplier);
+    metricMaker.newTrigger(cb, () -> cb.set(getMetrics().getOrDefault(metricName, 0L)));
   }
 
   public List<GitRepoMetric> getMetricsNames() {
