Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

iOS 向け Performance Monitoring を使ってみる

始める前に

まだ追加していない場合は、iOS プロジェクトに Firebase を追加します

ステップ 1: Performance Monitoring をアプリに追加する

Performance Monitoring SDK を追加すると、Firebase はアプリの画面のレンダリング、アプリのライフサイクルに関連するデータ(アプリ起動時間など)、HTTP/S ネットワーク リクエストのデータの収集を自動的に開始します。

  1. プロジェクト用に作成した podfile を開き(または pod init を実行して作成し)、ターゲット セクション内に次の行を追加します。

    pod 'Firebase/Performance'
  2. podfile のディレクトリで、次のコマンドを実行して Performance Monitoring SDK をインストールします。

    pod install
  3. Xcode を使用して .xcworkspace ファイルを開きます。

  4. Firebase モジュールを UIApplicationDelegate にインポートします。

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  5. FirebaseApp 共有インスタンスを構成します。通常はアプリの application:didFinishLaunchingWithOptions: メソッドで行います。

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  6. アプリを再コンパイルします。

ステップ 2: 初期データ表示用のパフォーマンス イベントを生成する

SDK がアプリに正常に追加されると、Firebase によりイベントの処理が開始されます。引き続きローカルで開発を行っている場合は、アプリを操作して、初期データの収集と処理用のイベントを生成します。

  1. シミュレータまたはテストデバイスを使用してアプリの開発を続けます。

  2. アプリをバックグラウンドとフォアグラウンドの間で数回切り替えたり、画面間を移動してアプリを操作したり、ネットワーク リクエストをトリガーしたりして、イベントを生成します。

  3. Firebase コンソールのパフォーマンス ダッシュボードに移動します。初期データが数分以内に表示されます。

    初期データが表示されない場合は、トラブルシューティングのヒントをご覧ください。

ステップ 3:(省略可)パフォーマンス イベントのログメッセージを表示する

  1. 次のようにデバッグ ロギングを有効にします。

    1. Xcode(v12.2 以上)で、[Product] > [Scheme] > [Edit scheme] の順に選択します。
    2. 左側のメニューから [Run] を選択し、[Arguments] タブを選択します。
    3. [Arguments Passed on Launch] セクションで -FIRDebugEnabled を追加します。
  2. ログメッセージにエラー メッセージがないか確認します。

  3. Performance Monitoring は、ログメッセージをフィルタできるように、ログメッセージに Firebase/Performance のタグを付けます。

  4. Performance Monitoring がパフォーマンス イベントをログに記録していることを示す次の種類のログを確認します。

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. URL をクリックして Firebase コンソールでデータを表示します。ダッシュボードでデータが更新されるまでに少し時間がかかることがあります。

アプリがパフォーマンス イベントをログに記録していない場合は、トラブルシューティングのヒントをご覧ください。

ステップ 4: (省略可)特定のコードのカスタム モニタリングを追加する

アプリの特定のコードに関連付けられたパフォーマンス データをモニタリングするには、カスタムコード トレースをインストルメント化します。

カスタム コード トレースを使用すると、一連の画像の読み込みやデータベースのクエリなど、アプリが特定のタスクや一連のタスクを完了するのにかかる時間を測定できます。カスタム コード トレースのデフォルトの指標は期間ですが、キャッシュ ヒットやメモリ警告などのカスタム指標を追加することもできます。

コードで、Performance Monitoring SDK に用意された API を使用して、カスタムコード トレースの開始と終了を定義(および必要なカスタム指標を追加)します。

これらの機能の詳細とアプリに追加する方法については、特定のコードにモニタリングを追加するをご覧ください。

ステップ 5: アプリをデプロイして結果を確認する

Xcode シミュレータと 1 つまたは複数のテストデバイスを使用して Performance Monitoring を検証したら、アプリのアップデート バージョンをユーザーにデプロイします。

Firebase コンソールのパフォーマンス ダッシュボードでパフォーマンス データをモニタリングできます。

既知の問題

  • Performance Monitoring には、GTMSQLite との互換性に関する既知の問題があります。GTMSQLite を使用するアプリでは、Performance Monitoring を使用しないことをおすすめします。
  • FirebaseApp.configure() を呼び出した後のメソッドの実装入れ替えは、Performance Monitoring SDK に影響する可能性があります。
  • iOS 8.0~8.2 シミュレータの既知の問題により、Performance Monitoring でパフォーマンス イベントがキャプチャされなくなります。これらの問題は、iOS シミュレータ 8.3 以降のバージョンで修正されています。
  • NSURLSession の backgroundSessionConfiguration を使用して接続を確立する場合、接続時間が予想よりも長くかかります。この場合の接続はプロセスの外部で実行され、そのタイミングはプロセス内のコールバック イベントを反映したものになります。

次のステップ