ARMS エージェント V4.x は、オープンソースの OpenTelemetry と完全に互換性があり、OpenTelemetry Java エージェントを基盤として構築されています。 元の Java エージェントのすべての機能を保持していますが、一部の機能にわずかな変更が加えられています。 このトピックでは、これらの変更と ARMS エージェント V4.x への影響、およびモニタリングデータ量の増加について説明します。
変更点と影響
デフォルトでは、Spring 管理 Bean のメソッド イベントトラッキングは無効になっており、コントローラーのメソッドのみがイベントトラッキングされます。
影響:
更新後、@Service アノテーションと @Component アノテーションが付加されたクラスメソッドは、トレースのメソッドスタックに表示されません。
@Service アノテーションと @Component アノテーションが付加されたクラスメソッドでスローされた例外は、モニタリングできません。
スレッドプールとコネクションプールのモニタリングに関連するメトリクス名が変更されました。 詳細については、「スレッドプールとコネクションプールのモニタリング」をご参照ください。
影響:
アプリケーションモニタリングでスレッドプールモニタリングのアラートルールを設定している場合は、ARMS エージェントの更新後にアラートルールを再設定する必要があります。
アプリケーション監視アラート ルールの作成メトリックタイプwp-config.php ページで、 を に設定し、新しいアラートルールを作成します。

スレッドプールメトリクスに基づいてカスタム ダッシュボードが設定されている場合、ARMS エージェントの更新後、ダッシュボードデータは空になります。
メトリクス量の増加により、従量課金料金が増加します。
メッセージ遅延を監視するためのメトリックの名前が arms_mq_delay_seconds に変更されました。
影響: メトリクスに基づいてカスタム ダッシュボードが設定されている場合、ARMS エージェントの更新後、ダッシュボードデータは空になります。
非同期呼び出しでのトレースコンテキストの自動伝播では、パッケージ名を設定する必要はありません。
RabbitMQ のカスタム コンシューマーを手動で設定する必要はなく、Kafka のカスタム消費メソッドも必要ありません。
MDC.get("EagleEye-TraceID")メソッドを使用してトレース ID を取得できなくなりましたが、トレース ID とログの関連付けは影響を受けません。影響:
MDC.get("EagleEye-TraceID")メソッドを使用して取得したトレース ID は空になります。エントリ呼び出しのない シナリオ で、内部呼び出しに対してスパンが生成されます。
影響: スパンが増えると、従量課金料金が増加します。
分位統計が Prometheus のサマリー アルゴリズムから、線形補間に基づくバケット分布メソッドに変更されました。
影響: 実際の期間分布とバケット分割の間に大きな差がある場合、分位メトリクスデータは不正確になります。
スパン ステータスは、オープンソースの OpenTelemetry と一致します。 4xx および 5xx 状態コードの HTTP リクエストはエラー状態になります。 その他の状態コードの HTTP リクエストは未設定状態になりますが、V4.x より前の ARMS エージェントでは、これらのリクエストは OK 状態であると見なされていました。
ARMS エージェントを V4.x に更新した後、トレース ID は 32 文字で構成されている必要があるため、古いブラウザモニタリング機能との互換性がなくなります。 新しい リアルユーザーモニタリング 機能を統合することをお勧めします。
ARMS エージェント V4.1.12 以前は、JDK 21 で導入された仮想スレッドと互換性がありません。 ARMS エージェント V4.3.x で完全な互換性が実現します。 ビジネスで仮想スレッドを使用している場合は、代わりに ARMS エージェント V3.x を使用してください。
フィルターを使用して spring-cloud-gateway で arms-sdk を使用して baggage を追加する場合、エージェントが V4.2.x に更新され、アプリケーション詳細ページの [カスタム設定] タブで spring-bean-plugin が有効になっている場合、baggage パススルー機能は有効になりません。
モニタリングデータの増加
ARMS エージェントを V3.x から V4.x に更新した後、以下の場合にメトリクスデータが増加する可能性があります。
エントリ呼び出しのない シナリオ で内部呼び出しがスパンを生成するため、スパンとメトリクスデータが増加します。
スレッドプールはユーザー定義できるため、スレッドプールメトリクスデータが増加します。
より多くのコネクションプールタイプがサポートされるため、コネクションプールメトリクスデータが増加します。
ARMS エージェント V4.x は自動伝播をサポートしているため、アップストリーム呼び出しとダウンストリーム呼び出しが非同期の場合、インターフェースのアップストリームとダウンストリームのメトリクスデータが増加します。
Lettuce などのさまざまな プラグイン のサポートが拡張されているため、メトリクスデータが増加します。
ARMS エージェント V4.x では、データ収集および保存方法が調整され、スレッドプロファイリング機能が有効になっている場合に、
arms_grouped_threadというプレフィックスが付いた追加のメトリクスが収集されます。 この設定により、スレッドが多い場合のパフォーマンスが向上しますが、過剰なデータが生成されます。 この機能を無効にするには、「スレッドプロファイリング」をご参照ください。メッセージキュー (MQ) のバッチ消費では、メッセージごとに個別のスパンが作成されるようになりました (以前はバッチごと)。これにより、高スループットの シナリオ でスパンの量が増加します。 レポート負荷を管理するには、サンプリングレートを調整するか、MQ プラグイン を無効にします。