Cómo capturar localmente un seguimiento del sistema en Android Pie

systrace es una poderosa herramienta que recopila información de tiempo de procesos que se ejecutan en Android. A continuación se explica cómo capturar un seguimiento del sistema en Android Pie.

El rastreo es una herramienta invaluable que permite a los desarrolladores comprender el impacto que tienen varios cambios en un sistema y puede proporcionar pistas para identificar la causa raíz de los problemas.

sistematrace es una de esas poderosas herramientas de seguimiento que recopila información de tiempo de los procesos ejecutándose en un dispositivo Android. sistematrace fue utilizado ampliamente por el Equipo de rendimiento de Android en Google para optimizar el rendimiento en los teléfonos Google Pixel. He usado sistematrace para inspeccionar el impacto de los cambios en el programador del kernel en la ubicación de tareas en las CPU, por ejemplo, e identificar posibles causas de bloqueos. sistematrace puede capturar una amplia variedad de datos, incluida la programación de la CPU, la frecuencia de la CPU, la E/S del disco, los gráficos, la actividad del Binder y mucho más. La información se combina en un informe que se puede analizar en Google Chrome.

Antes de Android Pie, la única forma de capturar rastros con sistematrace Era conectar un dispositivo Android a una computadora y ejecutar systrace desde allí, generalmente desde una terminal. Sin embargo, no todo el mundo tiene acceso constante a una computadora ni el conocimiento y la confianza para ejecutar systrace.

Con el lanzamiento de Android Pie, este inconveniente se solucionó con la introducción del Paquete Traceur, que es una herramienta que captura datos de seguimiento sin procesar. directamente en un teléfono Android. Traceur está disponible como la opción "Seguimiento del sistema" en las Opciones de desarrollador de la aplicación Configuración, y los datos de seguimiento sin procesar capturados en el dispositivo por Traceur pueden convertirse en un momento posterior mediante sistematrace a un informe HTML para su análisis.

La nueva opción "Seguimiento del sistema" permite a los usuarios capturar y compartir fácilmente seguimientos con los desarrolladores, sin necesidad de saber cómo ejecutarlos. sistematrace en una computadora. Los desarrolladores se benefician de la capacidad de capturar rastros sin una computadora y analizarlos más tarde según les convenga. Los datos completos de seguimiento sin procesar recopilados por "Seguimiento del sistema" también son significativamente más pequeños que el informe HTML generado por sistematrace, lo que por lo tanto hace que los datos de seguimiento sin procesar sean más adecuados para almacenarlos y compartirlos con otros.

Guía: recopilación del sistema y análisis de seguimientos del sistema

En primer lugar, asegúrese de tener un dispositivo con Android Pie y una computadora con Python 2 instalado. Las siguientes instrucciones se realizaron en un OnePlus 6 con la última versión beta de OxygenOS Android Pie.

  1. Habilite las Opciones de desarrollador en la aplicación Configuración y luego acceda a la opción "Seguimiento del sistema" dentro de la sección "Depuración" de Opciones de desarrollador.
  2. Al abrir el Seguimiento del sistema, se le presentará una opción para habilitar el Seguimiento del sistema y la capacidad de personalizar las categorías de seguimiento y el tamaño del búfer de los seguimientos. Para esta demostración, se utilizan las categorías predeterminadas, lo cual es suficiente en la mayoría de los casos. Un interruptor "Mostrar mosaico de configuración rápida" permite iniciar/detener el seguimiento a través de Configuración rápida. He habilitado esto para esta guía.
  3. Para comenzar a capturar un seguimiento, toque el mosaico de configuración rápida "Registrar seguimiento" agregado recientemente.
  4. Cuando haya terminado de rastrear un caso de prueba, puede detener el rastreo desde la pantalla de notificación.
  5. ¡Excelente! Ha capturado con éxito un rastro sin procesar. Una notificación le pedirá que comparta el archivo de seguimiento sin formato. Debería poder guardarlo en su dispositivo, cargarlo en el almacenamiento en línea, enviárselo por correo electrónico a alguien, etc. Alternativamente, puede usar ADB para extraer directamente el seguimiento desde su dispositivo a su computadora (adb pull /data/local/traces/). Continúe y guarde el archivo de seguimiento en su computadora.
  6. El archivo de seguimiento sin formato tiene el formato inventado. formato .ctrace. No se puede interpretar en su forma cruda. Nosotros podemos usar sistematrace para generar un informe HTML interactivo más útil y comprensible a partir de nuestro archivo de seguimiento sin formato.
  7. Usaremos la última versión de sistematrace desde el repositorio del proyecto catapulta. En una aplicación de terminal, clone el repositorio (asegúrese de que git esté instalado):
    git clone https://github.com/catapult-project/catapult.git
  8. Para generar el informe HTML a partir de nuestro archivo de seguimiento sin formato usando sistematrace, ingrese los siguientes comandos:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    Se generará un archivo HTML con el mismo nombre que el archivo de seguimiento sin formato. Nota: systrace solo admite Python 2 al momento de escribir este artículo.
  9. Para ver el informe HTML, inicie el navegador Google Chrome y acceda a la URL "chrome://tracing". No abra el informe HTML directamente en Google Chrome porque aparecerá en blanco.
  10. Haga clic en "Cargar" y abra el archivo de informe HTML en el cuadro de diálogo emergente. ¡Voilá! Su informe de seguimiento ya está disponible para su inspección.

¿Que sigue?

Ahora que puede capturar un rastro y generar un sistematrace informe, es importante entender cómo leer e interpretar los datos presentados en el informe. Para empezar, recomiendo leer “Comprensión Systrace”, y viendo “Rendimiento de Android: descripción general (Google I/O '17)" y "Systrace para juegos" para ver sistematrace en acción.

Esta es una publicación invitada escrita originalmente por Josh Choo, también conocido como desarrollador reconocido por XDA. josué. La publicación fue ligeramente editada por motivos de formato.