クラッシュ分析:クラッシュをグループ化してフィルタリングする

モバイルアプリがクラッシュすると、ユーザーがネガティブなレビューを投稿することになり、組織の評判に影響を与えます。また、クラッシュは、ユーザーがあなたのアプリを削除する結果に繋がります。その結果、収益に響きます。New Relic Mobile の Crash analysis [クラッシュ解析] UI を使うことで、開発のライフサイクルにおける最大のボトルネックの1つである、予期せぬ例外を特定し、問題を解消に導くことができます。

クラッシュ分析機能の利用

開発チームがメール通知を受信すると、そのメールにあるリンクをクリックして、New Relic Mobile UI にあるクラッシュに関する詳細情報を確認したり、New Relic Insights でチャートのデータを分析できます。クラッシュの詳細ページには、チームがレポートから解決までの問題を追跡できるトラッキングツールもあります。

New Relic Mobile のクラッシュ解析機能を使って、以下のことができます。

  • クラッシュに至るトレンドを分析する場合は、グループ化とフィルターを使って、クラッシュとネットワークデータを様々な切り口で分析できます。
  • カスタム属性を使うことで、特定のユーザー体験を追うことができます。
  • Last Interaction でフィルタリングしたり、Crash report ページインタラクションの追跡を表示することで、ほとんどのクラッシュが発生した時点を特定できます。
  • ネットワークやデバイスの共通の特性を使って、問題を整理できます。
  • スレッドのブレークダウンデータ、トレース詳細、クラッシュしたセッションにおけるユーザーのインタラクションの追跡に埋もれているかもしれないクラッシュレポートにおける特定の問題を調ベることもできます。

クラッシュリストをフィルタリング

New Relic Mobile UI でフィルタリング可能なクラッシュリストを表示する手順は以下の通りです。

  1. rpm.newrelic.com/mobile から、(モバイルアプリ) > Crashes > Crash list へアクセスします。
    もしくは、

    Crash occurrences チャートのタイトルを選択して、 モバイルアプリの Overview ページからフィルター機能付きの Crash list ページに遷移します。

  2. 標準ページ機能を使って、詳細にドリルダウンできます。例えば、チャートの任意の領域を拡大します。
New Relic Mobile Crash Analytics
Mobile > (選択したモバイルアプリ) > Crashes > Crash list: New Relic Mobile のクラッシュ分析機能を使って、クラッシュデータを様々な軸で分析できるツールをモバイルアプリケーション開発者に提供できます。このツールを使って、クラッシュにつながる傾向を分析し、データを共有し、クラッシュの原因を解消できます。

クラッシュ分析ワークフロー

以下のワークフローを使うと、New Relic Mobile のクラッシュ分析 UI を最大限に活用できます。

  1. クラッシュ率クラッシュフリーのユーザー率のチャートから見始めます。そこで、予期しないスパイクや落ち込み、クラッシュの発生した時間パターンであったり、選択した期間内において不安定な期間があるかどうかを一目で確認できます。
  2. グループ化とフィルターを活用し、クラッシュ、デバイス、地域、その他のカスタム属性の属性を調べます。
  3. Top 5 occurrences [クラッシュ発生数トップ5] チャートを使って、グループ化やフィルターから、選択した発生タイプのパターンを特定します。その他にも、選択したタイプのクラッシュが発生する一般的なパターンと、この期間に発生したクラッシュの割合との相関を確認します。
  4. オプション: New Relic Insights を使って、チャートのデータに問い合わせたり、共有します
  5. 地域、例外の種類、発生日時、発生数、バージョン、クラッシュの影響を受けたユーザー数などを含むクラッシュ地域からパターンを探します。
  6. 表からクラッシュレポートを選択し、インタラクショント追跡、個々の発生のスレッドの詳細、属性などを表示します。必要に応じて、クラッシュの詳細を Xcode に再シンボリックしたり、エクスポートし、デバッグに役立ててください。
  7. オプション:お使いのチケット統合を使って、問題を報告し、追跡します。
  8. 完了したら、クラッシュの発生を Resolved とマークします。

解決済みのクラッシュには、誰が、いつ、クラッシュを解決したかを識別するバナーが表示されます。New Relic Mobile のデータ保持ポリシーに基き、過去のクラッシュ情報を追跡したい場合は、解決済のクラッシュに絞ってフィルタリングできます。

クラッシュ率のチャート:パターンを確認する

クラッシュ率クラッシュフリーのユーザー率チャートから、予想外のスパイクや落ち込み、一般的なクラッシュのパターンがあるかどうかを確認します。例えば以下のようなパターンです。

  • 最新バージョンのリリース直後にスパイクが見られますか?
  • クラッシュにより、ユーザーの割合が大きく影響を受けた時間帯はありますか? クラッシュフリーのユーザー率チャートが空の場合、選択した期間にユーザーセッションが発生していないことを示しています。
