Move MongoDB metrics auto-configuration into spring-boot-mongodb
See gh-46114
This commit is contained in:
parent
864ab740e5
commit
fc2a605295
|
@ -59,7 +59,6 @@ dependencies {
|
|||
optional(project(":spring-boot-project:spring-boot-jsonb"))
|
||||
optional(project(":spring-boot-project:spring-boot-kafka"))
|
||||
optional(project(":spring-boot-project:spring-boot-metrics"))
|
||||
optional(project(":spring-boot-project:spring-boot-mongodb"))
|
||||
optional(project(":spring-boot-project:spring-boot-r2dbc"))
|
||||
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
|
||||
optional(project(":spring-boot-project:spring-boot-restclient"))
|
||||
|
@ -147,7 +146,6 @@ dependencies {
|
|||
optional("org.springframework.batch:spring-batch-core")
|
||||
optional("org.springframework.data:spring-data-couchbase")
|
||||
optional("org.springframework.data:spring-data-jpa")
|
||||
optional("org.springframework.data:spring-data-mongodb")
|
||||
optional("org.springframework.data:spring-data-redis")
|
||||
optional("org.springframework.graphql:spring-graphql")
|
||||
optional("org.springframework.kafka:spring-kafka")
|
||||
|
|
|
@ -41,7 +41,6 @@ org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetri
|
|||
org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver.StackdriverMetricsExportAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.mongo.MongoMetricsAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.r2dbc.ConnectionPoolMetricsAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.redis.LettuceMetricsAutoConfiguration
|
||||
|
|
|
@ -31,6 +31,7 @@ dependencies {
|
|||
|
||||
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
|
||||
optional(project(":spring-boot-project:spring-boot-docker-compose"))
|
||||
optional(project(":spring-boot-project:spring-boot-metrics"))
|
||||
optional(project(":spring-boot-project:spring-boot-reactor"))
|
||||
optional(project(":spring-boot-project:spring-boot-testcontainers"))
|
||||
optional("io.netty:netty-transport")
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.mongo;
|
||||
package org.springframework.boot.mongodb.actuate.metrics.autoconfigure;
|
||||
|
||||
import com.mongodb.MongoClientSettings;
|
||||
import io.micrometer.core.instrument.MeterRegistry;
|
||||
|
@ -31,8 +31,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
|||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBooleanProperty;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration;
|
||||
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
|
||||
import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration;
|
||||
import org.springframework.boot.mongodb.autoconfigure.MongoClientSettingsBuilderCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
@ -42,11 +40,11 @@ import org.springframework.context.annotation.Bean;
|
|||
*
|
||||
* @author Chris Bono
|
||||
* @author Jonatan Ivanov
|
||||
* @since 2.5.0
|
||||
* @since 4.0.0
|
||||
*/
|
||||
@AutoConfiguration(before = MongoAutoConfiguration.class,
|
||||
after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class })
|
||||
@ConditionalOnClass(MongoClientSettings.class)
|
||||
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration")
|
||||
@ConditionalOnClass({ MongoClientSettings.class, MeterRegistry.class })
|
||||
@ConditionalOnBean(MeterRegistry.class)
|
||||
public class MongoMetricsAutoConfiguration {
|
||||
|
|
@ -15,6 +15,6 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* Auto-configuration for Mongo metrics.
|
||||
* Auto-configuration for MongoDB metrics.
|
||||
*/
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.mongo;
|
||||
package org.springframework.boot.mongodb.actuate.metrics.autoconfigure;
|
|
@ -1,2 +1,3 @@
|
|||
org.springframework.boot.mongodb.actuate.metrics.autoconfigure.MongoMetricsAutoConfiguration
|
||||
org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration
|
||||
org.springframework.boot.mongodb.autoconfigure.MongoReactiveAutoConfiguration
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.mongo;
|
||||
package org.springframework.boot.mongodb.actuate.metrics.autoconfigure;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -29,10 +29,10 @@ import io.micrometer.core.instrument.binder.mongodb.MongoCommandTagsProvider;
|
|||
import io.micrometer.core.instrument.binder.mongodb.MongoConnectionPoolTagsProvider;
|
||||
import io.micrometer.core.instrument.binder.mongodb.MongoMetricsCommandListener;
|
||||
import io.micrometer.core.instrument.binder.mongodb.MongoMetricsConnectionPoolListener;
|
||||
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
|
||||
import org.assertj.core.api.InstanceOfAssertFactories;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration;
|
||||
import org.springframework.boot.test.context.FilteredClassLoader;
|
||||
|
@ -57,7 +57,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void whenThereIsAMeterRegistryThenMetricsCommandListenerIsAdded() {
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.run((context) -> {
|
||||
assertThat(context).hasSingleBean(MongoMetricsCommandListener.class);
|
||||
|
@ -72,7 +72,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void whenThereIsAMeterRegistryThenMetricsConnectionPoolListenerIsAdded() {
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.run((context) -> {
|
||||
assertThat(context).hasSingleBean(MongoMetricsConnectionPoolListener.class);
|
||||
|
@ -98,7 +98,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
@Test
|
||||
void whenThereIsACustomMetricsCommandTagsProviderItIsUsed() {
|
||||
final MongoCommandTagsProvider customTagsProvider = mock(MongoCommandTagsProvider.class);
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.withBean("customMongoCommandTagsProvider", MongoCommandTagsProvider.class, () -> customTagsProvider)
|
||||
.run((context) -> assertThat(getMongoCommandTagsProviderUsedToConstructListener(context))
|
||||
|
@ -108,7 +108,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
@Test
|
||||
void whenThereIsACustomMetricsConnectionPoolTagsProviderItIsUsed() {
|
||||
final MongoConnectionPoolTagsProvider customTagsProvider = mock(MongoConnectionPoolTagsProvider.class);
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.withBean("customMongoConnectionPoolTagsProvider", MongoConnectionPoolTagsProvider.class,
|
||||
() -> customTagsProvider)
|
||||
|
@ -118,7 +118,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void whenThereIsNoMongoClientSettingsOnClasspathThenNoMetricsCommandListenerIsAdded() {
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.withClassLoader(new FilteredClassLoader(MongoClientSettings.class))
|
||||
.run(assertThatMetricsCommandListenerNotAdded());
|
||||
|
@ -126,7 +126,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void whenThereIsNoMongoClientSettingsOnClasspathThenNoMetricsConnectionPoolListenerIsAdded() {
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.withClassLoader(new FilteredClassLoader(MongoClientSettings.class))
|
||||
.run(assertThatMetricsConnectionPoolListenerNotAdded());
|
||||
|
@ -134,7 +134,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void whenThereIsNoMongoMetricsCommandListenerOnClasspathThenNoMetricsCommandListenerIsAdded() {
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.withClassLoader(new FilteredClassLoader(MongoMetricsCommandListener.class))
|
||||
.run(assertThatMetricsCommandListenerNotAdded());
|
||||
|
@ -142,7 +142,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void whenThereIsNoMongoMetricsConnectionPoolListenerOnClasspathThenNoMetricsConnectionPoolListenerIsAdded() {
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.withClassLoader(new FilteredClassLoader(MongoMetricsConnectionPoolListener.class))
|
||||
.run(assertThatMetricsConnectionPoolListenerNotAdded());
|
||||
|
@ -150,7 +150,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void whenMetricsCommandListenerEnabledPropertyFalseThenNoMetricsCommandListenerIsAdded() {
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.withPropertyValues("management.metrics.mongo.command.enabled:false")
|
||||
.run(assertThatMetricsCommandListenerNotAdded());
|
||||
|
@ -158,7 +158,7 @@ class MongoMetricsAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void whenMetricsConnectionPoolListenerEnabledPropertyFalseThenNoMetricsConnectionPoolListenerIsAdded() {
|
||||
this.contextRunner.with(MetricsRun.simple())
|
||||
this.contextRunner.withBean(SimpleMeterRegistry.class)
|
||||
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
|
||||
.withPropertyValues("management.metrics.mongo.connectionpool.enabled:false")
|
||||
.run(assertThatMetricsConnectionPoolListenerNotAdded());
|
Loading…
Reference in New Issue