此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Data Cassandra 4.4.0! |
可观察性
从应用程序组件中获取有关其作、计时以及与应用程序代码的关系的见解对于了解延迟至关重要。 Spring Data Cassandra 通过 Cassandra 驱动程序附带了一个 Micrometer 检测,用于在 Cassandra 交互期间收集观察结果。 设置集成后,Micrometer 将为每个 Cassandra 语句创建 meter 和 span(用于分布式跟踪)。
要启用检测,请将以下配置应用于您的应用程序:
@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 查询观察
创建一个
io.micrometer.observation.Observation
对于基于 Cassandra 的查询。
指标名称 spring.data.cassandra.query
.类型 timer
和基本单位 seconds
.
封闭类的完全限定名称org.springframework.data.cassandra.observability.CassandraObservation
.
名字 |
描述 |
|
|
|
|
|
Cassandra 密钥空间的名称。 |
|
数据库作。 |
|
数据库系统。 |
|
数据库主机的名称。 |
|
逻辑远程端口号。 |
|
Cassandra 对等地址。 |
|
Cassandra 对等端口。 |
|
网络传输。 |
|
方法名称 |
|
Cassandra 会话 |
名字 |
描述 |
|
|
|
|
|
|
|
包含 Cassandra CQL 的键值。 |
|
包含给定节点发生的错误的标签。(因为名称包含 |
跨越
您可以在下面找到此项目声明的所有 span 的列表。
Cassandra 查询观察跨度
创建一个
io.micrometer.observation.Observation
对于基于 Cassandra 的查询。
Span 名称 spring.data.cassandra.query
.
封闭类的完全限定名称org.springframework.data.cassandra.observability.CassandraObservation
.
名字 |
描述 |
|
|
|
|
|
|
|
|
|
|
|
Cassandra 密钥空间的名称。 |
|
数据库作。 |
|
包含 Cassandra CQL 的键值。 |
|
数据库系统。 |
|
数据库主机的名称。 |
|
逻辑远程端口号。 |
|
Cassandra 对等地址。 |
|
Cassandra 对等端口。 |
|
网络传输。 |
|
方法名称 |
|
包含给定节点发生的错误的标签。(因为名称包含 |
|
Cassandra 会话 |