New Relic Mobile Crash Analytics: Percentages
Mobile > (選択したモバイルアプリ) > Crashes > Crash list: クラッシュ率チャートとクラッシュフリーのユーザー率チャートを使って、全体の傾向を調べます。(選択したグループ化やフィルタリングは、これらのチャートには影響しません。)このデータの生成に使われた Insights NRQL クエリを確認するには、対象のチャートにマウスを移動し、View query を選択します。Insights でチャートを表示して、他のユーザーと共有したい場合は、View in Insights を押します。

グループ化とフィルター:クラッシュデータを様々な観点で分析する

グループを選択してから、以下のような特定のデータに絞り込むことができます。

  • クラッシュ、デバイス、地域やその他のカスタム属性のタイプ別にクラッシュリストをグループ化できます。
  • オープンしているクラッシュ、解決済みのクラッシュ、もしくは全クラッシュを表示できます。
  • タイムピッカーを使うと、現在選択されている時間を変更できます。
  • 特定のバージョンや、Last InteractionApp Build や標準及びカスタム属性のリストの属性フィルターを使って絞り込みが行えます。

選択したフィルターは、ページの上部に表示されます。

New Relic Mobile Crash Analytics: Group and filter
Mobile > (選択したモバイルアプリ) > Crashes > Crash list: クラッシュ分析機能には、いくつかのグループとフィルター項目があります。それらを使って、特定のデータを簡単に絞り込めます。

発生回数トッップ5: 特徴を分析します

発生回数上位5のチャートから、指定期間中に発生したクラッシュの種類と数を特定します。このチャートには、選択したグループとフィルターで絞り込んだうちの、発生したクラッシュ上位5件が表示されます。たとえば、メールアドレス(カスタム属性として追加している場合)でグループ化し、特定のメールに絞り込んで、そのユーザーのエクスペリエンスを調べることができます。

  • 他の属性でフィルタリングしたり、グループ化するには、検索ウィンドウを使用するか、フィルターを選択します。たとえば、クラッシュ、デバイス、特定の地域、カスタム属性の種類別にフィルタリングします。
  • 他の履歴パターンを探した場合は、指定期間を変更します。
New Relic Mobile Crash Analytics: Top 5 occurrences
Mobile > (選択したモバイルアプリ) > Crashes > Crash list: 上のチャートは、クラッシュロケーショングループでフィルタリングされた発生回数トップ5チャートです。グループやフィルターを好きに選んで、クラッシュデータを分析できます。

Insights のリンク: クラッシュデータをクエリし、他のユーザーとチャートを共有する。
New Relic Mobile の Crash analysis チャートでは、New Relic モバイルイベント用の Insights のデフォルト属性と、このイベントタイプ用に追加したカスタム属性が使用されます。

New Relic Mobile Crash Analytics: Links to Insights

  • View query [クエリの表示]リンク: チャートデータの計算に利用した Insights NRQL クエリ を表示します。
  • View in Insights [Insights で表示]リンク: Insights でチャートを表示したり、他のメンバーと共有するのに使います。
クラッシュレポート: インタラクション追跡、スレッドの内訳などを深く理解する

チャートについて補足すると、Crash report 表には、場所別のクラッシュタイプがリストされます。関連するクラッシュレポートへのリンクもあります。各行には、以下のような質問に対する回答に役立つ情報があります。

  • 選択した期間内に発生したクラッシュタイプや例外の回数は?
  • 直近の例外メッセージは何ですか?
  • ユーザーの上位(または下位)のユーザーに影響を与えているアプリのバージョンは?
  • 最初と最後に例外が発生したのはいつですか?
New Relic Mobile Crash Analytics: Crash table
Mobile > (選択したモバイルアプリ) > Crashes > Crash list: 列をソートして、Crash reports 表のパターンを分析し、レポートを選択してクラッシュの詳細を確認します。

クラッシュレポートのデータを最低から最高まで調べるほうが役に立つ場合があります。例えば:

  • 例外の発生回数が最も少ないのはどれですか?
  • 特定の例外はいつ開始されましたか(最も古い発生はいつ?)?

ソート順やフィルター条件を変更して、自分やチームにとって最も重要な例外タイプだけに集中できます。

クラッシュレポートの詳細を調べる: Xcode にエクスポートするか、ソースコードを再シンボリックにする。

Crash report 表から、Crash reportにドリルダウンできます。ここから、以下のことが行えます。

  • セッションの開始からクラッシュイベントまで、インタラクション追跡を調査できます。
  • 関連するスレッドの内訳を確認できます。
  • Export crash details を選択して、Xcode を使ってコードのデバッグが行えます。
  • 簡易デバッグ用ににクラッシュレポートを再シンボリック化できます。
  • チケットを発行し、クラッシュを解決できます。
New Relic Mobile Crash Analytics: Crash report interaction
Mobile > (選択したモバイルアプリ) > Crashes > Crash report: これは、クラッシュの発生を再シンボリック化するためのオプションを含むインタラクション追跡の例です。Xcode を使ってソースコードを分析し、デバッグするには、Export crash details [クラッシュの詳細のエクスポート]を選択します。

関連情報

関連する情報は以下のとおりです。