コンソールへ移動

Firebase Performance Monitoringplat_iosplat_android

アプリのパフォーマンス上の問題を分析します。

Firebase Performance Monitoring サービスを使用すると、iOS アプリ、Android アプリ、ウェブアプリのパフォーマンス特性を把握できます。

Performance Monitoring SDK を使用してアプリからパフォーマンス データを収集し、Firebase コンソールでそのデータのレビューと分析を行います。これにより、アプリのパフォーマンスの改善の余地がある時点と場所がわかり、その情報を使用してパフォーマンスの問題を解決できます。

iOS Android ウェブ

主な機能

アプリの起動時間や HTTP/S ネットワーク リクエストなどを自動的に測定する Performance Monitoring SDK をアプリに統合すると、アプリのパフォーマンスの重要な指標をモニタリングするためのコードを作成する必要がなくなります。ネイティブ アプリの場合、起動時間、画面ごとのレンダリング データ、フォアグラウンドでのアクティビティ、バックグラウンドでのアクティビティといった指標が SDK でロギングされます。ウェブアプリの場合、コンテンツの初回ペイントや、ユーザーがアプリと対話できるかどうかなどについて、SDK によってロギングされます。
アプリのパフォーマンスの改善が見込める状況を見抜く ユーザーの期待に応えられていない原因が正確にわからなければ、アプリのパフォーマンスを最適化することは困難です。これに対応できるように、Performance Monitoring ではパフォーマンス指標を国、デバイス、アプリのバージョン、OS レベル別に分析して確認できます。
アプリに合わせて Performance Monitoring をカスタマイズする 新しい画面の読み込みや新しいインタラクティブ機能の表示といった特定の状況でアプリのパフォーマンスをキャプチャするトレースを作成できます。また、カスタム指標を作成すると、トレース時に定義したイベント(キャッシュ ヒットなど)をカウントできます。

仕組み

Performance Monitoring は、Performance Monitoring SDK を組み込んだ iOS アプリ、Android アプリ、ウェブアプリで使用できます。Performance Monitoring は、アプリでのトレースと HTTP/S ネットワーク リクエストをモニタリングします。

自動トレース

トレースは、アプリ内の 2 つの時点の間で取得されたパフォーマンス データのレポートです。Performance Monitoring には、いくつかのデフォルト トレースが自動で組み込まれています。

  • iOS アプリと Android アプリの場合に組み込まれる自動トレースは、次のとおりです。

    • アプリ起動トレース - ユーザーがアプリを開いてからアプリが応答するまでの時間を測定します。

    • フォアグラウンド アプリのトレースバックグラウンド アプリのトレース - アプリがフォアグランドにあるとき、またはアイドル状態のときのパフォーマンスに関する分析情報を示します。

  • ウェブアプリの場合は、ページ読み込みが自動トレースされます。このトレースはさらに次の指標に細分されます。

    • 初回ペイントとコンテンツの初回ペイント - ブラウザがアプリのレンダリングを開始する時間と実際にページのコンテンツがユーザーに初めて表示される時間を測定して比較します。

    • 最初の入力の遅延 - 大型の JavaScript バンドルのようにアプリのリソースの読み込みと解析に時間を費やされている状況ではなく、ユーザーが最初にアプリを操作し始めたときに、ブラウザがどれだけ早く応答できるかに関する分析情報を示します。

    • DOM 関連イベント - アプリのリソース(HTML、JavaScript、CSS、画像など)の読み込みと解析にかかる時間を測定して、アプリのパフォーマンスがユーザーにどのように認識される可能性があるかに関する分析情報を示します。

カスタム トレース

カスタム トレースも構成できます。カスタム トレースは、アプリ内の特定のコードに関連付けられたパフォーマンス データのレポートです。SDK に用意された API を使用して、カスタム トレースの開始と終了を定義します。

またカスタム トレースを詳細に構成することで、該当する範囲内で発生したパフォーマンス関連イベントのカスタム指標を記録することもできます。たとえば、キャッシュのヒット数とミス数や、UI が一定の期間反応しなかった回数のカスタム指標を作成できます。

HTTP/S ネットワーク リクエスト

HTTP/S ネットワーク リクエストは、アプリがサービス エンドポイントにリクエストを発行してから、そのエンドポイントからのレスポンスが完了するまでの時間をキャプチャするレポートです。アプリがリクエストを発行する任意の宛先エンドポイントについて、Performance Monitoring は次のような指標を取得します。

  • 応答時間: リクエストが発行されてからレスポンスが完全に受信されるまでの時間
  • ペイロード サイズ: アプリによってダウンロードまたはアップロードされたネットワーク ペイロードのバイトサイズ
  • 成功率: 全レスポンス数に対する成功レスポンス数の割合(ネットワーク障害やサーバー障害を測定することを目的とします)

属性

パフォーマンス モニタリング データは、トレースと HTTP/S ネットワーク リクエストの両レポートでそれぞれ次のように分類されます。

トレースHTTP/S ネットワーク リクエスト
iOS アプリと Android アプリ
  • アプリのバージョン
  • OS レベル
  • デバイス
  • 無線通信
  • 携帯通信会社
  • アプリのバージョン
  • OS レベル
  • デバイス
  • 無線通信
  • 携帯通信会社
  • MIME タイプ
ウェブアプリ
  • ブラウザ
  • 効果的な接続タイプ
  • ページ URL
  • Service Worker のステータス
  • 表示状態

また、カスタム属性を設定すると、アプリ固有のカテゴリ別にデータをセグメント化することもできます。

実装パス

アプリに Performance Monitoring SDK を追加する アプリで使用される他の Firebase プロダクトとともに Performance Monitoring SDK をアプリに追加できます。
(省略可)
Performance Monitoring SDK を使用してアプリにカスタム トレースと指標を定義する
Performance Monitoring SDK を使用して、アプリのパフォーマンスの特定の側面を測定するカスタム トレースと指標を定義できます。
Firebase コンソールでパフォーマンス データをモニタリングする Firebase コンソールを使用すると、ユーザーのパフォーマンス データをモニタリングし、アプリのパフォーマンスの改善の余地がある状況を検出できます。また、そのデータをアプリのバージョン、国、デバイス、OS レベルで詳細に分析することもできます。

ユーザーデータ

Performance Monitoring が個人を特定できる情報(名前、メールアドレス、電話番号など)を永続的に保存することはありません。HTTP/S ネットワーク リクエストをモニタリングするにあたり、Performance Monitoring は URL(URL パラメータは含まない)をもとに集約された匿名の URL パターンを構築します。このパターンが最終的に保存され、Firebase コンソールに表示されます。

Performance Monitoring によって収集されるデータの完全な一覧については、データ収集をご覧ください。

次のステップ