重要
New Relic Android エージェントのバージョン 5.9.0 より、ユーザーセッションを分析イベントや属性と関連付けるために、カスタムユーザー識別子の値を設定することができます。詳細については、 NewRelic.setUserId
メソッド をご参照ください。
Androidエージェントは、アプリケーションを監視するために、 カスタムインスツルメンテーション をセットアップするためのSDK APIを提供します。このAPIでは、以下の機能があります。
- 独自のコードを計測する.
- Create, name, and end interaction traces from events in your mobile app.
- カスタムメトリクスの記録.
- カスタム属性やイベントをNew Relic Insightsに送信する.
- 自動的にサポートされないライブラリからのトラックネットワーキング.
SDKのインストール
Android SDK APIを使う前に。
- Android SDK API release notes を見て、モバイルモニタリング用の最新のSDKでアプリをインスツルメンテーションしていることを確認してください。
- one.newrelic.com にアクセスし、 Add more data をクリックして、Androidの場合の手順に従ってください。
詳細は、 Androidのインストールおよび設定手順の詳細 をご参照ください。Android 2.2をサポートする必要がある場合は、 legacy Android agent SDK procedures をご参照ください。
コードを計測する
注意
トレースは高度に最適化されていますが、パフォーマンスのオーバーヘッドが発生します。何百回も呼び出されることが予想されるメソッドのインスツルメンテーションは避けてください。
インタラクショントレースに含めたいカスタムライブラリやアプリケーションコードがある場合。
以下のJavaアノテーションを使用します。
import com.newrelic.agent.android.instrumentation.Trace;@Trace
アノテーションを、計測したい メソッド に追加します。@Tracepublic void myHeavyweightMethod() {…どのような方法でトレースされているかを示すために、オプションの
カテゴリ
属性 を使用します。
APIメソッドの使用
次の表は、 すべての New Relic Android SDK API コールを、一般的なユースケースの順に並べたものです。
以下を行う場合... | 実行する操作 |
---|---|
クラッシュのトラブルシューティングに役立つアプリのアクティビティを追跡することができます。 | 参照 |
インタラクションとしてのメソッドの追跡 | 参照 |
インタラクションに名前を付ける、または名前を変更する | 参照 |
インタラクションの終了 | 参照 |
すべてのインタラクションの無効化または有効化 |
|
インタラクションに関連するアプリのバージョンを設定する | |
カスタムビルドIDの設定 | 参照 |
カスタムメトリクスの作成 | 参照 |
カスタム属性とイベントの報告 | カスタム属性やイベントを追加するにはいくつかの方法があります。どの方法が最適なのか、またその理由については、 カスタムデータの追加 をご覧ください。
|
カスタムネットワークのリクエストと障害の追跡 | これらの方法を使います。
|
処理された例外を、コンテキストを含めてイベントとして記録する | 参照 |
手動によるクロスアプリケーションのトレース [#manual-cat]
noticeHttpTransaction
コードは、 クロスアプリケーショントレース が機能するために必要な適切なヘッダーID値を自動的に付加しません。このため、New Relic の Map page for mobile apps や HTTP requests page には、Android アプリのアプリケーションリンクが表示されません。
New Relic Android SDKのパブリックメソッドを使用すると、バックエンドアプリケーションがNew Relicによってすでにインスツルメンテーションされている場合に限り、バックエンドアプリケーションへのHTTPリクエストと一緒に渡す適切なIDを取得できます。バックエンドアプリケーションからのレスポンスには、適切なヘッダーIDが渡され、クロスアプリケーショントレースに必要なものがすべて揃います。