Apple 平台效能監控入門

在你開始之前

如果您尚未將 Firebase 新增至您的 Apple 專案中,請將其新增至您的 Apple 專案。

第 1 步:將效能監控新增至您的應用程式

在新增效能監控 SDK 後,Firebase 會自動開始收集應用程式的螢幕渲染資料、與應用程式生命週期相關的資料(例如應用程式啟動時間)以及HTTP/S 網路請求的資料。

使用 Swift Package Manager 安裝和管理 Firebase 相依性。

  1. 在 Xcode 中,開啟應用程式項目,導覽至File > Add Packages
  2. 出現提示時,新增 Firebase Apple 平台 SDK 儲存庫:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. 選擇效能監控庫。
  5. -ObjC標誌新增至目標建置設定的「其他連結器標誌」部分。
  6. 完成後,Xcode 將自動開始在背景解析並下載您的依賴項。

接下來,配置 Firebase 模組:

  1. UIApplicationDelegate中導入FirebaseCore模組,以及應用程式委託使用的任何其他Firebase 模組。例如,要使用 Cloud Firestore 和身份驗證:

    斯威夫特使用者介面

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    迅速

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. 在應用程式委託的application(_:didFinishLaunchingWithOptions:)方法中設定FirebaseApp共享實例:

    斯威夫特使用者介面

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

    迅速

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

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. 如果您使用 SwiftUI,則必須建立應用程式委託並透過UIApplicationDelegateAdaptorNSApplicationDelegateAdaptor將其附加到您的App結構。您還必須停用應用程式委託調配。有關更多信息,請參閱SwiftUI 說明

    斯威夫特使用者介面

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. 重新編譯您的應用程式。

步驟 2 :產生初始資料顯示的效能事件

當您成功將 SDK 新增至您的應用程式時,Firebase 就會開始處理事件。如果您仍在本地開發,請與您的應用程式互動以產生用於初始資料收集和處理的事件。

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

  2. 透過在背景和前台之間多次切換應用程式、透過跨螢幕導航與應用程式互動和/或觸發網路請求來產生事件。

  3. 前往 Firebase 控制台的效能儀表板。您應該會在幾分鐘內看到初始資料顯示。

    如果您沒有看到初始資料的顯示,請查看故障排除提示

步驟 3 :(可選)查看效能事件的日誌訊息

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

    1. 在 Xcode(最低版本 v14.1)中,選擇「產品」 > “方案」 > “編輯方案”
    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 模擬器和一台或多台測試設備驗證效能監控後,您可以向使用者部署應用程式的更新版本。

您可以在 Firebase 控制台的效能儀表板中監控效能資料。

已知的問題

  • 效能監控存在與 GTMSQLite 的已知相容性問題。我們建議不要對使用 GTMSQLite 的應用程式使用效能監控。
  • 呼叫FirebaseApp.configure()後的方法調配可能會幹擾效能監控 SDK。
  • iOS 8.0-8.2 模擬器的已知問題導致效能監控無法擷取效能事件。這些問題已在 iOS 8.3 模擬器及更高版本中修復。
  • 使用 NSURLSession 的backgroundSessionConfiguration建立的連線將顯示比預期的連線時間更長的時間。這些連線在進程外執行,計時反映了進程內回呼事件。

下一步