可觀察性

從應用程式組件取得關於其操作、計時和與應用程式碼相關的洞察力,對於理解延遲至關重要。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基本單位 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. 標籤索引鍵

名稱

描述

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 錯誤回應。