このページでは、Performance Monitoring の使用を開始する際や、Performance Monitoring の機能とツールの使用する際のトラブルシューティングのヒントを紹介します。
トラブルシューティングのための最初の確認
トラブルシューティングを行う前に、次の 2 つの点を確認することをおすすめします。
1. パフォーマンス イベントのログメッセージを確認する
ログメッセージを確認して、Performance Monitoring SDK がパフォーマンス イベントをキャプチャしていることを確認します。
パフォーマンス イベントのログメッセージを表示する方法
ブラウザのデベロッパー ツール(Chrome デベロッパー ツールの [ネットワーク] タブや Firefox のネットワーク モニターなど)を開きます。
ブラウザでウェブアプリを更新します。
ログメッセージにエラー メッセージがないか確認します。
数秒後、ブラウザのデベロッパー ツールで、
firebaselogging.googleapis.com
に対するネットワーク呼び出しを確認します。ネットワーク呼び出しが存在する場合、ブラウザがパフォーマンス データを Firebase に送信しています。
アプリがパフォーマンス イベントをログに記録していない場合は、トラブルシューティングのヒントをご覧ください。
2. Firebase ステータス ダッシュボードを確認する
Firebase または Performance Monitoring に既知の停止が発生しているかどうか、Firebase ステータス ダッシュボードを確認します。
Performance Monitoring のスタートガイド
Performance Monitoring(iOS | Android | ウェブ)の使用を開始するうえで、Firebase が SDK を検出したり、Firebase コンソールに最初のパフォーマンス データを表示したりする際に問題が発生した場合は、次のトラブルシューティングのヒントを参考にしてください。
SDK をアプリに追加したが、SDK を追加するようコンソールに指示が表示される
Firebase は、アプリからイベント情報(アプリの操作など)を受け取るときに、アプリに Performance Monitoring SDK が正常に追加されたかどうかを検出できます。通常、アプリを起動してから 10 分以内に、Firebase コンソールのパフォーマンス ダッシュボードに「SDK を検出しました」というメッセージが表示されます。
最新バージョンの SDK をアプリに追加してから 10 分以上経過してもこの検出メッセージが表示されない場合は、ログメッセージを確認して、Performance Monitoring がイベントをログに記録していることを確認します。下記の該当するトラブルシューティングの手順を試して、SDK 検出メッセージの遅延についてトラブルシューティングを行います。
アプリがイベントをログに記録している: トラブルシューティングの手順
ローカルで開発している場合は、データ収集用のイベントをさらに生成してみてください。
ローカル環境でウェブアプリを提供および表示します。
サイトのサブページを読み込んだり、アプリを操作したり、ネットワーク リクエストをトリガーしたりして、イベントを生成します。ページが読み込まれた後、ブラウザのタブを 10 秒以上開いたままにします。
Firebase 構成オブジェクトがアプリに正しく追加され、オブジェクトを変更していないことを確認します。具体的には、次の点を確認します。
- 構成オブジェクト内の Firebase ウェブアプリ ID(
appId
)がアプリに適していること。settings プロジェクト設定のアプリカードで Firebase アプリ ID を確認します。
アプリの構成オブジェクトに問題があると思われる場合は、次の手順をお試しください。
現在アプリに設定されている構成ファイルを削除します。
こちらの手順に沿って新しい構成オブジェクトを取得し、ウェブアプリに追加します。
- 構成オブジェクト内の Firebase ウェブアプリ ID(
SDK がイベントをログに記録していて、すべてが正しく設定されているにもかかわらず、2 時間経過しても SDK 検出メッセージが表示されない場合は、Firebase サポートにお問い合わせください。
アプリがイベントをログに記録していない: トラブルシューティングの手順
アプリで Performance Monitoring SDK が正しく初期化されていることを確認します。
次のフラグによって Performance Monitoring SDK が無効になっていないことを確認します。
performance.instrumentationEnabled
ブラウザ キャッシュが無効になっていることを確認します。無効でない場合、ブラウザは新しいインストゥルメンテーション設定を取得しない場合があります。
ウェブページのタブを閉じてからもう一度開きます。再度ロギングを確認します。
アプリに Performance Monitoring SDK を追加したばかりの場合は、SDK が機能するようにアプリを完全に再起動する必要がある場合があります。
アプリで無効になっているものが見つからない場合は、Firebase サポートにお問い合わせください。
SDK を検出したとコンソールに表示されるが、データが表示されない
Performance Monitoring がパフォーマンス イベントデータを処理した後に、パフォーマンス ダッシュボードにそのデータが表示されます。
「SDK を検出しました」というメッセージが表示されてから 24 時間以上経過してもデータが表示されない場合は、既知の停止が発生しているかどうか Firebase ステータス ダッシュボードを確認します。停止が発生していない場合は、Firebase サポートにお問い合わせください。
一般的なトラブルシューティング
SDK を正常に追加し、アプリで Performance Monitoring を使用している場合、Performance Monitoring の機能とツールに関する一般的な問題には次のトラブルシューティングのヒントが役立ちます。
アプリがパフォーマンス イベントをログに記録しない
パフォーマンス イベントのログメッセージが表示されない場合は、次のトラブルシューティング手順をお試しください。
アプリで Performance Monitoring SDK が正しく初期化されていることを確認します。
次のフラグによって Performance Monitoring SDK が無効になっていないことを確認します。
performance.instrumentationEnabled
ブラウザ キャッシュが無効になっていることを確認します。無効でない場合、ブラウザは新しいインストゥルメンテーション設定を取得しない場合があります。
ウェブページのタブを閉じてからもう一度開きます。再度ロギングを確認します。
アプリに Performance Monitoring SDK を追加したばかりの場合は、SDK が機能するようにアプリを完全に再起動する必要がある場合があります。
アプリで無効になっているものが見つからない場合は、Firebase サポートにお問い合わせください。
パフォーマンス ダッシュボードに初回入力遅延データが表示されない
初回入力遅延指標のデータが表示されない場合は、次のトラブルシューティング手順をお試しください。
パフォーマンス ダッシュボードにカスタム トレースデータが表示されない
自動収集されるトレースのパフォーマンス データは表示され、カスタムコード トレースのデータは表示されませんか。次のトラブルシューティング手順をお試しください。
Trace API を使用してインストルメント化したカスタム コード トレースの設定を確認します。特に次の点に注意してください。
- カスタム コード トレースとカスタム指標の名前には制限があります。先頭または末尾が空白文字でなく、先頭がアンダースコア(
_
)でない 32 文字以下の名前を指定する必要があります。 - すべてのトレースを開始して停止する必要があります。開始されていないトレース、停止されていないトレース、開始前に停止されたトレースはログに記録されません。
record()
メソッドを使用している場合は、トレースを明示的に開始または停止する必要はありません。- カスタム コード トレースとカスタム指標の名前には制限があります。先頭または末尾が空白文字でなく、先頭がアンダースコア(
次のフラグによって Performance Monitoring のデータ収集が無効になっていないことを確認します。
performance.dataCollectionEnabled
このフラグは、すべてのデータではなく、カスタム コード トレースのデータ収集のみを制御します。
ログメッセージを確認して、Performance Monitoring が、想定されるカスタム コード トレースをログに記録していることを確かめます。
Performance Monitoring がイベントをログに記録しているが、24 時間経過してもデータが表示されない場合は、Firebase サポートにお問い合わせください。
パフォーマンス ダッシュボードにネットワーク リクエスト データが表示されない
ネットワーク リクエスト データが表示されない場合は、次の点に注意してください。
Performance Monitoring は、ブラウザ API によって報告されたネットワーク リクエストの指標を自動的に収集します。これらのレポートには、失敗したネットワーク リクエストは含まれません。
コードとそのコードで使用しているネットワーキング ライブラリの動作によっては、Performance Monitoring で報告されるのが、完了したネットワーク リクエストだけになることがあります。この場合、開いたままの HTTP/S 接続が報告されていない可能性があります。
ネットワーク リクエスト データが想定どおりに集計されない
詳細については、URL パターンで Performance Monitoring がネットワーク リクエスト データを集計する方法をご覧ください。
カスタム URL パターンもお試しください。
よくある質問
ほぼリアルタイムのデータ処理と表示
「ほぼリアルタイム」のパフォーマンス データとは何ですか?
Firebase Performance Monitoring のデータ収集機能が強化され、収集したパフォーマンス データの処理待ち時間が短くなります。Firebase コンソールに表示されるパフォーマンス データには、「ほぼリアルタイム」のデータが反映されるようになります(データが表示されるまでの遅延は数分です)。
以前は、収集したデータをバッチ処理していたため、データの収集からコンソールでの表示までに数時間のギャップがありました。今後は収集したデータがすぐに処理され、はるかに迅速にデータが表示されるようになります。
ほぼリアルタイムのデータ処理が完全にリリースされた後、それを利用するには、リアルタイム対応の SDK バージョンをアプリで使用する必要があります。
ほぼリアルタイムのパフォーマンス データをアプリで取得する方法を教えてください。
ほぼリアルタイムのデータ処理が完全にリリースされた後、それを利用するには、リアルタイムのデータ処理に対応したバージョンの Performance Monitoring SDK をアプリで使用します。これだけで準備完了です。
リアルタイム対応の SDK のバージョンは次のとおりです。
- iOS - v7.3.0 以降
- Android - v19.0.10 以降(または Firebase Android BoM v26.1.0 以降)
- ウェブ - v7.14.0 以降
常に最新バージョンの SDK を使用することをおすすめします。ただし、上記のいずれのバージョンでも、Performance Monitoring でほぼリアルタイムのデータ処理が行われます。
どのバージョンの Performance Monitoring SDK がリアルタイムに対応していますか?
リアルタイムのデータ処理に対応している SDK のバージョンは次のとおりです。
- iOS - v7.3.0 以降
- Android - v19.0.10 以降(または Firebase Android BoM v26.1.0 以降)
- ウェブ - v7.14.0 以降
常に最新バージョンの SDK を使用することをおすすめします。ただし、上記のいずれのバージョンでも、Performance Monitoring でほぼリアルタイムのデータ処理が行われます。
リアルタイム対応の SDK バージョンを使用するようにアプリを更新していないとどうなりますか?
リアルタイム対応の SDK バージョンをアプリで使用していない場合でも、Firebase コンソールにはアプリのパフォーマンス データがすべて表示されます。ただし、リアルタイム データ処理の機能が完全にリリースされた後は、パフォーマンス データはデータの収集からおよそ 36 時間遅れて表示されます。
リアルタイム対応の SDK バージョンにアップデートしましたが、一部のユーザーは古いバージョンのアプリを使用しています。それらのユーザーのパフォーマンス データも Firebase コンソールで引き続き表示されますか?
はい。アプリ インスタンスで使用している SDK バージョンに関係なく、すべてのユーザーのパフォーマンス データが表示されます。
リアルタイム データ処理の機能が完全にリリースされた後は、多少の違いが生じることに注意してください。たとえば、最近のデータ(約 36 時間以内)に表示されるデータは、リアルタイム対応の SDK バージョンを使用するアプリ インスタンスのユーザーのデータになります。一方、最近ではないデータには、すべてのバージョンのアプリのパフォーマンス データが表示されます。
Firebase サポートへのお問い合わせ
Firebase サポートに連絡する場合は、必ず Firebase アプリ ID をお知らせください。Firebase アプリ ID は、settings プロジェクト設定のアプリカードで確認します。