Cómo recuperar y analizar datos de generación de perfiles

En esta página, se describe cómo recuperar registros y visualizarlos en la IU de Perfetto.

Cómo recuperar registros

Después de grabar un perfil, los registros se guardan en tu dispositivo. Antes de analizar estos registros, debes recuperarlos.

ProfilingResult.getResultFilePath() proporciona las ubicaciones de rastreo. Para obtener información sobre cómo obtener la ubicación del registro, consulta Cómo capturar un registro. Una vez que tengas la ubicación del registro, puedes subirlo a un servidor.

Pruebas locales: Recupera registros de seguimiento con ADB

Usar adb para obtener registros es útil para verificar el rendimiento y depurar de forma local.

Los registros censurados se guardan en los archivos de tu dispositivo. Una ruta de acceso típica para un perfil guardado es la siguiente:

/data/user/0/<app>/files/profiling/profile<tag><datetime>.perfetto-trace

En la que:

  • <app> es el nombre de la app.
  • <datetime> es la fecha y hora en que se tomó el registro.
  • <tag> es la etiqueta proporcionada por el usuario que se configuró con setTag.

Si se habilitaron y guardaron los registros sin editar, usa el siguiente comando adb para extraerlos del dispositivo:

adb pull /data/misc/perfetto-traces/profiling/<trace-name>.perfetto-trace-unredacted

Visualiza los registros

Después de recuperar el registro en tu computadora, puedes verlo en la IU de Perfetto.

Ejemplo de registro oculto
Figura 1: Ejemplo de registro oculto.

En un registro oculto, la sección OtherProcesses combina toda la actividad de la CPU de otros procesos. La combinación de procesos mantiene la privacidad de lo que hacían esos otros procesos.

Sin embargo, ver esta actividad combinada de la CPU te permite verificar si el sistema estaba sobrecargado durante la grabación. Verificar la actividad del sistema te ayuda a determinar si tu app fue lenta debido a un problema interno o porque el sistema fue lento en general.

En la siguiente imagen, se destacan y describen brevemente las partes principales que verás en el registro:

Secciones de un registro de seguimiento censurado
Figura 2.: Son las secciones de un registro de seguimiento censurado.
  1. Lista de CPU: Muestra todos los procesadores disponibles en tu dispositivo.
  2. Tareas de CPU: Muestra qué subprocesos ejecutaba cada CPU.
  3. Vista de otros procesos: Muestra los recursos de CPU que consumen otros procesos.
  4. Process View: Muestra el proceso de tu app.
  5. Vista de subprocesos: Muestra los subprocesos que se ejecutan dentro de tu proceso y sus estados (Ejecutable [R], En ejecución [R], En suspensión [S], En suspensión ininterrumpida [D]), que se asignan directamente a los estados de proceso de Linux.
  6. Segmentos de registro: En esta sección, se muestran las anotaciones de registro agregadas por los desarrolladores de la app o el framework. Estas anotaciones abarcan los cálculos entre Trace.beginSection y Trace.endSection.

Para obtener más información sobre la IU de Perfetto y la visualización de registros, consulta la documentación de Perfetto.