可观察性

从应用程序组件中获取有关其操作、计时以及与应用程序代码的关系的见解对于了解延迟至关重要。 Spring Data Cassandra 通过 Cassandra 驱动程序附带了一个 Micrometer 检测,用于在 Cassandra 交互期间收集观察结果。 设置集成后,Micrometer 将为每个 Cassandra 语句创建 meter 和 span(用于分布式跟踪)。spring-doc.cn

要启用检测,请将以下配置应用于您的应用程序:spring-doc.cn

@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.INSTANCECqlSessionBuilder
2 包装 CQL 会话对象以观察反应式 Cassandra 语句的执行情况。

另请参阅 OpenTelemetry 语义约定 以获取进一步参考。spring-doc.cn

约定

您可以在下面找到该项目声明的所有列表。GlobalObservabilityConventionsObservabilityConventionsspring-doc.cn

表 1.ObservationConvention 实现

ObservationConvention 类名spring-doc.cn

适用的 ObservationContext 类名spring-doc.cn

org.springframework.data.cassandra.observability.DefaultCassandraObservationConventionspring-doc.cn

n/aspring-doc.cn

指标

您可以在下面找到此项目声明的所有指标的列表。spring-doc.cn

Cassandra 查询观察

创建基于 Cassandra 的查询。io.micrometer.observation.Observationspring-doc.cn

量度名称类型和基本单位spring.data.cassandra.querytimersecondsspring-doc.cn

封闭类 的完全限定名称 。org.springframework.data.cassandra.observability.CassandraObservationspring-doc.cn

表 2.低基数键

db.cassandra.coordinator.dcspring-doc.cn

db.cassandra.coordinator.idspring-doc.cn

db.namespring-doc.cn

Cassandra 密钥空间的名称。spring-doc.cn

db.operationspring-doc.cn

数据库操作。spring-doc.cn

db.systemspring-doc.cn

数据库系统。spring-doc.cn

net.peer.namespring-doc.cn

数据库主机的名称。spring-doc.cn

net.peer.portspring-doc.cn

逻辑远程端口号。spring-doc.cn

net.sock.peer.addrspring-doc.cn

Cassandra 对等地址。spring-doc.cn

net.sock.peer.portspring-doc.cn

Cassandra 对等端口。spring-doc.cn

net.transportspring-doc.cn

网络传输。spring-doc.cn

spring.data.cassandra.methodNamespring-doc.cn

方法名称spring-doc.cn

spring.data.cassandra.sessionNamespring-doc.cn

Cassandra 会话spring-doc.cn

表 3.高基数键

db.cassandra.consistency_levelspring-doc.cn

db.cassandra.idempotencespring-doc.cn

db.cassandra.page_sizespring-doc.cn

db.statementspring-doc.cn

包含 Cassandra CQL 的键值。spring-doc.cn

spring.data.cassandra.node[%s].errorspring-doc.cn

包含给定节点发生的错误的标签。(由于名称包含最终值,因此将在运行时解析)%sspring-doc.cn

跨越

您可以在下面找到此项目声明的所有 span 的列表。spring-doc.cn

Cassandra 查询观察跨度

创建基于 Cassandra 的查询。io.micrometer.observation.Observationspring-doc.cn

Span 名称spring.data.cassandra.queryspring-doc.cn

封闭类 的完全限定名称 。org.springframework.data.cassandra.observability.CassandraObservationspring-doc.cn

表 4.标签键

名字spring-doc.cn

描述spring-doc.cn

db.cassandra.consistency_levelspring-doc.cn

db.cassandra.coordinator.dcspring-doc.cn

db.cassandra.coordinator.idspring-doc.cn

db.cassandra.idempotencespring-doc.cn

db.cassandra.page_sizespring-doc.cn

db.namespring-doc.cn

Cassandra 密钥空间的名称。spring-doc.cn

db.operationspring-doc.cn

数据库操作。spring-doc.cn

db.statementspring-doc.cn

包含 Cassandra CQL 的键值。spring-doc.cn

db.systemspring-doc.cn

数据库系统。spring-doc.cn

net.peer.namespring-doc.cn

数据库主机的名称。spring-doc.cn

net.peer.portspring-doc.cn

逻辑远程端口号。spring-doc.cn

net.sock.peer.addrspring-doc.cn

Cassandra 对等地址。spring-doc.cn

net.sock.peer.portspring-doc.cn

Cassandra 对等端口。spring-doc.cn

net.transportspring-doc.cn

网络传输。spring-doc.cn

spring.data.cassandra.methodNamespring-doc.cn

方法名称spring-doc.cn

spring.data.cassandra.node[%s].errorspring-doc.cn

包含给定节点发生的错误的标签。(由于名称包含最终值,因此将在运行时解析)%sspring-doc.cn

spring.data.cassandra.sessionNamespring-doc.cn

Cassandra 会话spring-doc.cn