跳到主要内容

可观测性

DeepSeek V3 中英对照 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);
}
}
java

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

可观测性 - 指标

以下列出了本项目声明的所有指标。

Redis 命令观测

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

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

封闭类的完全限定名 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 错误响应。 |

可观测性 - Spans

以下您可以找到本项目声明的所有 spans 列表。

Redis 命令观察跨度

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

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