Comience con Performance Monitoring para plataformas Apple

Antes de que empieces

Si aún no lo has hecho, agrega Firebase a tu proyecto de Apple .

Paso 1 : agregue la supervisión del rendimiento a su aplicación

Después de agregar el SDK de monitoreo de rendimiento, Firebase comienza automáticamente a recopilar datos para la representación de la pantalla de tu aplicación, datos relacionados con el ciclo de vida de tu aplicación (como la hora de inicio de la aplicación ) y datos para las solicitudes de red HTTP/S .

Utilice Swift Package Manager para instalar y administrar las dependencias de Firebase.

  1. En Xcode, con el proyecto de su aplicación abierto, navegue hasta Archivo > Agregar paquetes .
  2. Cuando se le solicite, agregue el repositorio SDK de las plataformas Firebase Apple:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Elija la biblioteca de Monitoreo de rendimiento.
  5. Agregue el indicador -ObjC a la sección Otros indicadores del vinculador de la configuración de compilación de su objetivo.
  6. Cuando termine, Xcode comenzará automáticamente a resolver y descargar sus dependencias en segundo plano.

A continuación, configure el módulo Firebase:

  1. Importe el módulo FirebaseCore en su UIApplicationDelegate , así como cualquier otro módulo de Firebase que utilice el delegado de su aplicación. Por ejemplo, para usar Cloud Firestore y autenticación:

    Interfaz de usuario rápida

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

    Rápido

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    C objetivo

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Configure una instancia compartida FirebaseApp en el método application(_:didFinishLaunchingWithOptions:) del delegado de su aplicación:

    Interfaz de usuario rápida

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

    Rápido

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

    C objetivo

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Si está utilizando SwiftUI, debe crear un delegado de aplicación y adjuntarlo a su estructura App mediante UIApplicationDelegateAdaptor o NSApplicationDelegateAdaptor . También debes desactivar el cambio de delegados de aplicaciones. Para obtener más información, consulte las instrucciones de SwiftUI .

    Interfaz de usuario rápida

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. Vuelva a compilar su aplicación.

Paso 2 : generar eventos de rendimiento para la visualización de datos iniciales

Firebase comienza a procesar los eventos cuando agrega correctamente el SDK a su aplicación. Si todavía estás desarrollando localmente, interactúa con tu aplicación para generar eventos para la recopilación y el procesamiento de datos iniciales.

  1. Continúe desarrollando su aplicación utilizando un simulador o dispositivo de prueba.

  2. Genere eventos cambiando su aplicación entre fondo y primer plano varias veces, interactuando con su aplicación navegando entre pantallas y/o activando solicitudes de red.

  3. Vaya al panel de rendimiento de Firebase console. Deberías ver tus datos iniciales en unos minutos.

    Si no ve una visualización de sus datos iniciales, revise los consejos para la solución de problemas .

Paso 3 : (Opcional) Ver mensajes de registro para eventos de rendimiento

  1. Habilite el registro de depuración, de la siguiente manera:

    1. En Xcode (mínimo v14.1), seleccione Producto > Esquema > Editar esquema .
    2. Seleccione Ejecutar en el menú de la izquierda, luego seleccione la pestaña Argumentos .
    3. En la sección Argumentos pasados ​​en el lanzamiento , agregue -FIRDebugEnabled .
  2. Revise sus mensajes de registro para ver si hay mensajes de error.

  3. Performance Monitoring etiqueta sus mensajes de registro con Firebase/Performance para que pueda filtrar sus mensajes de registro.

  4. Compruebe los siguientes tipos de registros que indican que Performance Monitoring está registrando eventos de rendimiento:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Haga clic en la URL para ver sus datos en Firebase console. Es posible que los datos tarden unos momentos en actualizarse en el panel.

Si su aplicación no registra eventos de rendimiento, revise las sugerencias para la solución de problemas .

Paso 4 : (Opcional) Agregue monitoreo personalizado para código específico

Para monitorear los datos de rendimiento asociados con un código específico en su aplicación, puede instrumentar seguimientos de código personalizados .

Con un seguimiento de código personalizado, puede medir cuánto tiempo le toma a su aplicación completar una tarea específica o un conjunto de tareas, como cargar un conjunto de imágenes o consultar su base de datos. La métrica predeterminada para un seguimiento de código personalizado es su duración, pero también puede agregar métricas personalizadas, como aciertos de caché y advertencias de memoria.

En su código, usted define el principio y el final de un seguimiento de código personalizado (y agrega las métricas personalizadas que desee) utilizando la API proporcionada por el SDK de Performance Monitoring.

Visite Agregar monitoreo para obtener código específico y obtener más información sobre estas funciones y cómo agregarlas a su aplicación.

Paso 5 : implemente su aplicación y luego revise los resultados

Después de haber validado la supervisión del rendimiento mediante el simulador de Xcode y uno o más dispositivos de prueba, puede implementar la versión actualizada de su aplicación para sus usuarios.

Puede monitorear los datos de rendimiento en el panel de rendimiento de Firebase console.

Problemas conocidos

  • Performance Monitoring tiene problemas conocidos de compatibilidad con GTMSQLite. Recomendamos no usar Performance Monitoring con aplicaciones que usan GTMSQLite.
  • El método que cambia después de llamar FirebaseApp.configure() puede interferir con el SDK de Performance Monitoring.
  • Los problemas conocidos con el simulador de iOS 8.0-8.2 impiden que Performance Monitoring capture eventos de rendimiento. Estos problemas se solucionan en el Simulador de iOS 8.3 y versiones posteriores.
  • Las conexiones establecidas utilizando backgroundSessionConfiguration de NSURLSession mostrarán tiempos de conexión más largos de lo esperado. Estas conexiones se ejecutan fuera de proceso y los tiempos reflejan eventos de devolución de llamada en proceso.

Próximos pasos