diff --git a/cluster-operator/src/main/java/io/strimzi/operator/cluster/Main.java b/cluster-operator/src/main/java/io/strimzi/operator/cluster/Main.java
index 511acc56852..99e8ae91545 100644
--- a/cluster-operator/src/main/java/io/strimzi/operator/cluster/Main.java
+++ b/cluster-operator/src/main/java/io/strimzi/operator/cluster/Main.java
@@ -35,6 +35,7 @@
import io.vertx.core.http.HttpServer;
import io.vertx.micrometer.MicrometerMetricsOptions;
import io.vertx.micrometer.VertxPrometheusOptions;
+import io.vertx.micrometer.backends.BackendRegistries;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -91,7 +92,7 @@ public static void main(String[] args) {
shutdownHook.register(() -> ShutdownHook.shutdownVertx(vertx, SHUTDOWN_TIMEOUT));
// Setup Micrometer Metrics provider
- MetricsProvider metricsProvider = new MicrometerMetricsProvider();
+ MetricsProvider metricsProvider = new MicrometerMetricsProvider(BackendRegistries.getDefaultNow());
KubernetesClient client = new OperatorKubernetesClientBuilder("strimzi-cluster-operator", strimziVersion).build();
maybeCreateClusterRoles(vertx, config, client)
diff --git a/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/AbstractOperatorTest.java b/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/AbstractOperatorTest.java
index e082b8af085..ec6a07f35f4 100644
--- a/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/AbstractOperatorTest.java
+++ b/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/AbstractOperatorTest.java
@@ -25,6 +25,7 @@
import io.vertx.junit5.Checkpoint;
import io.vertx.junit5.VertxExtension;
import io.vertx.junit5.VertxTestContext;
+import io.vertx.micrometer.backends.BackendRegistries;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -63,7 +64,7 @@ public static void after() {
void testWithLockCallableSuccessfulReleasesLock(VertxTestContext context) {
var resourceOperator = new DefaultWatchableStatusedResourceOperator<>(vertx, null, "TestResource");
@SuppressWarnings({ "unchecked", "rawtypes" })
- var target = new DefaultOperator(vertx, "Test", resourceOperator, new MicrometerMetricsProvider(), null);
+ var target = new DefaultOperator(vertx, "Test", resourceOperator, new MicrometerMetricsProvider(BackendRegistries.getDefaultNow()), null);
Reconciliation reconciliation = new Reconciliation("test", "TestResource", "my-namespace", "my-resource");
String lockName = target.getLockName(reconciliation);
@@ -96,7 +97,7 @@ void testWithLockCallableSuccessfulReleasesLock(VertxTestContext context) {
void testWithLockCallableHandledExceptionReleasesLock(VertxTestContext context) {
var resourceOperator = new DefaultWatchableStatusedResourceOperator<>(vertx, null, "TestResource");
@SuppressWarnings({ "unchecked", "rawtypes" })
- var target = new DefaultOperator(vertx, "Test", resourceOperator, new MicrometerMetricsProvider(), null);
+ var target = new DefaultOperator(vertx, "Test", resourceOperator, new MicrometerMetricsProvider(BackendRegistries.getDefaultNow()), null);
Reconciliation reconciliation = new Reconciliation("test", "TestResource", "my-namespace", "my-resource");
String lockName = target.getLockName(reconciliation);
@@ -131,7 +132,7 @@ void testWithLockCallableHandledExceptionReleasesLock(VertxTestContext context)
void testWithLockCallableUnhandledExceptionReleasesLock(VertxTestContext context) {
var resourceOperator = new DefaultWatchableStatusedResourceOperator<>(vertx, null, "TestResource");
@SuppressWarnings({ "unchecked", "rawtypes" })
- var target = new DefaultOperator(vertx, "Test", resourceOperator, new MicrometerMetricsProvider(), null);
+ var target = new DefaultOperator(vertx, "Test", resourceOperator, new MicrometerMetricsProvider(BackendRegistries.getDefaultNow()), null);
Reconciliation reconciliation = new Reconciliation("test", "TestResource", "my-namespace", "my-resource");
String lockName = target.getLockName(reconciliation);
@@ -169,7 +170,7 @@ void testWithLockCallableUnhandledExceptionReleasesLock(VertxTestContext context
void testWithLockFailHandlerUnhandledExceptionReleasesLock(VertxTestContext context) {
var resourceOperator = new DefaultWatchableStatusedResourceOperator<>(vertx, null, "TestResource");
@SuppressWarnings({ "unchecked", "rawtypes" })
- var target = new DefaultOperator(vertx, "Test", resourceOperator, new MicrometerMetricsProvider(), null);
+ var target = new DefaultOperator(vertx, "Test", resourceOperator, new MicrometerMetricsProvider(BackendRegistries.getDefaultNow()), null);
Reconciliation reconciliation = new Reconciliation("test", "TestResource", "my-namespace", "my-resource");
String lockName = target.getLockName(reconciliation);
diff --git a/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectorIT.java b/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectorIT.java
index 7d787be7f3f..2827ed846d5 100644
--- a/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectorIT.java
+++ b/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectorIT.java
@@ -36,6 +36,7 @@
import io.vertx.junit5.VertxTestContext;
import io.vertx.micrometer.MicrometerMetricsOptions;
import io.vertx.micrometer.VertxPrometheusOptions;
+import io.vertx.micrometer.backends.BackendRegistries;
import org.hamcrest.CoreMatchers;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
@@ -143,7 +144,7 @@ public void testConnectorNotUpdatedWhenConfigUnchanged(VertxTestContext context)
KafkaConnector connector = createKafkaConnector(namespace, connectorName, false, config);
Crds.kafkaConnectorOperation(client).inNamespace(namespace).resource(connector).create();
- MetricsProvider metrics = new MicrometerMetricsProvider();
+ MetricsProvider metrics = new MicrometerMetricsProvider(BackendRegistries.getDefaultNow());
ResourceOperatorSupplier ros = new ResourceOperatorSupplier(vertx, client,
new ZookeeperLeaderFinder(vertx,
// Retry up to 3 times (4 attempts), with overall max delay of 35000ms
@@ -213,7 +214,7 @@ public void testConnectorResourceNotReadyWhenConnectorFailed(VertxTestContext co
KafkaConnector connector = createKafkaConnector(namespace, connectorName, false, config);
Crds.kafkaConnectorOperation(client).inNamespace(namespace).resource(connector).create();
- MetricsProvider metrics = new MicrometerMetricsProvider();
+ MetricsProvider metrics = new MicrometerMetricsProvider(BackendRegistries.getDefaultNow());
ResourceOperatorSupplier ros = new ResourceOperatorSupplier(vertx, client,
new ZookeeperLeaderFinder(vertx,
// Retry up to 3 times (4 attempts), with overall max delay of 35000ms
@@ -262,7 +263,7 @@ public void testConnectorResourceNotReadyWhenTaskFailed(VertxTestContext context
KafkaConnector connector = createKafkaConnector(namespace, connectorName, false, config);
Crds.kafkaConnectorOperation(client).inNamespace(namespace).resource(connector).create();
- MetricsProvider metrics = new MicrometerMetricsProvider();
+ MetricsProvider metrics = new MicrometerMetricsProvider(BackendRegistries.getDefaultNow());
ResourceOperatorSupplier ros = new ResourceOperatorSupplier(vertx, client,
new ZookeeperLeaderFinder(vertx,
// Retry up to 3 times (4 attempts), with overall max delay of 35000ms
@@ -322,7 +323,7 @@ public void testConnectorIsAutoRestarted(VertxTestContext context) {
KafkaConnector connector = createKafkaConnector(namespace, connectorName, true, config);
Crds.kafkaConnectorOperation(client).inNamespace(namespace).resource(connector).create();
- MetricsProvider metrics = new MicrometerMetricsProvider();
+ MetricsProvider metrics = new MicrometerMetricsProvider(BackendRegistries.getDefaultNow());
ResourceOperatorSupplier ros = new ResourceOperatorSupplier(vertx, client,
new ZookeeperLeaderFinder(vertx,
// Retry up to 3 times (4 attempts), with overall max delay of 35000ms
@@ -371,7 +372,7 @@ public void testTaskIsAutoRestarted(VertxTestContext context) {
KafkaConnector connector = createKafkaConnector(namespace, connectorName, true, config);
Crds.kafkaConnectorOperation(client).inNamespace(namespace).resource(connector).create();
- MetricsProvider metrics = new MicrometerMetricsProvider();
+ MetricsProvider metrics = new MicrometerMetricsProvider(BackendRegistries.getDefaultNow());
ResourceOperatorSupplier ros = new ResourceOperatorSupplier(vertx, client,
new ZookeeperLeaderFinder(vertx,
// Retry up to 3 times (4 attempts), with overall max delay of 35000ms
@@ -501,7 +502,7 @@ private void assertConnectorIsAutoRestarted(VertxTestContext context, Kubernetes
JsonObject connectorStatus = new JsonObject(kafkaConnector.getStatus().getConnectorStatus());
assertThat(connectorStatus.getJsonObject("connector"), notNullValue());
assertThat(connectorStatus.getJsonObject("connector").getString("state"), is("RESTARTING"));
- MetricsProvider metrics = new MicrometerMetricsProvider();
+ MetricsProvider metrics = new MicrometerMetricsProvider(BackendRegistries.getDefaultNow());
MeterRegistry registry = metrics.meterRegistry();
assertThat(registry.get(AbstractOperator.METRICS_PREFIX + "auto.restarts").tag("kind", KafkaConnector.RESOURCE_KIND).counter().count(), CoreMatchers.is(1.0));
});
@@ -522,7 +523,7 @@ private void assertTaskIsAutoRestarted(VertxTestContext context, KubernetesClien
assertThat(connectorStatus.getJsonArray("tasks"), notNullValue());
assertThat(connectorStatus.getJsonArray("tasks").size(), is(1));
assertThat(connectorStatus.getJsonArray("tasks").getJsonObject(0).getString("state"), is("RESTARTING"));
- MetricsProvider metrics = new MicrometerMetricsProvider();
+ MetricsProvider metrics = new MicrometerMetricsProvider(BackendRegistries.getDefaultNow());
MeterRegistry registry = metrics.meterRegistry();
assertThat(registry.get(AbstractOperator.METRICS_PREFIX + "auto.restarts").tag("kind", KafkaConnector.RESOURCE_KIND).counter().count(), CoreMatchers.is(1.0));
});
diff --git a/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/OperatorMetricsTest.java b/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/OperatorMetricsTest.java
index ef6dbf6e4d7..d2dcfbbc396 100644
--- a/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/OperatorMetricsTest.java
+++ b/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/OperatorMetricsTest.java
@@ -30,6 +30,7 @@
import io.vertx.junit5.VertxTestContext;
import io.vertx.micrometer.MicrometerMetricsOptions;
import io.vertx.micrometer.VertxPrometheusOptions;
+import io.vertx.micrometer.backends.BackendRegistries;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -486,7 +487,7 @@ public void testReconcileAllOverMultipleNamespaces(VertxTestContext context) {
* @return Clean MetricsProvider
*/
public MetricsProvider createCleanMetricsProvider() {
- MetricsProvider metrics = new MicrometerMetricsProvider();
+ MetricsProvider metrics = new MicrometerMetricsProvider(BackendRegistries.getDefaultNow());
MeterRegistry registry = metrics.meterRegistry();
registry.forEachMeter(registry::remove);
diff --git a/operator-common/pom.xml b/operator-common/pom.xml
index 97ceb9fa9d5..109c3ebeb34 100644
--- a/operator-common/pom.xml
+++ b/operator-common/pom.xml
@@ -187,11 +187,6 @@
io.micrometer
micrometer-registry-prometheus
-
- io.vertx
- vertx-micrometer-metrics
- true
-
io.strimzi
mockkube
diff --git a/operator-common/src/main/java/io/strimzi/operator/common/MicrometerMetricsProvider.java b/operator-common/src/main/java/io/strimzi/operator/common/MicrometerMetricsProvider.java
index 43300124a9c..c11a37f2439 100644
--- a/operator-common/src/main/java/io/strimzi/operator/common/MicrometerMetricsProvider.java
+++ b/operator-common/src/main/java/io/strimzi/operator/common/MicrometerMetricsProvider.java
@@ -9,7 +9,6 @@
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Tags;
import io.micrometer.core.instrument.Timer;
-import io.vertx.micrometer.backends.BackendRegistries;
import java.time.Duration;
import java.util.concurrent.atomic.AtomicInteger;
@@ -20,13 +19,6 @@
public class MicrometerMetricsProvider implements MetricsProvider {
protected final MeterRegistry metrics;
- /**
- * Constructor of the Micrometer metrics provider which uses the Vert.x provided metrics registry
- */
- public MicrometerMetricsProvider() {
- this.metrics = BackendRegistries.getDefaultNow();
- }
-
/**
* Constructor of the Micrometer metrics provider.
*