Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

iOS 性能監控入門

在你開始之前

如果您還沒有,請將 Firebase 添加到您的 iOS 項目

第 1 步:向您的應用添加性能監控

添加 Performance Monitoring SDK 後,Firebase 會自動開始收集應用的屏幕渲染數據、與應用生命週期相關的數據(如應用啟動時間)以及HTTP/S 網絡請求的數據

  1. 打開您為項目創建的 podfile(或運行pod init創建一個),然後在目標部分中添加以下行:

    pod 'Firebase/Performance'
  2. 在您的 podfile 目錄中,運行以下命令安裝性能監控 SDK:

    pod install
  3. 使用 Xcode 打開.xcworkspace文件。

  4. UIApplicationDelegate導入 Firebase 模塊:

    迅速

    import Firebase

    目標-C

    @import Firebase;
  5. 配置FirebaseApp共享實例,通常在您應用的application:didFinishLaunchingWithOptions:方法中:

    迅速

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

    目標-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. 從左側菜單中選擇運行,然後選擇參數選項卡。
    3. 啟動時傳遞參數部分中,添加-FIRDebugEnabled
  2. 檢查您的日誌消息是否有任何錯誤消息。

  3. Performance Monitoring 使用Firebase/Performance標記其日誌消息,以便您可以過濾日誌消息。

  4. 檢查以下類型的日誌,這些日誌表明性能監控正在記錄性能事件:

    • Logging trace metric: TRACE_NAME
    • Logging network request trace: URL

如果您的應用未記錄性能事件,請查看故障排除提示

第 4 步:(可選)為特定代碼添加自定義監控

要監控與應用中特定代碼相關的性能數據,您可以檢測自定義代碼跟踪

使用自定義代碼跟踪,您可以測量應用完成特定任務或任務集所需的時間,例如加載一組圖像或查詢您的數據庫。自定義代碼跟踪的默認指標是其持續時間,但您也可以添加自定義指標,例如緩存命中和內存警告。

在您的代碼中,您可以使用性能監控 SDK 提供的 API 定義自定義代碼跟踪的開始和結束(並添加任何所需的自定義指標)。

訪問為特定代碼添加監控以了解有關這些功能以及如何將它們添加到您的應用程序的更多信息。

第 5 步:部署您的應用,然後查看結果

在使用 Xcode 模擬器和一台或多台測試設備驗證性能監控後,您可以將應用程序的更新版本部署給您的用戶。

您可以在 Firebase 控制台的性能儀表板中監控性能數據。

已知的問題

  • 性能監控與 GTMSQLite 存在已知的兼容性問題。我們建議不要對使用 GTMSQLite 的應用程序使用性能監控。
  • 調用FirebaseApp.configure()後的方法 swizzling 可能會干擾性能監控 SDK。
  • iOS 8.0-8.2 模擬器的已知問題阻止性能監控捕獲性能事件。這些問題已在 iOS 8.3 Simulator 及更高版本中修復。
  • 使用 NSURLSession 的backgroundSessionConfiguration建立的連接會比預期的連接時間長。這些連接在進程外執行,時間反映進程內回調事件。

下一步