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. *