Move MongoDB metrics auto-configuration into spring-boot-mongodb
This commit is contained in:
committed by
Phillip Webb
parent
fedc08a757
commit
3bafb6e0ff
@@ -42,7 +42,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"))
|
||||
@@ -130,7 +129,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
|
||||
|
||||
@@ -14,6 +14,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());
|
||||
Reference in New Issue
Block a user