可观察性
从应用程序组件获取其操作、计时以及与应用程序代码的关系的洞察力对于理解延迟至关重要。Spring Data Cassandra 通过 Cassandra 驱动程序提供 Micrometer 监控功能,以便在 Cassandra 交互期间收集观察结果。一旦集成设置完成,Micrometer 将为每个 Cassandra 语句创建度量和跨度(用于分布式追踪)。
要启用监控功能,请将以下配置应用于您的应用程序
@Configuration
class ObservabilityConfiguration {
@Bean
public ObservableCqlSessionFactoryBean observableCqlSession(CqlSessionBuilder builder,
ObservationRegistry registry) {
return new ObservableCqlSessionFactoryBean(builder, registry); (1)
}
@Bean
public ObservableReactiveSessionFactoryBean observableReactiveSession(CqlSession session,
ObservationRegistry registry) {
return new ObservableReactiveSessionFactoryBean(session, registry); (2)
}
}
1 | 包装 CQL 会话对象以观察 Cassandra 语句的执行。此外,使用 `CqlSessionBuilder` 注册 `ObservationRequestTracker.INSTANCE`。 |
2 | 包装 CQL 会话对象以观察响应式 Cassandra 语句的执行。 |
两者,ObservableCqlSessionFactoryBean
和 ObservableReactiveSessionFactoryBean
都支持 CassandraObservationConvention
的配置。
另请参阅 OpenTelemetry 语义约定 以了解更多信息。
约定
下面您可以找到该项目声明的所有 `GlobalObservabilityConventions` 和 `ObservabilityConventions` 列表。
ObservationConvention 类名 |
适用的 ObservationContext 类名 |
|
|
指标
下面您可以找到该项目声明的所有指标列表。
Cassandra 查询观察
为基于 Cassandra 的查询创建一个 `io.micrometer.observation.Observation`。
**指标名称** `spring.data.cassandra.query`。**类型** `timer` 和**基本单位** `seconds`。
封闭类的完全限定名称 `org.springframework.data.cassandra.observability.CassandraObservation`。
名称 |
描述 |
|
|
|
|
|
Cassandra keyspace 的名称。 |
|
数据库操作。 |
|
数据库系统。 |
|
数据库主机名。 |
|
逻辑远程端口号。 |
|
Cassandra 对等地址。 |
|
Cassandra 对等端口。 |
|
网络传输。 |
|
方法名 |
|
Cassandra 会话 |
名称 |
描述 |
|
|
|
|
|
|
|
包含 Cassandra CQL 的键值对。 |
|
包含针对给定节点发生的错误的标签。(由于名称包含 `%s`,因此最终值将在运行时解析) |
跨度
下面您可以找到该项目声明的所有跨度列表。
Cassandra 查询观察跨度
为基于 Cassandra 的查询创建一个 `io.micrometer.observation.Observation`。
**跨度名称** `spring.data.cassandra.query`。
封闭类的完全限定名称 `org.springframework.data.cassandra.observability.CassandraObservation`。
名称 |
描述 |
|
|
|
|
|
|
|
|
|
|
|
Cassandra keyspace 的名称。 |
|
数据库操作。 |
|
包含 Cassandra CQL 的键值对。 |
|
数据库系统。 |
|
数据库主机名。 |
|
逻辑远程端口号。 |
|
Cassandra 对等地址。 |
|
Cassandra 对等端口。 |
|
网络传输。 |
|
方法名 |
|
包含针对给定节点发生的错误的标签。(由于名称包含 `%s`,因此最终值将在运行时解析) |
|
Cassandra 会话 |