可观测性
从应用程序组件中获取关于其操作、时序以及与应用程序代码关系的洞察,对于理解延迟至关重要。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 Session 对象以观测 Cassandra 语句的执行。同时,在 `CqlSessionBuilder` 中注册 `ObservationRequestTracker.INSTANCE`。 |
2 | 包装 CQL Session 对象以观测响应式 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 session |
名称 |
描述 |
|
|
|
|
|
|
|
包含 Cassandra CQL 的键值对。 |
|
一个标签,包含给定节点上发生的错误。(由于名称包含 |
Span
您可以在下方找到此项目声明的所有 span 的列表。
Cassandra 查询观测 Span
为基于 Cassandra 的查询创建
io.micrometer.observation.Observation
。
Span 名称 spring.data.cassandra.query
。
包含类 org.springframework.data.cassandra.observability.CassandraObservation
的完全限定名称。
名称 |
描述 |
|
|
|
|
|
|
|
|
|
|
|
Cassandra keyspace 的名称。 |
|
数据库操作。 |
|
包含 Cassandra CQL 的键值对。 |
|
数据库系统。 |
|
数据库主机名。 |
|
逻辑远程端口号。 |
|
Cassandra 对端地址。 |
|
Cassandra 对端端口。 |
|
网络传输。 |
|
方法名 |
|
一个标签,包含给定节点上发生的错误。(由于名称包含 |
|
Cassandra session |