2.10. トレース伝播の有効化
Data Grid Server と REST API を使用したトレースにより、リクエストのフローを監視および分析し、さまざまなコンポーネント間の実行パスを追跡できます。
2.10.1. Data Grid Server と REST API 間のトレース伝播の有効化
Data Grid サーバーと REST API の間でトレース伝播を有効にする場合は、クライアント側とサーバー側の両方でトレースを設定する必要があります。
OpenTelemetry トレーススパンを Data Grid スパンに伝播するには、REST 呼び出しごとにトレースコンテキストを設定する必要があります。
前提条件
- Data Grid サーバーとリモートクライアント側でトレースを有効にしている。
手順
io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator
を使用して、現在のトレースコンテキストを抽出します。抽出により、トレースコンテキスト情報を格納するコンテキストマップが生成されます。
トレースコンテキストが確実に保持されるように、REST 呼び出しのヘッダーでコンテキストマップを渡します。
HashMap<String, String> contextMap = new HashMap<>(); // Inject the request with the *current* Context, which contains our current Span. W3CTraceContextPropagator.getInstance().inject(Context.current(), contextMap, (carrier, key, value) -> carrier.put(key, value)); // Pass the context map in the header RestCacheClient client = restClient.cache(CACHE_NAME); client.put("aaa", MediaType.TEXT_PLAIN.toString(),RestEntity.create(MediaType.TEXT_PLAIN, "bbb"), contextMap);
クライアントアプリケーションが生成するトレーススパンは、Data Grid サーバーによって生成される依存スパンと関連付けられます。