処理された例外の監視機能は、モバイル アプリケーションのエクスペリエンスを低下させる重要な要因を特定し、フィルター可能なデータを使用して解決策をより迅速に見つけるのに役立ちます。また、 Handled Exceptions API を使用して送信するデータをカスタマイズし、NRQL を使用してデータのクエリと共有を行うこともできます。
one.newrelic.com > All capabilities > Mobile > (アプリを選択) > Exceptions > Handled exceptions: グラフと表の豊富なデータを調査しながら、グループとフィルターを使用して、問題の根本原因を特定するのに役立つパターンを発見します。モバイルアプリの例外。
特徴
発生した例外を処理すると、モバイル アプリのユーザー エクスペリエンスが向上しますが、例外をキャッチするだけでは不十分です。それらを防ぐ方法も知っておく必要があります。処理された例外機能は、次のような質問に答えるのに役立ちます。
- 処理された例外の種類はいくつ発生していますか?発生率が高い場合は、バックエンド システムに変更を加える必要があることを示している可能性があります。
- なぜユーザーのアプリ使用でトライ/キャッチが発生するのか?例外が発生する背景は何ですか?
- 処理された例外に対するテスト環境の反応は、どのような場合に、より深刻な問題を示唆するのでしょうか?
- 実稼働環境で例外がキャッチされなかった場合、クラッシュの原因は何でしたか?他に (コードまたはバックエンド API で) まだユーザー エクスペリエンスに影響を与えているものはありますか?
処理された例外を使用することで、この種の問題をより迅速に特定し、解決することができます。
要件
処理された例外データを表示するには、アプリが次の要件を満たしている必要があります。
- Android: Androidエージェントバージョン5.15.0以上
- iOS: iOSエージェントバージョン5.15.0以上
例外的なパーセントチャート
影響を受けるユーザー と 影響を受けるセッションの パーセンテージ グラフから始めて、予期しないスパイク、ディップ、または一般的な例外を伴うパターンがあるかどうかを確認します。 [影響を受けたユーザー] グラフが空の場合は、選択した期間中にユーザー セッションがなかったことを意味します。
これを使用して、次のような質問に答えます。
- 最近のバージョンリリースの近くにスパイクはありますか?
- ユーザーの割合が例外的に大きく影響を受けた時期はありますか?
- 何事もない時期はありますか?
データをより詳細に調べることができます。任意のチャートの下で、 Expand chart を選択します。
グループとフィルター
グループとフィルターを使用して、クラッシュ、デバイス、場所、またはその他のカスタム属性の属性をより詳細に調べます。グループを選択してから、特定のデータにフィルターをかけることができます。これを使用して、次のようなことを行います。
- 例外の場所(デフォルト)、原因、アプリのビルドまたはバージョン、デバイス、接続、またはその他のカスタム属性によってリストをグループ化できます。これにより、例外のパターンを発見し、根本的な原因を特定することができます。
- タイム ピッカーを 使用して、現在選択されている期間を調整します。
- 特定のバージョン、または
appVersion
、exceptionLocationMethod
、lastInteraction
などの 1 つ以上の属性Filter 、または標準属性とカスタム属性の長いリストのいずれかでフィルター処理します。
現在選択されているフィルターは、UIページの上部に表示されます。これらを閉じたり、他のフィルターを追加したり、他のグループやフィルターを選択することができます。
トップ例外のロケーション
Top exception locations [上位の例外の場所]テーブルを使用して、グループとフィルターから選択した例外のタイプのパターンを検索または並べ替えます。 これも:
- スタックトレースの繰り返しの位置
- モバイルアプリ版
- 発生回数
- 選択した期間中に影響を受けたユーザーの数
たとえば、 Exception Message
でグループ化し、 timeout
メッセージにフィルターをかけ、テーブルから個々のタイムアウトの場所を選択して、スタック トレース スレッドと各発生の詳細を確認できます。
- その他の属性でフィルタリングやグループ化を行うには、テーブルの検索ウィンドウを使用するか、利用可能なフィルタを選択します。例えば、オカレンスのタイプ、デバイス、特定の場所、または任意のカスタム属性でフィルタリングします。
- 他の履歴パターンを探すには、選択した期間を変更します。
クエリビルダーのリンク
処理された例外グラフは、モバイル イベント ( MobileHandledException
を含む) のデフォルト属性と、このイベント タイプに追加したカスタム属性を使用します。グラフの上にマウスを置くと、その下に直接リンクが表示されます。これらのクエリ ビルダーへのリンクを使用すると、モバイル アプリのデータをさらに深く分析できます。
エクセプション・ロケーション・テーブル
Exception locations 表は、チャートを補足するものです。この表は、処理された上位5つの例外がスタックトレーススレッドのどこに現れるかを示し、関連する詳細にリンクしています。各行は、以下のような質問に対する答えを見つけるのに役立ちます。
- この例外は、選択した の期間内に何件発生したのか?
- 特定のアプリバージョンでは、影響を受けるユーザーの数が多い(または少ない)のですか?
- 発生回数が最も少ない例外はどれですか?
並べ替え順序やフィルター オプションを変更して、自分やチームにとって最も重要な例外の種類だけに焦点を当てることができます。 例外の発生ごとにスレッドの追加の詳細を表示するには、 Top exceptions location [上位例外の場所]テーブルからレコードを選択します。
処理例外発生内容
処理された例外の発生ごとに詳細を表示するには、次のようにします。
- one.newrelic.com > All capabilities > Mobile > (アプリを選択) > Exceptions > Handled exceptionsに移動します。
- Top exception locations [上位の例外の場所]テーブルから、任意の行で処理された例外を選択します。
Occurrences ページには、デバイスタイプまたはオペレーティングシステム別の内訳データ、影響を受けたユーザー数、選択した期間の合計発生数、属性など、選択した例外に関する詳細が表示されます。
one.newrelic.com > All capabilities > Mobile > (アプリを選択) > Exceptions > Handled exceptions > (例外を選択) > Occurrences:スレッドの 詳細を使用して、処理された例外のスタック トレースのパターンをさらに調べます。
あなたがしたい場合は... | これを行う |
---|---|
一般的なパターンを見つける | Occurrences ページから。
|
より具体的なパターンを探す | 以下のいずれかを行ってください。
|
属性からパターンを見つける | 以下を含む、オカレンスに関連する
|
オカレンスデータのクエリやビジュアライズ | New Relic を使用して、 データを照会する または ダッシュボードを作成する を表示または共有することができます。 |
オカレンスのイベント トレイル
イベント トレイル チャートでは、処理された例外に至るまでのタイムスタンプ付きのイベントを確認できます。
one.newrelic.com > All capabilities > Mobile > (アプリを選択) > Exceptions > Handled exceptions > (例外をクリック) > (イベント トレイル チャートまで下にスクロール): Handled exceptionsに至るまでのイベントのイベント トレイルを表示します。
記号化されていないスタックトレス
New Relic は、処理された例外のシンボル化されていないスタックトレースを保存しません。これは、 クラッシュイベントトレイル とは異なります。新しい処理された例外がシンボル化されるようになるので、必要に応じて後から dSYM をアップロードすることができます。
処理された例外 API
処理された例外 機能には、クエリビルダーで処理された例外データを調査し、特定の詳細を取得するために使用できるデフォルトの属性が自動的に含まれます。
MobileHandledException
イベント タイプ をクエリします 。詳細については、 NRQL の例を参照してください。。
カスタムアトリビュートとイベントの作成
属性 と カスタム イベントをカスタマイズすることもできます。それらを作成したら、 処理された例外 ページで属性を選択してクエリします。