すべてのプロダクト
Search
ドキュメントセンター

:Java 用 ARMS SDK

最終更新日:Dec 30, 2024

このトピックでは、アプリケーションリアルタイム監視サービス (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 項目を渡すには、次の手順を実行して、サービスコードに項目を追加し、サービスコードから項目を取得する必要があります。

  1. サービスコードに 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);
  2. サービスコードから baggage 項目を取得します。

    Span span = Tracer.builder().getSpan();
    Map<String, String> baggage = span.baggageItems();
  3. (オプション) カスタムタグをスパンに追加します。詳細については、カスタムタグをスパンに追加する を参照してください。ARMS エージェント V4.x 以降では、baggage 項目はパススルーすることのみが可能で、各スパンのタグに追加することはできません。

カスタム タグ をスパンに追加する

カスタムタグは現在のスパンにのみ追加できます。カスタムタグを他のスパンに渡すことはできません。カスタムタグをスパンに追加するには、次の手順を実行して、サービスコードにタグを追加し、サービスコードからタグを取得します。

  1. サービスコードのスパンに タグ を追加します。複数のタグを指定できます。

    Span span = Tracer.builder().getSpan();
    // スパンにタグを追加します。
    span.setTag("tag-key1", "tag-value1");
    span.setTag("tag-key2", "tag-value2");
  2. サービスコードから タグ を取得します。

    Span span = Tracer.builder().getSpan();
    // スパンのタグを検査します。
    Map<String, String> tags = span.tags();

baggage 項目と タグ に基づいてトレースをクエリする

スパンに追加された baggage 項目と タグ を使用して、トレースをクエリできます。

  • baggage 項目はダウンストリームに渡すことができ、一般的にビジネスデータを着色するために使用されます。多数の baggage 項目を指定することはお勧めしません。

  • タグ は現在のスパンにのみ適用されます。1 つのスパンに複数のタグを追加できます。

  1. ARMS console にログインします。左側のナビゲーションペインで、アプリケーション監視 > トレースクエリ を選択します。

  2. トレースクエリ ページで、上部のナビゲーションバーでリージョンを選択し、パラメータタイプ ドロップダウンリストから値を選択します。パラメータ値 フィールドに値を入力し、クエリ条件に追加 をクリックします。

  3. 返された結果で、クエリするトレースを見つけ、トレース ID をクリックします。

  4. トレース タブで、サービス 列の値にポインタを移動して、現在のスパンのタグと baggage 項目を表示します。

    trace_span_with_tags

  5. (オプション) ARMS エージェント V4.x 以降で baggage 項目をスパンのタグに追加するには、カスタム baggage 項目を渡す を参照してすべての baggage 項目を取得し、カスタムタグをスパンに追加する を参照してスパンに追加します。