从应用程序组件中获取有关其操作、时序以及与应用程序代码的关系的见解对于了解延迟至关重要。 Spring Data Redis 通过 Lettuce 驱动程序附带了 Micrometer 集成,以在 Redis 交互期间收集观测值。 设置集成后,Micrometer 将为每个 Redis 命令创建米和跨度(用于分布式跟踪)。

要启用集成,请将以下配置应用于: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 语义约定以获取进一步参考。

可观测性 - 指标

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

Redis 命令观察

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

指标名称类型基本单位spring.data.redistimerseconds

封闭类 .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 错误响应。

表 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.标签键

名字

描述

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 错误响应。

表 3.标签键

名字

描述

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 错误响应。