I followed the Spring's documentation to see traces in Mongodb by adding the bean
@Bean
MongoClientSettingsBuilderCustomizer mongoMetricsSynchronousContextProvider(ObservationRegistry registry) {
return (clientSettingsBuilder) -> {
clientSettingsBuilder.contextProvider(ContextProviderFactory.create(registry))
.addCommandListener(new MongoObservationCommandListener(registry));
};
}
and adding the following properties to :
# Disable Spring Boot's autoconfigured tracing
management.metrics.mongo.command.enabled=false
# Enable it manually
management.tracing.enabled=true
I can see the traces in the zipkins. However my question was since, Spring Already provides an autoconfiguration class metrics MongoAutoConfiguration.
@AutoConfiguration(before = MongoAutoConfiguration.class,
after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class })
@ConditionalOnClass(MongoClientSettings.class)
@ConditionalOnBean(MeterRegistry.class)
public class MongoMetricsAutoConfiguration {
@ConditionalOnClass(MongoMetricsCommandListener.class)
@ConditionalOnProperty(name = "management.metrics.mongo.command.enabled", havingValue = "true",
matchIfMissing = true)
static class MongoCommandMetricsConfiguration {
@Bean
MongoClientSettingsBuilderCustomizer mongoMetricsCommandListenerClientSettingsBuilderCustomizer(
MongoMetricsCommandListener mongoMetricsCommandListener) {
return (clientSettingsBuilder) -> clientSettingsBuilder.addCommandListener(mongoMetricsCommandListener);
}
Why do we need to disable bean from MongoAutoConfiguration? Can’t we got both metrics and traces?
I followed the Spring's documentation to see traces in Mongodb by adding the bean
and adding the following properties to :
I can see the traces in the zipkins. However my question was since, Spring Already provides an autoconfiguration class metrics MongoAutoConfiguration.
Why do we need to disable bean from MongoAutoConfiguration? Can’t we got both metrics and traces?