Observability

从应用程序组件中获取有关其操作、时间和与应用程序代码的关系的见解对于理解延迟至关重要。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 Semantic Conventions 以供参考。

Observability - Metrics

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

Redis Command Observation

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

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

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

Table 1. Low cardinality Keys

Name

Description

db.operation

Redis command value.

db.redis.database_index

Redis database index.

db.system

Database system.

db.user

Redis user.

net.peer.name

数据库主机名称。

net.peer.port

Logical remote port number.

net.sock.peer.addr

Mongo peer address.

net.sock.peer.port

Mongo peer port.

net.transport

Network transport.

Table 2. High cardinality Keys

Name

Description

db.statement

Redis statement.

spring.data.redis.command.error

Redis error response.

Observability - Spans

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

Redis Command Observation Span

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

跨度名称 spring.data.redis

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

Table 3. Tag Keys

Name

Description

db.operation

Redis command value.

db.redis.database_index

Redis database index.

db.statement

Redis statement.

db.system

Database system.

db.user

Redis user.

net.peer.name

数据库主机名称。

net.peer.port

Logical remote port number.

net.sock.peer.addr

Mongo peer address.

net.sock.peer.port

Mongo peer port.

net.transport

Network transport.

spring.data.redis.command.error

Redis error response.