Performance Monitoringは、アプリのパフォーマンスを監視するのに役立つトレースを収集します。トレースは、アプリの2つの時点の間にキャプチャされたパフォーマンスデータのレポートです。
独自のトレースを作成して、アプリ内の特定のコードに関連付けられたパフォーマンスデータを監視できます。カスタムコードトレースを使用すると、アプリが特定のタスクまたは一連のタスクを完了するのにかかる時間を測定できます。たとえば、一連の画像の読み込みやデータベースのクエリなどです。
カスタムコードトレースのデフォルトのメトリックはその「期間」(トレースの開始点と停止点の間の時間)ですが、カスタムメトリックを追加することもできます。
コードでは、Performance Monitoring SDKによって提供されるAPIを使用して、カスタムコードトレースの開始と終了を定義します。 カスタムコードトレースは、作成後に開始することもでき、スレッドセーフです。
Firebaseコンソールの[デバイス上]タブでカスタムコードトレースのデータを表示します(詳細については、このページで後述します)。これらのトレースに対して収集されるデフォルトのメトリックは「期間」であるため、「期間トレース」と呼ばれることもあることに注意してください。また、Firebaseコンソール([デバイス上]タブ)では、これらのトレースは[期間]というラベルの付いたテーブルの下にグループ化されています。
デフォルトの属性、カスタム属性、およびカスタムメトリック
カスタムコードトレースの場合、パフォーマンスモニタリングはデフォルトの属性(アプリのバージョン、国、デバイスなどの一般的なメタデータ)を自動的にログに記録するため、Firebaseコンソールでトレースのデータをフィルタリングできます。カスタム属性(ゲームレベルやユーザープロパティなど)を追加および監視することもできます。さらに、カスタムコードトレースを構成して、トレースのスコープ内で発生するパフォーマンス関連のイベントのカスタムメトリックを記録できます。たとえば、キャッシュのヒットとミスの数、またはUIが目立った期間応答しなくなった回数のカスタムメトリックを作成できます。
カスタム属性とカスタム指標は、トレースのデフォルト属性とデフォルト指標と一緒にFirebaseコンソールに表示されます。
カスタムコードトレースを追加する
Performance Monitoring Trace API( Swift | Obj-C )を使用して、特定のアプリケーションコードを監視するためのカスタムコードトレースを追加します。
次の点に注意してください。
- アプリには、複数のカスタムコードトレースを含めることができます。
- 複数のカスタムコードトレースを同時に実行できます。
- カスタムコードトレースの名前は、次の要件を満たしている必要があります。先頭または末尾の空白、先頭の下線(
_
)文字、最大長は100文字です。 - カスタムコードトレースは、カスタムメトリックとカスタム属性の追加をサポートします。
カスタムコードトレースを開始および停止するには、トレースするコードを次のようなコード行でラップします。
迅速
// Add the Performance Monitoring module to your header import FirebasePerformance let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME") // code that you want to trace trace.stop()
Objective-C
// Add the Performance Monitoring module to your header @import FirebasePerformance; FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"]; // code that you want to trace [trace stop];
カスタムコードトレースにカスタムメトリックを追加する
Performance Monitoring Trace API( Swift | Obj-C )を使用して、カスタムメトリックをカスタムコードトレースに追加します。
次の点に注意してください。
- カスタムメトリックの名前は、次の要件を満たしている必要があります。先頭または末尾の空白、先頭の下線(
_
)文字、最大長は100文字です。 - 各カスタムコードトレースは、最大32のメトリック(デフォルトのDurationメトリックを含む)を記録できます。
カスタムメトリックを追加するには、イベントが発生するたびに、次のようなコード行を追加します。たとえば、このカスタムメトリックは、キャッシュヒットや再試行など、アプリで発生するパフォーマンス関連のイベントをカウントします。
迅速
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME") trace.incrementMetric(named:"EVENT_NAME", by: 1) // code that you want to trace (and log custom metrics) trace.stop()
Objective-C
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"]; [trace incrementMetric:@"EVENT_NAME" by:1]; // code that you want to trace (and log custom metrics) [trace stop];
カスタムコードトレースのカスタム属性を作成する
Performance Monitoring Trace API( Swift | Obj-C )を使用して、カスタムコードトレースにカスタム属性を追加します。
カスタム属性を使用するには、属性を定義し、それを特定のカスタムコードトレースに関連付けるコードをアプリに追加します。カスタム属性は、トレースの開始時から停止時までの間にいつでも設定できます。
次の点に注意してください。
カスタム属性の名前は、次の要件を満たしている必要があります。先頭または末尾の空白、先頭の下線(
_
)文字、最大長は32文字です。各カスタムコードトレースは、最大5つのカスタム属性を記録できます。
Googleに対して個人を個人的に識別する情報を含むカスタム属性を使用しないでください。
このガイドラインの詳細
迅速
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME") trace.setValue("A", forAttribute: "experiment") // Update scenario. trace.setValue("B", forAttribute: "experiment") // Reading scenario. let experimentValue:String? = trace.valueForAttribute("experiment") // Delete scenario. trace.removeAttribute("experiment") // Read attributes. let attributes:[String, String] = trace.attributes;
Objective-C
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"]; [trace setValue:@"A" forAttribute:@"experiment"]; // Update scenario. [trace setValue:@"B" forAttribute:@"experiment"]; // Reading scenario. NSString *experimentValue = [trace valueForAttribute:@"experiment"]; // Delete scenario. [trace removeAttribute:@"experiment"]; // Read attributes. NSDictionary <NSString *, NSString *> *attributes = [trace attributes];
パフォーマンスデータの追跡、表示、およびフィルタリング
ダッシュボードで特定のメトリックを追跡する
主要な指標をダッシュボードに追加して、それらの傾向を確認します。週ごとの変更を確認するか、コードの最近の変更によってパフォーマンスが向上していることを確認することで、リグレッションをすばやく特定できます。

ダッシュボードに指標を追加するには、Firebaseコンソールの[パフォーマンス]ダッシュボードに移動し、[ダッシュボード]タブをクリックします。空のメトリックカードをクリックしてから、ダッシュボードに追加する既存のメトリックを選択します。メトリックの置き換えや削除などのオプションについては、入力されたメトリックカードの をクリックしてください。
ダッシュボードには、収集されたメトリックデータが、グラフ形式と数値のパーセンテージ変化の両方で表示されます。
ダッシュボードの使用の詳細をご覧ください。
すべてのトレースとそのデータを表示する
これらのトレースを表示するには、Firebaseコンソールのパフォーマンスダッシュボードに移動し、[デバイス上]タブをクリックします。
[デバイス上]タブから、さまざまな画面をクリックしてトレースを探索し、関心のあるメトリックにドリルダウンできます。ほとんどのページでは、[
のフィルター]ボタン(画面の左上)を使用して、属性でデータをフィルター処理できます。次に例を示します。
- アプリのバージョンでフィルタリングして、過去のリリースまたは最新のリリースに関するデータを表示します
- デバイスでフィルタリングして、古いデバイスがアプリをどのように処理するかを確認します
- 国でフィルタリングして、データベースの場所が特定の地域に影響を与えていないことを確認します
トレースのデータの表示の詳細をご覧ください。
次のステップ
Firebaseコンソールでパフォーマンスの問題を追跡する方法の詳細をご覧ください。
- 同じセッション中に収集された他のトレースのタイムラインコンテキストで特定のトレースを確認できるユーザーセッションの詳細レポートを表示します。