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

Application Real-Time Monitoring Service:Java 用 ARMS SDK(非推奨)

最終更新日:Jun 19, 2025

このトピックでは、Application Real-Time Monitoring Service(ARMS)SDK を使用して、トレース ID とトレースのプロパティをサービスコードから動的に取得する方法について説明します。

始める前に

前提条件

  • 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 項目を渡す

説明

spring-bean プラグインを有効にした状態でエージェントを V4.2.x に更新すると、spring-cloud-gateway フィルターシナリオで baggage のパススルーが失敗します。 機能を復元するには、プラグインを無効にするか、エージェント V4.1.x 以前を使用してください。

カスタム 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 つの span に複数のタグを追加できます。

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

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

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

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

    trace_span_with_tags

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