開始使用 Apple 平台的性能監控

在你開始之前

如果你還沒有,添加火力地堡到Apple項目

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

您添加性能監視SDK後,火力地堡自動啟動對於應用的收集數據的畫面呈現,關係到你的應用程序的生命週期(如數據的應用程序啟動時間),和數據HTTP / S的網絡請求

使用 Swift Package Manager 安裝和管理 Firebase 依賴項。

  1. 在Xcode中,您的應用項目打開,導航到File>斯威夫特包>添加包的依賴
  2. 出現提示時,添加 Firebase Apple 平台 SDK 存儲庫:
  3.   https://github.com/firebase/firebase-ios-sdk
      
  4. 選擇性能監控庫。
  5. 完成後,Xcode 將在後台自動開始解析和下載您的依賴項。

接下來,配置 Firebase 模塊:

  1. 導入火力地堡模塊在UIApplicationDelegate

    迅速

    import Firebase

    目標-C

    @import Firebase;
  2. 配置一個FirebaseApp共享實例,通常在你的應用程序的application:didFinishLaunchingWithOptions:方法:

    迅速

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

    目標-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  1. 重新編譯您的應用程序。

步驟2:為初始數據顯示生成性能事件

當您成功地將 SDK 添加到您的應用程序時,Firebase 開始處理事件。如果您仍在本地開發,請與您的應用程序交互以生成用於初始數據收集和處理的事件。

  1. 繼續使用模擬器或測試設備開發您的應用程序。

  2. 通過在後台和前台之間多次切換您的應用程序、通過跨屏幕導航和/或觸發網絡請求與您的應用程序交互來生成事件。

  3. 轉至性能儀表板的火力地堡控制台。您應該會在幾分鐘內看到初始數據顯示。

    如果您沒有看到您的初始數據顯示,查看故障排除提示

第3步:對性能事件(可選)查看日誌信息

  1. 啟用調試日誌記錄,如下所示:

    1. 在Xcode(最小v12.5),選擇產品>方案>編輯方案
    2. 從左邊的菜單中選擇運行,然後選擇參數選項卡。
    3. 傳承啟動部分的參數,添加-FIRDebugEnabled
  2. 檢查您的日誌消息是否有任何錯誤消息。

  3. 性能監視標籤的日誌信息與Firebase/Performance ,讓您可以過濾日誌信息。

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

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. 單擊 URL 以在 Firebase 控制台中查看您的數據。數據在儀表板中更新可能需要一些時間。

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

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

要監視特定代碼在您的應用程序相關聯,可以儀器性能數據自定義代碼的痕跡

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

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

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

第5步:部署應用程序,然後查看結果

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

您可以監視性能數據的性能儀表板的火力地堡控制台。

已知的問題

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

下一步