このトピックでは、アプリケーションリアルタイム監視サービス (ARMS) SDK を使用して、トレース ID とトレースのプロパティをサービスコードから動的に取得する方法について説明します。
ARMS では、OpenTelemetry SDK for Java を使用して、アプリケーションをインストルメント化および監視できます。OpenTelemetry SDK for Java を使用してアプリケーションをインストルメント化することをお勧めします。詳細については、OpenTelemetry SDK for Java を使用してカスタムインストルメンテーションコードをトレースに追加する を参照してください。
前提条件
Java アプリケーションが ARMS に接続されていること。アプリケーション監視用の ARMS エージェントがアプリケーションにインストールされ、起動されていること。詳細については、ARMS エージェントを手動でインストールする を参照してください。
arms-sdk-1.7.3.jar がアプリケーションに導入されていること。
<dependency> <groupId>com.alibaba.arms.apm</groupId> <artifactId>arms-sdk</artifactId> <version>1.7.3</version> </dependency>
説明pom.xml ファイルから依存関係を取得できない場合は、arms-sdk-1.7.3.jar をダウンロードしてください。
トレース ID と RPC ID を取得する
次のコードを実行して、トレース ID とリモートプロシージャコール (RPC) ID を取得できます。
Span span = Tracer.builder().getSpan(); // スパンは作成されません。
String traceId = span.getTraceId();
String rpcId = span.getRpcId();
カスタム baggage 項目を渡す
カスタム baggage 項目を渡すには、次の手順を実行して、サービスコードに項目を追加し、サービスコードから項目を取得する必要があります。
サービスコードに baggage 項目を追加します。
Map<String, String> baggage = new HashMap<String, String>(); baggage.put("key-01", "value-01"); baggage.put("key-02", "value-02"); baggage.put("key-03", "value-03"); Span span = Tracer.builder().getSpan(); span.withBaggage(baggage);
サービスコードから baggage 項目を取得します。
Span span = Tracer.builder().getSpan(); Map<String, String> baggage = span.baggageItems();
(オプション) カスタムタグをスパンに追加します。詳細については、カスタムタグをスパンに追加する を参照してください。ARMS エージェント V4.x 以降では、baggage 項目はパススルーすることのみが可能で、各スパンのタグに追加することはできません。
カスタム タグ をスパンに追加する
カスタムタグは現在のスパンにのみ追加できます。カスタムタグを他のスパンに渡すことはできません。カスタムタグをスパンに追加するには、次の手順を実行して、サービスコードにタグを追加し、サービスコードからタグを取得します。
サービスコードのスパンに タグ を追加します。複数のタグを指定できます。
Span span = Tracer.builder().getSpan(); // スパンにタグを追加します。 span.setTag("tag-key1", "tag-value1"); span.setTag("tag-key2", "tag-value2");
サービスコードから タグ を取得します。
Span span = Tracer.builder().getSpan(); // スパンのタグを検査します。 Map<String, String> tags = span.tags();
baggage 項目と タグ に基づいてトレースをクエリする
スパンに追加された baggage 項目と タグ を使用して、トレースをクエリできます。
baggage 項目はダウンストリームに渡すことができ、一般的にビジネスデータを着色するために使用されます。多数の baggage 項目を指定することはお勧めしません。
タグ は現在のスパンにのみ適用されます。1 つのスパンに複数のタグを追加できます。
ARMS console にログインします。左側のナビゲーションペインで、 を選択します。
トレースクエリ ページで、上部のナビゲーションバーでリージョンを選択し、パラメータタイプ ドロップダウンリストから値を選択します。パラメータ値 フィールドに値を入力し、クエリ条件に追加 をクリックします。
返された結果で、クエリするトレースを見つけ、トレース ID をクリックします。
トレース タブで、サービス 列の値にポインタを移動して、現在のスパンのタグと baggage 項目を表示します。
(オプション) ARMS エージェント V4.x 以降で baggage 項目をスパンのタグに追加するには、カスタム baggage 項目を渡す を参照してすべての baggage 項目を取得し、カスタムタグをスパンに追加する を参照してスパンに追加します。