Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

特定のアプリコードのカスタムモニタリングを追加する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Performance Monitoring は、アプリのパフォーマンスを監視するのに役立つトレースを収集します。トレースは、アプリ内の 2 つの時点の間でキャプチャされたパフォーマンス データのレポートです。

独自のトレースを作成して、アプリ内の特定のコードに関連付けられたパフォーマンス データを監視できます。カスタム コード トレースを使用すると、一連の画像の読み込みやデータベースへのクエリなど、アプリが特定のタスクまたは一連のタスクを完了するのにかかる時間を測定できます。

カスタム コード トレースのデフォルトのメトリックは「期間」(トレースの開始点と停止点の間の時間)ですが、カスタム メトリックを追加することもできます。

コードでは、Performance Monitoring SDK によって提供される API を使用して、カスタム コード トレースの開始と終了を定義します。

カスタム コード トレースは、作成後いつでも開始でき、スレッド セーフです。

これらのトレースで収集されるデフォルトのメトリックは「期間」であるため、「期間トレース」と呼ばれることがあります。

これらのトレースからのデータは、パフォーマンスダッシュボードの下部にあるトレース テーブルの [カスタム トレース] サブタブで表示できます (コンソールの使用については、このページで後述します)。

デフォルト属性、カスタム属性、およびカスタム指標

カスタム コード トレースの場合、Performance Monitoring はデフォルトの属性(アプリのバージョン、国、デバイスなどの一般的なメタデータ)を自動的に記録するため、Firebase コンソールでトレースのデータをフィルタリングできます。カスタム属性(ゲーム レベルやユーザー プロパティなど) を追加して監視することもできます。

カスタム コード トレースをさらに構成して、トレースのスコープ内で発生するパフォーマンス関連イベントのカスタム メトリックを記録できます。たとえば、キャッシュのヒット数とミス数、または UI が一定期間応答しなくなった回数のカスタム メトリックを作成できます。

カスタム属性とカスタム指標は、トレースのデフォルト属性とデフォルト指標とともに Firebase コンソールに表示されます。

カスタム コード トレースを追加する

Performance Monitoring Trace API を使用してカスタム コード トレースを追加し、特定のアプリケーション コードを監視します。

次の点に注意してください。

  • アプリには、複数のカスタム コード トレースを含めることができます。
  • 複数のカスタム コード トレースを同時に実行できます。
  • カスタム コード トレースの名前は、次の要件を満たす必要があります: 先頭または末尾に空白がないこと、先頭にアンダースコア ( _ ) 文字がないこと、および最大長が 100 文字であること。
  • カスタム コード トレースは、カスタム メトリックカスタム属性の追加をサポートします。

カスタム コード トレースを開始および停止するには、トレースするコードを次のようなコードでラップします。

Trace customTrace = FirebasePerformance.instance.newTrace('custom-trace');
await customTrace.start();

// Code you want to trace

await customTrace.stop();

カスタム メトリックをカスタム コード トレースに追加する

Performance Monitoring Trace API を使用して、カスタム メトリックをカスタム コード トレースに追加します。

次の点に注意してください。

  • カスタム メトリックの名前は、先頭または末尾に空白がないこと、先頭にアンダースコア ( _ ) 文字がないこと、および最大長が 100 文字であるという要件を満たす必要があります。
  • 各カスタム コード トレースは、最大 32 個のメトリックを記録できます (デフォルトのDurationメトリックを含む)。

カスタム メトリックを追加するには、イベントが発生するたびに次のようなコード行を追加します。たとえば、このカスタム メトリックは、キャッシュ ヒットや再試行など、アプリで発生するパフォーマンス関連のイベントをカウントします。

Trace customTrace = FirebasePerformance.instance.newTrace("custom-trace");
await customTrace.start();

// Code you want to trace

customTrace.incrementMetric("metric-name", 1);

// More code

await customTrace.stop();

カスタム コード トレースのカスタム属性を作成する

カスタム属性を使用するには、属性を定義し、それを特定のカスタム コード トレースに関連付けるコードをアプリに追加します。カスタム属性は、トレースの開始から停止までの間いつでも設定できます。

次の点に注意してください。

  • カスタム属性の名前は次の要件を満たす必要があります: 先頭または末尾に空白がないこと、先頭にアンダースコア ( _ ) 文字がないこと、および最大長が 32 文字であること。

  • 各カスタム コード トレースは、最大 5 つのカスタム属性を記録できます。

  • Google に対して個人を特定する情報を含むカスタム属性は使用しないでください。

Trace trace = FirebasePerformance.instance.newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String? experimentValue = trace.getAttribute("experiment");

// Delete scenario.
trace.removeAttribute("experiment");

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

パフォーマンス データの追跡、表示、フィルタリング

ダッシュボードで特定の指標を追跡する

主要な指標の傾向を知るには、パフォーマンスダッシュボードの上部にある指標ボードに追加します。週ごとの変更を確認することでリグレッションをすばやく特定したり、コードの最近の変更によってパフォーマンスが向上していることを確認したりできます。

メトリクス ボードにメトリクスを追加するには、Firebase コンソールのパフォーマンスダッシュボードに移動し、[ダッシュボード] タブをクリックします。空のメトリック カードをクリックし、既存のメトリックを選択してボードに追加します。メトリックの置換や削除など、その他のオプションを表示するには、データが入力されたメトリック カードの縦の省略記号 ( ) をクリックします。

メトリクス ボードには、収集されたメトリクス データが経時的にグラフ形式と数値の変化率の両方で表示されます。

ダッシュボードの使用について詳しくは、こちらをご覧ください。

トレースとそのデータを表示する

トレースを表示するには、Firebase コンソールのパフォーマンスダッシュボードに移動し、トレース テーブルまで下にスクロールしてから、適切なサブタブをクリックします。テーブルには、各トレースのいくつかの上位メトリックが表示され、特定のメトリックの変化率でリストを並べ替えることもできます.

トレース テーブルでトレース名をクリックすると、さまざまな画面をクリックしてトレースを探索し、関心のあるメトリックにドリルダウンできます。ほとんどのページでは、[フィルター] ボタン (画面の左上) を使用して、属性別にデータをフィルター処理できます。次に例を示します。

  • アプリのバージョンでフィルターして、過去のリリースまたは最新のリリースに関するデータを表示します
  • デバイスでフィルタリングして、古いデバイスがアプリをどのように処理するかを確認します
  • でフィルター処理して、データベースの場所が特定の地域に影響していないことを確認します

トレースのデータの表示について詳しくは、こちらをご覧ください

次のステップ

  • 属性を使用してパフォーマンス データを調べる方法について詳しくは、こちらをご覧ください。

  • Firebase コンソールでパフォーマンスの問題を追跡する方法の詳細をご覧ください。

  • アプリのパフォーマンスを低下させるコード変更のアラートを設定します。たとえば、特定のカスタム コード トレースの期間が設定したしきい値を超えた場合に、チームの電子メール アラートを構成できます。