Merge "Add a metrics reporter for testing metrics generation"
diff --git a/src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCacheIT.java b/src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCacheIT.java
index f347425..ef502ef 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCacheIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCacheIT.java
@@ -17,6 +17,7 @@
 import static org.junit.Assert.fail;
 
 import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Slf4jReporter;
 import com.google.errorprone.annotations.CanIgnoreReturnValue;
 import com.google.gerrit.acceptance.LightweightPluginDaemonTest;
 import com.google.gerrit.acceptance.TestPlugin;
@@ -41,6 +42,7 @@
 import java.util.Optional;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Function;
+import org.junit.After;
 import org.junit.Test;
 
 @TestPlugin(
@@ -57,6 +59,7 @@
   private GitStatsMetricsCollector gitStatsMetricsCollector;
   private GitRefsMetricsCollector gitRefsMetricsCollector;
   private GitRepoMetricsCache gitRepoMetricsCache;
+  private Slf4jReporter metricReporter;
 
   private final Project.NameKey testProject1 = Project.nameKey("testProject1");
   private final Project.NameKey testProject2 = Project.nameKey("testProject2");
@@ -71,6 +74,12 @@
     fsMetricsCollector = plugin.getSysInjector().getInstance(FSMetricsCollector.class);
     gitStatsMetricsCollector = plugin.getSysInjector().getInstance(GitStatsMetricsCollector.class);
     gitRefsMetricsCollector = plugin.getSysInjector().getInstance(GitRefsMetricsCollector.class);
+    metricReporter = Slf4jReporter.forRegistry(metricRegistry).build();
+  }
+
+  @After
+  public void tearDown() {
+    metricReporter.close();
   }
 
   @CanIgnoreReturnValue
@@ -182,6 +191,7 @@
   }
 
   private long getPluginMetricsCount() {
+    metricReporter.report();
     return metricRegistry.getMetrics().keySet().stream()
         .filter(metricName -> metricName.contains("plugins/git-repo-metrics"))
         .count();
diff --git a/src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/MetricsInitializerIT.java b/src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/MetricsInitializerIT.java
index 9b83588..1d6ee30 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/MetricsInitializerIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/MetricsInitializerIT.java
@@ -17,6 +17,7 @@
 import static org.junit.Assert.fail;
 
 import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Slf4jReporter;
 import com.google.gerrit.acceptance.LightweightPluginDaemonTest;
 import com.google.gerrit.acceptance.TestPlugin;
 import com.google.gerrit.acceptance.UseLocalDisk;
@@ -27,6 +28,7 @@
 import com.googlesource.gerrit.plugins.gitrepometrics.collectors.GitRefsMetricsCollector;
 import com.googlesource.gerrit.plugins.gitrepometrics.collectors.GitStatsMetricsCollector;
 import java.time.Duration;
+import org.junit.After;
 import org.junit.Test;
 
 @TestPlugin(
@@ -40,6 +42,7 @@
   private FSMetricsCollector fsMetricsCollector;
   private GitStatsMetricsCollector gitStatsMetricsCollector;
   private GitRefsMetricsCollector gitRefsMetricsCollector;
+  private Slf4jReporter metricReporter;
 
   @Override
   public void setUpTestPlugin() throws Exception {
@@ -48,6 +51,12 @@
     fsMetricsCollector = plugin.getSysInjector().getInstance(FSMetricsCollector.class);
     gitStatsMetricsCollector = plugin.getSysInjector().getInstance(GitStatsMetricsCollector.class);
     gitRefsMetricsCollector = plugin.getSysInjector().getInstance(GitRefsMetricsCollector.class);
+    metricReporter = Slf4jReporter.forRegistry(metricRegistry).build();
+  }
+
+  @After
+  public void tearDown() {
+    metricReporter.close();
   }
 
   @Test
@@ -79,6 +88,7 @@
   }
 
   private long getPluginMetricsCount() {
+    metricReporter.report();
     return metricRegistry.getMetrics().keySet().stream()
         .filter(metricName -> metricName.contains("plugins/git-repo-metrics"))
         .count();