Android モバイル UIアプリでは、アプリケーションのメイン スレッドが 5 秒以上ブロックされると 、アプリケーション応答なし (ANR) エラーが 発生します。ANR エラーは、ネットワーク呼び出し、複雑な計算、リソースの競合など、さまざまな要因によって発生する可能性があります。 頻度と発生パターンを監視することで、アプリ全体の安定性とユーザーエクスペリエンスに関する貴重な情報を得ることができます。
ANRエラーがNew Relicに報告される仕組み
デフォルトでは、Android エージェントは ANR エラーをMobileApplicationExit
イベントとして報告します。これは、Android のApplicationExitInfo
APIを利用してモニターし、アプリ終了のさまざまな原因を報告します。 エージェントは、次のアプリリリースで ApplicationExitInfo
APIを読み取り、履歴内のアプリ終了ごとに MobileApplicationExit
イベントをNew Relicに非同期的に送信します。
New Relic と Google Play Console 間の ANR の不一致を理解する
New Relic と Google Play Console の間で ANR の数とレートに違いが生じる場合があります。 これはデータ収集方法の違いによるものです。
Android バージョン カバレッジ:
- New Relic は、Android 11 以降を実行しているデバイスからの ANR に重点を置いています。
- Google Play Console は、すべての Android バージョンにわたって ANR をキャプチャします。
デバイスとアプリのスコープ:
- New Relic は、アプリのソースに関係なく、New Relic エージェントがインストールされているデバイスからレポートします。
- Google Play Console は、Play ストアからアプリをダウンロードした認定デバイスからのレポートのみを表示します。
詳細については、 Google Play のドキュメントをご覧ください。
New RelicでANRを表示する
デフォルトでは、Android エージェントは ANR エラーを収集し、New Relic に報告します。 ANR データは次の 2 つの場所で見つかります。
概要ページには、エラーの割合を表示する
ANR rate
というウィジェットがあります。
ANR ページでは、エラー率の内訳、影響を受けるユーザーのグループ、属性の詳細を表示できます。
![ANR UI page screenshot of ANR UI page](/images/mobile_screenshot-full_anr-ui-page.webp)
ANR ページを表示するには:
one.newrelic.com > All capabilities
に移動します。
Mobile
をクリックします。
Android アプリを選択します。
左側のペインで、
ANR
をクリックします。
ANRグループでフィルタリング
ANR ページのウィジェットは、ANR のグループに基づいています。 デフォルトでは、ANR はdescription
属性によってグループ化されます。
![top occurences chart screenshot of top occurences chart](/images/mobile_screenshot-crop_group-by.webp)
ANR のグループ化方法 (デバイスの種類、アプリのバージョン、カスタムアトリビュートなど) を変更するには、 Group byをクリックして、リストから属性を選択します。 ANR ページが更新され、新しい ANR グループのデータが表示されます。
ANRレートを監視する
ANR rateグラフでは、ANR 全般に予期しない急上昇、急降下、パターンがあるかどうかを一目で確認できます。
たとえば、最近のアプリ バージョンをリリースした場合、ANR 率グラフには、時間の経過とともにエラーが発生したセッションの割合が、すべてのセッションの割合としてアプリ バージョン別に表示されます。 平均 ANR セッション パーセントは右上に表示されます。
![anr rate chart screenshot of anr rate chart](/images/mobile_screenshot-crop_anr-rate-chart.webp)
ANR rate by dayグラフには、時間の経過とともに ANR を経験したユニーク ユーザーの割合が、すべてのユニーク ユーザーの割合として表示されます。
注: 選択した時間に関係なく、このグラフには過去 28 日間の平均 ANR 率が表示されます。
ANR の発生を重要度別に表示する
ANR occurrences by importanceグラフは、ANR による終了前のアプリのプロセスの相対的な重要度による ANR の分布を示しています。 アプリのプロセスの重要性の詳細については、こちらをご覧ください。
![anr occurrences by importance screenshot of anrs by importance](/images/mobile_screenshot-crop_anr-occurences-by-importance.webp)
ANRプロファイルを詳しく見る
ANR プロファイルは、すべての ANR 発生における属性の分布を示し、パターンを特定して根本原因を迅速に絞り込み、トラブルシューティングするのに役立ちます。
![anr profiles screenshot of anr profiles](/images/mobile_screenshot-crop_anr-profiles.webp)
ANR監視を無効にする
重要
サーバーサイド構成は常にローカルエージェント設定よりも優先されます。 同時にアクティブなデバイスが 100,000 台未満のモバイル アプリの場合、エンドユーザーのデバイスに変更を適用するまでに最大 10 分かかることがあります。 アクティブデバイスが 100,000 台を超えるアプリの場合、数時間かかることがあります。
ANR監視を無効にする必要がある場合:
New Relic で、モバイル アプリに移動します。
左側のペインの
Settings
の下で、
Application
をクリックします。
Application Not Responding (ANR) [アプリケーション応答なし (ANR) を]オフに切り替えます。
クリック 保存.
![ANR setting toggle Screenshot of the ANR setting](/images/mobile_screenshot-crop_anr-setting-toggle.webp)