Agrega supervisión personalizada para código específico de tu app

Puedes crear seguimientos personalizados para supervisar los datos de rendimiento asociados con código específico de tu app. Con un seguimiento personalizado, puedes medir cuánto tiempo tarda la app en completar una tarea o un conjunto de tareas en particular, como cargar un conjunto de imágenes o consultar la base de datos. La métrica predeterminada de un seguimiento personalizado es su duración, pero también puedes agregar métricas personalizadas.

En el código, tú defines el inicio y el final de un seguimiento personalizado con las API que proporciona el SDK de Performance Monitoring.

Los seguimientos también pueden iniciarse después de su creación y son seguros para los subprocesos.

Ten en cuenta lo siguiente:

  • Una app puede tener varios seguimientos personalizados.
  • Se puede ejecutar más de un seguimiento personalizado al mismo tiempo.
  • Los nombres de las métricas y los seguimientos personalizados no deben tener espacios en blanco al inicio ni al final, no pueden comenzar con guion bajo (_) y no deben exceder los 100 caracteres.

Atributos predeterminados, atributos personalizados y métricas personalizadas

En el caso de los seguimientos personalizados, Performance Monitoring registra automáticamente los atributos predeterminados que se recopilan para cualquier seguimiento (metadatos aplicables, como la versión de la app, el país, el dispositivo, el navegador, etc.) a fin de que puedas filtrar los datos en Firebase console. En el caso de los seguimientos personalizados, también puedes agregar y supervisar atributos personalizados (como el nivel del juego o las propiedades del usuario).

Además, puedes configurar un seguimiento personalizado para que registre métricas personalizadas de los eventos relacionados con el rendimiento que ocurran dentro del alcance del seguimiento. Por ejemplo, puedes crear una métrica personalizada para la cantidad de aciertos y errores de caché o la cantidad de veces que la IU deja de responder por un período notorio. Los datos de estas métricas personalizadas se muestran en Firebase console junto con las métricas predeterminadas del seguimiento. Cada seguimiento personalizado puede registrar hasta 32 métricas, incluidas la métrica de duración predeterminada y todas las métricas personalizadas adicionales.

Agrega métricas y seguimientos personalizados

Usa la API de Trace (Swift | Obj-C) para agregar métricas y seguimientos personalizados a fin de supervisar código de la aplicación específico.

  1. Agrega el módulo de Performance Monitoring al encabezado:

    Swift

    import FirebasePerformance
    

    Objective-C

    @import FirebasePerformance;
    
  2. Para iniciar o detener un seguimiento personalizado, une el código que quieres seguir con las líneas de código que son similares a la siguiente:

    Swift

    let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")
    
    // code that you want to trace
    
    trace.stop()
    

    Obtén más información sobre la API de seguimientos personalizados.

    Objective-C

    FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];
    
    // code that you want to trace
    
    [trace stop];
    

    Obtén más información sobre la API de seguimientos personalizados.

  3. Para agregar una métrica personalizada, agrega una línea de código similar a la siguiente cada vez que ocurra el evento. Por ejemplo, esta métrica personalizada cuenta los eventos relacionados con el rendimiento que ocurren en tu app, como los aciertos de caché o los reintentos.

    Swift

    let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")
    
    trace.incrementMetric(named:"EVENT_NAME", by: 1)
    // code that you want to trace (and log custom metrics)
    
    trace.stop()
    

    Objective-C

    FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];
    
    [trace incrementMetric:@"EVENT_NAME" by:1];
    // code that you want to trace (and log custom metrics)
    
    [trace stop];
    

Supervisa métricas y seguimientos personalizados en Console

  1. En Firebase console, dirígete al Panel de rendimiento.

  2. Haz clic en la pestaña En el dispositivo, en la que tendrás las siguientes opciones:

    • Ver un informe rápido de los datos recopilados de todos tus seguimientos

    • Hacer clic en un seguimiento específico para revisar sus datos con más detalle

    • Usar el botón Filtro de la esquina superior izquierda del panel para filtrar de forma básica los datos por atributo

  3. Si haces clic en un seguimiento específico, la consola mostrará una descripción general de los datos recopilados en las tarjetas de las métricas, que incluye la métrica Duración predeterminada y todas las métricas personalizadas que hayas configurado para el seguimiento personalizado

    • Con las opciones de la esquina superior derecha del panel, podrás ver los datos de duración como valores agregados, en el tiempo o por versión de la app

    • Usar el botón Filtro de la esquina superior izquierda del panel para filtrar de forma básica los datos por atributo

  4. En cualquier métrica, haz clic en Ver más para obtener información más detallada sobre los datos recopilados y usar funciones de análisis más completas. Por ejemplo, puedes filtrar y segmentar los datos por atributo y verlos en el contexto de una sesión de uso de la app.

    En la siguiente sección, se describen las características disponibles del informe detallado de los seguimientos.

Obtén más detalles de los ejemplos de seguimiento

Puedes ver en detalle algunos segmentos de solicitudes de red o seguimientos específicos en Firebase console. En una muestra aleatoria de sesiones grabadas, se muestra la siguiente información:

Una imagen de la página de sesiones de Firebase Performance Monitoring

  • CPU: Cuánto tiempo de usuario y de sistema consume tu app.

  • Memoria: Cuánta memoria del montón usa tu app. La memoria del montón es la que se usa para asignaciones dinámicas, incluidos los objetos que se creen, los que se liberen y los que la app use de forma activa.

  • Información individual: Información detallada sobre una sola instancia de la solicitud de red o seguimiento, incluida la hora de inicio y de finalización, la duración y el tamaño de la solicitud y de la respuesta.

  • Instancias simultáneas: Información sobre las solicitudes de seguimientos o de red que ocurrieron al mismo tiempo.

  • Atributos del dispositivo: Información sobre el dispositivo, incluida la versión de la app, el modelo, la versión de SO, la radio y los atributos personalizados.

Para ver estas muestras detalladas en Firebase console, tienes las siguientes opciones:

  • Abre una de las solicitudes de red o seguimientos de tu app y, luego, haz clic en Ver sesiones.

  • Haz clic en el vínculo de las sesiones de un atributo en específico.

Una imagen del seguimiento de Firebase Performance Monitoring con un vínculo a las sesiones

Filtra sesiones por percentil

Los datos de las sesiones que recopila Performance Monitoring se distribuyen en percentiles para cada métrica. Las sesiones de los rangos percentiles más bajos tienen un valor menor para la métrica que las sesiones de los percentiles más altos.

Si deseas filtrar las sesiones disponibles por percentil, usa la lista desplegable que se encuentra arriba de los detalles de las sesiones.

Una imagen de la página de sesiones de Firebase Performance Monitoring

Pasos siguientes