モバイル監視では、インタラクションは、UIViewControllers (iOS) またはアクティビティ (Android) によってグループ化されたインストゥルメント化されたメソッドのコレクションです。 インタラクション ページを使用して、最も高価で遅いインターラクションを追跡し、最も遅いトレースの原因を調査します。
インストゥルメントで行われたインタラクション
インタラクションは自動的にインストゥルメントされます。 どのクラスが自動インストゥルメント化されるかについて詳しくは、以下を参照してください。
また、次の方法を使用したインタラクションの手動インストゥルメンテーションも提供しています。
メソッドstartInteraction
とstopInteraction
を使用する場合、インストゥルメントで行われたインタラクションは [インタラクション] ページに表示されませんが、次のような NRQL クエリで見つけることができます。
SELECT name FROM Mobile SINCE 7 DAYS AGO
インタラクションページを表示する
インタラクション ページには、最も高価なインタラクションの上位 20 件を分類したグラフと、最も遅いトレースのリストが表示されます。これには、メイン スレッドで実行されるコードとワーカー スレッドで実行されるコードが含まれます。
Interactionsのページを表示するには
- one.newrelic.com > All capabilities > Mobile > (アプリを選択) > More views > Interactionsに移動します。
- 詳細情報にドリルダウンするには、インタラクションを選択するか、該当する プラットフォーム UI 機能を使用します。
インタラクションの詳細をドリルダウンする
インストゥルメントされたすべてのメソッドの完全なリストを表示するには、選択したインタラクションからBreakdown tableリンクを選択します。 いずれかのメトリクスにカスタムインストゥルメンテーションを使用する場合、クラスとメソッド名のカテゴリはcustomと示されます。
トレースされたメソッドごとに、インタラクションの内訳表には次のものが表示されます。
- スレッドの種類(フォアグラウンドまたはバックグラウンド)
- クラス・メソッド名
- この方法での総実行時間の割合
- 相互作用ごとのこのメソッドへの平均呼び出し回数
- このメソッドへの各コールの全体的な平均実行時間
インタラクショントレースのタイムラインを分析する
各インターラクション トレース期間では、新しいインタラクションが開始されるまで単一のトレースが記録されます。 モバイル アプリのトレース タイムラインを表示するには:
- one.newrelic.com > All capabilities > Mobile > (select an app) > App > Interactionsに移動します。
- Slowest tracesテーブルから、トレースのActivityまたはDurationリンクを選択します。
トレース タイムラインは、インサイトをアプリのデバイス レベルのデータに取り込むのに役立つデバイス メトリクスも提供します。 システム使用状況メトリクスは、データベース、CPU、メモリなど、アプリがエンドユーザーのデバイスとどのようにやり取りしているかを示します。
追加で実行できるアクションは次のとおりです。
- オンデバイスの使用状況のメトリクスを表示するには、タイムラインにマウスオーバーします。
- 詳細な情報を得るためには、タイムライン上の任意の場所を選択します。
- データのコンテキストを提供するには、 Previous interactionをクリックします。