可观测性

从应用程序组件获取有关其操作、时间安排以及与应用程序代码关系的信息,对于理解延迟至关重要。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)
  }
}
1 包装 CQL 会话对象以观察 Cassandra 语句执行。同时,向 CqlSessionBuilder 注册 ObservationRequestTracker.INSTANCE
2 包装 CQL 会话对象以观察响应式 Cassandra 语句执行。

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

约定

您可以在下面找到此项目声明的所有 GlobalObservabilityConventionsObservabilityConventions 的列表。

表 1. ObservationConvention 实现

ObservationConvention 类名

适用的 ObservationContext 类名

org.springframework.data.cassandra.observability.DefaultCassandraObservationConvention

不适用

指标

以下是本项目声明的所有指标列表。

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.name

Cassandra 键空间的名称。

db.operation

数据库操作。

db.system

数据库系统。

net.peer.name

数据库主机名称。

net.peer.port

逻辑远程端口号。

net.sock.peer.addr

Cassandra 对等地址。

net.sock.peer.port

Cassandra 对等端口。

net.transport

网络传输。

spring.data.cassandra.methodName

方法名称

spring.data.cassandra.sessionName

Cassandra 会话

表 3. 高基数键

名称

描述

db.cassandra.consistency_level

db.cassandra.idempotence

db.cassandra.page_size

db.statement

包含 Cassandra CQL 的键值。

spring.data.cassandra.node[%s].error

一个包含给定节点发生的错误的标签。(由于名称包含 %s,最终值将在运行时解析)

跨度

以下是本项目声明的所有 Span 列表。

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.name

Cassandra 键空间的名称。

db.operation

数据库操作。

db.statement

包含 Cassandra CQL 的键值。

db.system

数据库系统。

net.peer.name

数据库主机名称。

net.peer.port

逻辑远程端口号。

net.sock.peer.addr

Cassandra 对等地址。

net.sock.peer.port

Cassandra 对等端口。

net.transport

网络传输。

spring.data.cassandra.methodName

方法名称

spring.data.cassandra.node[%s].error

一个包含给定节点发生的错误的标签。(由于名称包含 %s,最终值将在运行时解析)

spring.data.cassandra.sessionName

Cassandra 会话

© . This site is unofficial and not affiliated with VMware.