New Relic Android エージェントは、ディストリビューティッド(分散)トレーシングをサポートしています。これにより、モバイルアプリのアクティビティが関連サービスにどのように接続しているかを確認できます。
この短いビデオ(約2分15秒)で、以下の方法をご紹介します。
- New Relicでモバイルの分散型トレースデータを検索します。
- 標準およびカスタム属性によるフィルタリング。
要件
分散型トレーシングを使用するには、最低でもAndroidエージェントのバージョン6.0.0が必要となります。
分散型トレーシングの設定方法
この機能をサポートするモバイル エージェントの場合、既定で有効になっています。この機能を動作させるには、 AnalyticsEvents を オンにする必要もあります。
分散トレースを無効にする場合は、 Android 機能フラグを参照してください。
ディストリビューティッド(分散)トレーシングヘッダー
Androidエージェントのバージョン7.8.3以降、エージェントは送信されるネットワークrequestsにW3Cトレースコンテキストヘッダーであるtraceparentとtracestateのみを追加します。独自のnewrelicヘッダーは送信されなくなりました。以前のバージョンのエージェントでは、3つのヘッダーすべてを送信します。
W3CトレースコンテキストをサポートするNew Relic APMエージェントは、これらのヘッダーを使用してトレースを継続するため、アプリからのrequestsは呼び出し先のバックエンドサービスに接続されたままになります。W3Cトレースコンテキストは、以下のAPMエージェントのバージョン以降でサポートされています:
APMエージェント | 最小バージョン |
|---|---|
Go | 3.1.0 |
Java | 5.10.0 |
.NET | 8.27.0 |
Node.js | 6.4.0 |
Python | 5.6.0 |
重要
アプリとバックエンド間のサービス、プロキシ、またはゲートウェイがnewrelicヘッダーを必要とする場合は、代わりにtraceparentおよびtracestateを受け入れるように更新してください。上記のバージョンより古いAPMエージェントは、newrelicヘッダーのみを認識し、アプリからのリクエストにリンクする代わりに新しいトレースを開始します。
インフィニット トレースの有効化
モバイルアプリに、無限トレースと呼ばれるテールベースの分散トレースを使用するダウンストリームサービスがある場合は、モバイルアプリでこの機能を有効にする必要があります。これにより、ルートスパン(開始モバイルアプリ)が、InfiniteTracingによって追跡される残りのスパンに含まれるようになります。
この設定を行うには、 Infinite Tracingの手順 を参照して、トレースオブザーバーを作成し、スパンをレポートするモバイルアプリ(データソース)を選択します。
データを探す
モバイルスパンは、そのスパンがトレースの一部である New Relic distributed tracing UI に表示されます。
ここでは、データを検索したり、問い合わせたりするためのヒントをご紹介します。
エンドユーザーが作成したトレースは、NewRelicの分散トレースUIで見つけることができます。
ディストリビューティッド(分散)トレーシングUIでは、エンドユーザースパンは
アイコン。スパンの属性を見るには、UI で a span を選択します。
クエリのヒント
mobileApp.nameをモバイルアプリ名に設定して、名前でクエリします。mobileApp.name is not nullを含む少なくとも1つのモバイルアプリスパンを含むトレースをクエリします。appName is not nullを使用して少なくとも 1 つのバックエンド アプリを含むトレースをクエリします。- 前の 2 つの条件を組み合わせて、モバイル スパンとバックエンド スパンの両方を含むトレースを照会します。
トラブルシューティング
エンドユーザースパンが表示されない、またはその他の分散型トレースの問題がある場合は、 トラブルシューティング を参照してください。