|
对于最新的稳定版本,请使用 Spring Data Cassandra 5.0.4! |
可观测性
从应用程序组件获取有关其操作、耗时以及与应用程序代码关联的洞察信息,对于理解延迟至关重要。 Spring Data Cassandra 通过 Cassandra 驱动程序内置了 Micrometer 仪器化功能,用于在与 Cassandra 交互过程中收集观测数据。 一旦完成集成设置,Micrometer 将为每个 Cassandra 语句创建指标(meters)和跨度(spans,用于分布式追踪)。
要启用该检测功能,请将以下配置应用到您的应用程序中:
@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 语句的执行。
同时,将 ObservationRequestTracker.INSTANCE 注册到 CqlSessionBuilder 中。 |
| 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 的键值对。 |
|
一个包含给定节点所发生错误的标签。(由于名称中包含 |
跨度
以下列出了本项目声明的所有 span。
Cassandra 查询观测跨度
为基于 Cassandra 的查询创建一个
io.micrometer.observation.Observation。
Span 名称 spring.data.cassandra.query。
封闭类 org.springframework.data.cassandra.observability.CassandraObservation 的全限定名。
姓名 |
描述 |
|
|
|
|
|
|
|
|
|
|
|
Cassandra keyspace 的名称。 |
|
数据库操作。 |
|
一个包含 Cassandra CQL 的键值对。 |
|
数据库系统。 |
|
数据库主机的名称。 |
|
逻辑远程端口号。 |
|
Cassandra 对等节点地址。 |
|
Cassandra 对等端口。 |
|
网络传输。 |
|
方法名称 |
|
一个包含给定节点所发生错误的标签。(由于名称中包含 |
|
Cassandra 会话 |