Fix pull replication queue metric prefix Use the plugin-injected MetricMaker for generating the metrics for the pull replication queue, otherwise all the metrics are generated without the plugin prefix, making them harder to discover. Change-Id: I74335a4a4d85060ac0e484fae62f515661282085
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java index 63d6a95..5308294 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java
@@ -24,7 +24,6 @@ import com.google.gerrit.extensions.events.ProjectDeletedListener; import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.metrics.MetricMaker; -import com.google.gerrit.metrics.dropwizard.DropWizardMetricMaker; import com.google.gerrit.server.config.SitePaths; import com.google.gerrit.server.events.EventListener; import com.google.gerrit.server.events.EventTypes; @@ -68,18 +67,20 @@ class PullReplicationModule extends AbstractModule { private final SitePaths site; private final Path cfgPath; + private final MetricMaker pluginMetricMaker; @Inject - public PullReplicationModule(SitePaths site) { + public PullReplicationModule(SitePaths site, MetricMaker pluginMetricMaker) { this.site = site; cfgPath = site.etc_dir.resolve("replication.config"); + this.pluginMetricMaker = pluginMetricMaker; } @Override protected void configure() { bind(MetricMaker.class) .annotatedWith(Names.named(ReplicationQueueMetrics.REPLICATION_QUEUE_METRICS)) - .to(metricMakerClass()); + .toInstance(pluginMetricMaker); install(new PullReplicationGroupModule()); bind(BearerTokenProvider.class).in(Scopes.SINGLETON); @@ -161,10 +162,6 @@ EventTypes.register(FetchReplicationScheduledEvent.TYPE, FetchReplicationScheduledEvent.class); } - protected Class<? extends MetricMaker> metricMakerClass() { - return DropWizardMetricMaker.class; - } - private FileBasedConfig getReplicationConfig() { File replicationConfigFile = cfgPath.toFile(); FileBasedConfig config = new FileBasedConfig(replicationConfigFile, FS.DETECTED);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationITAbstract.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationITAbstract.java index f9fa0da..58693bc 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationITAbstract.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationITAbstract.java
@@ -32,7 +32,6 @@ import com.google.gerrit.extensions.events.HeadUpdatedListener; import com.google.gerrit.extensions.events.ProjectDeletedListener; import com.google.gerrit.extensions.restapi.RestApiException; -import com.google.gerrit.metrics.MetricMaker; import com.google.gerrit.server.config.SitePaths; import com.google.inject.Inject; import com.googlesource.gerrit.plugins.replication.AutoReloadConfigDecorator; @@ -57,15 +56,9 @@ public abstract class PullReplicationITAbstract extends PullReplicationSetupBase { public static class PullReplicationTestModule extends PullReplicationModule { - @Inject - public PullReplicationTestModule(SitePaths site) { - super(site); - } - - @Override - protected Class<? extends MetricMaker> metricMakerClass() { - return InMemoryMetricMaker.class; + public PullReplicationTestModule(SitePaths site, InMemoryMetricMaker memMetric) { + super(site, memMetric); } }