可观测性

从应用程序组件获取关于其操作、时序以及与应用代码之间关系的洞察对于理解延迟至关重要。Spring Data Redis 通过 Lettuce 驱动程序集成了 Micrometer,以便在与 Redis 交互期间收集观测数据。一旦集成设置完成,Micrometer 将为每个 Redis 命令创建仪表(meter)和跨度(span)(用于分布式追踪)。

要启用此集成,请将以下配置应用于 LettuceClientConfiguration

@Configuration
class ObservabilityConfiguration {

  @Bean
  public ClientResources clientResources(ObservationRegistry observationRegistry) {

    return ClientResources.builder()
              .tracing(new MicrometerTracingAdapter(observationRegistry, "my-redis-cache"))
              .build();
  }

  @Bean
  public LettuceConnectionFactory lettuceConnectionFactory(ClientResources clientResources) {

    LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder()
                                                .clientResources(clientResources).build();
    RedisConfiguration redisConfiguration = …;
    return new LettuceConnectionFactory(redisConfiguration, clientConfig);
  }
}

另请参阅 OpenTelemetry Semantic Conventions 获取更多参考信息。

可观测性 - 度量

下面列出了本项目声明的所有度量。

Redis 命令观测

围绕 Redis 命令执行创建的计时器。

度量名称 spring.data.redis类型 timer基本单位 seconds

封闭类的完全限定名 org.springframework.data.redis.connection.lettuce.observability.RedisObservation

表 1. 低基数键

名称

描述

db.operation

Redis 命令值。

db.redis.database_index

Redis 数据库索引。

db.system

数据库系统。

db.user

Redis 用户。

net.peer.name

数据库主机名称。

net.peer.port

逻辑远程端口号。

net.sock.peer.addr

Mongo 对等地址。

net.sock.peer.port

Mongo 对等端口。

net.transport

网络传输。

表 2. 高基数键

名称

描述

db.statement

Redis 语句。

spring.data.redis.command.error

Redis 错误响应。

可观测性 - 跨度

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

Redis 命令观测跨度

围绕 Redis 命令执行创建的计时器。

跨度名称 spring.data.redis

封闭类的完全限定名 org.springframework.data.redis.connection.lettuce.observability.RedisObservation

表 3. Tag 键

名称

描述

db.operation

Redis 命令值。

db.redis.database_index

Redis 数据库索引。

db.statement

Redis 语句。

db.system

数据库系统。

db.user

Redis 用户。

net.peer.name

数据库主机名称。

net.peer.port

逻辑远程端口号。

net.sock.peer.addr

Mongo 对等地址。

net.sock.peer.port

Mongo 对等端口。

net.transport

网络传输。

spring.data.redis.command.error

Redis 错误响应。