可观察性
Spring Data MongoDB 目前拥有最先进的代码,可在 MongoDB 应用程序中支持可观察性。然而,这些更改尚未被 Spring Boot(目前)采用。在应用这些更改之前,如果你希望使用 Spring Data MongoDB 的可观察性版本,则必须执行以下步骤。
-
首先,你必须通过
@SpringBootApplication
类或某个配置类自定义MongoClientSettings
来选择 Spring Data MongoDB 的配置设置。示例 1. 注册 MongoDB Micrometer 自定义设置@Bean MongoClientSettingsBuilderCustomizer mongoMetricsSynchronousContextProvider(ObservationRegistry registry) { return (clientSettingsBuilder) -> { clientSettingsBuilder.contextProvider(ContextProviderFactory.create(registry)) .addCommandListener(new MongoObservationCommandListener(registry)); }; }
-
你的项目必须包含 Spring Boot Actuator。
-
禁用 Spring Boot 自动配置的 MongoDB 命令侦听器,并通过向
application.properties
添加以下属性来手动启用跟踪示例 2. 要应用的自定义设置# Disable Spring Boot's autoconfigured tracing management.metrics.mongo.command.enabled=false # Enable it manually management.tracing.enabled=true
务必根据 Micrometer 的参考文档添加配置所用跟踪器的任何其他相关设置。
这样就完成了!你现在正在使用 Spring Data MongoDB 的 Spring 可观察性 Observation
API。另请参阅 OpenTelemetry 语义约定 以供进一步参考。