可观测性
从应用程序组件中获取其操作、时间以及与应用程序代码的关系的洞察对于理解延迟至关重要。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.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 错误响应。 |