跳到主要内容

可观察性

ChatGPT-4o-mini 中英对照 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
}
}
java
  • 包装 CQL 会话对象以观察 Cassandra 语句执行。同时,将 ObservationRequestTracker.INSTANCE 注册到 CqlSessionBuilder

  • 包装 CQL 会话对象以观察反应式 Cassandra 语句执行。

另请参见 OpenTelemetry 语义约定 以获取更多参考。

约定

以下是该项目声明的所有 GlobalObservabilityConventionsObservabilityConventions 的列表。

表 1. ObservationConvention 实现

观察约定类名适用的观察上下文类名
org.springframework.data.cassandra.observability.DefaultCassandraObservationConventionn/a

指标

下面您可以找到该项目声明的所有指标的列表。

Cassandra 查询观察

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

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

封闭类的完全限定名 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,最终值将在运行时解析)

Spans

下面您可以找到该项目声明的所有跨度的列表。

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 keyspace 的名称。
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 会话