跳到主要内容
版本:5.1.1

可观测性

Doubao 中英对照 Observability

从应用组件获取有关其操作、时序以及与应用代码关系的洞见,对于理解延迟至关重要。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
}
}
  • 包装 CQL 会话对象,以观测 Cassandra 语句执行。此外,还使用 CqlSessionBuilder 注册 ObservationRequestTracker.INSTANCE。

  • 包装 CQL 会话对象,以观测响应式 Cassandra 语句执行。

另请参阅 OpenTelemetry 语义约定 以获取进一步参考。

约定​

以下列出了本项目声明的所有 GlobalObservabilityConventions 和 ObservabilityConventions。

表 1. ObservationConvention 实现

ObservationConvention 类名适用的 ObservationContext 类名
org.springframework.data.cassandra.observability.DefaultCassandraObservationConventionn/a

指标​

以下列出了本项目声明的所有指标。

Cassandra 查询观测​

为基于 Cassandra 的查询创建一个 io.micrometer.observation.Observation。

指标名称 spring.data.cassandra.query。类型 timer,基本单位 seconds。

外围类的全限定名为 org.springframework.data.cassandra.observability.CassandraObservation。

表 2. 低基数键

名称描述
db.cassandra.coordinator.dc
db.cassandra.coordinator.id
db.nameCassandra 键空间的名称。
db.operation数据库操作。
db.system数据库系统。
net.peer.name数据库主机的名称。
net.peer.port逻辑远程端口号。
net.sock.peer.addrCassandra 对端地址。
net.sock.peer.portCassandra 对端端口。
net.transport网络传输。
spring.data.cassandra.methodName方法名称
spring.data.cassandra.sessionNameCassandra 会话

表 3. 高基数键

名称描述
db.cassandra.consistency_level
db.cassandra.idempotence
db.cassandra.page_size
db.statement包含 Cassandra CQL 的键值。
spring.data.cassandra.node[%s].error包含给定节点上发生的错误的标签。(由于名称中包含 %s,最终值将在运行时解析)

跨度​

以下列出了本项目声明的所有跨度。

Cassandra 查询观测跨度​

为基于 Cassandra 的查询创建一个 io.micrometer.observation.Observation。

跨度名称 spring.data.cassandra.query。

外围类的全限定名为 org.springframework.data.cassandra.observability.CassandraObservation。

表 4. 标签键

名称描述
db.cassandra.consistency_level
db.cassandra.coordinator.dc
db.cassandra.coordinator.id
db.cassandra.idempotence
db.cassandra.page_size
db.nameCassandra 键空间的名称。
db.operation数据库操作。
db.statement包含 Cassandra CQL 的键值。
db.system数据库系统。
net.peer.name数据库主机的名称。
net.peer.port逻辑远程端口号。
net.sock.peer.addrCassandra 对端地址。
net.sock.peer.portCassandra 对端端口。
net.transport网络传输。
spring.data.cassandra.methodName方法名称
spring.data.cassandra.node[%s].error包含给定节点上发生的错误的标签。(由于名称中包含 %s,最终值将在运行时解析)
spring.data.cassandra.sessionNameCassandra 会话