Cómo capturar un registro del sistema en la línea de comandos

El comando systrace invoca la herramienta Systrace, que te permite recopilar e inspeccionar información de sincronización en todos los procesos que se ejecutan en tu dispositivo a nivel del sistema.

En este documento, se explica cómo generar informes de Systrace desde la línea de comandos. En dispositivos con Android 9 (API nivel 28) o versiones posteriores, también puedes generar informes de Systrace mediante la app de Registro del sistema.

Para ejecutar systrace, completa los siguientes pasos:

  1. Desde Android Studio, descarga e instala las herramientas del SDK de Android más recientes.
  2. Instala Python e inclúyelo en la variable de entorno PATH de tu estación de trabajo.
  3. Agrega android-sdk/platform-tools/ a la variable de entorno PATH. Este directorio contiene el objeto binario de Android Debug Bridge (adb), al que llama el programa systrace.
  4. Conecta un dispositivo con Android 4.3 (API nivel 18) o versiones posteriores a tu sistema de desarrollo mediante una conexión de depuración de USB.

El comando systrace se proporciona en el paquete de herramientas del SDK de Android y se encuentra en android-sdk/platform-tools/systrace/.

Sintaxis

Para generar el informe HTML de la app, debes ejecutar systrace desde la línea de comandos con la siguiente sintaxis:

    python systrace.py [options] [categories]
    

Por ejemplo, el siguiente comando llama a systrace para registrar la actividad del dispositivo y generar un informe HTML llamado mynewtrace.html. Esta lista de categorías es una lista predeterminada aceptable para la mayoría de los dispositivos.

$ python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
        binder_driver hal dalvik camera input res
    

Sugerencia: Si deseas ver los nombres de las tareas en la supervisión de resultados, debes incluir la categoría sched en los parámetros de tu comando.

Para ver la lista de categorías que admite tu dispositivo conectado, ejecuta el siguiente comando:

$ python systrace.py --list-categories
    

Si no especificas ninguna categoría u opción, systrace generará un informe que incluya todas las categorías disponibles y utilizará la configuración predeterminada. Las categorías disponibles dependerán del dispositivo conectado que estés usando.

Opciones globales

Opciones globales Descripción
-h | --help Muestra el mensaje de ayuda.
-l | --list-categories Crea una lista de las categorías de seguimiento disponibles para tu dispositivo conectado.

Comandos y opciones de comando

Comandos y opciones Descripción
-o file Escribe el informe de seguimiento de HTML en el archivo especificado. Si no especificas esta opción, systrace guarda tu informe en el mismo directorio que systrace.py y le asigna el nombre trace.html.
-t N | --time=N Rastrea la actividad del dispositivo durante N segundos. Si no especificas esta opción, systrace te solicitará que finalices el seguimiento presionando la tecla Intro desde la línea de comandos.
-b N | --buf-size=N Usa un tamaño de búfer de seguimiento de N kilobytes. Esta opción te permite limitar el tamaño total de los datos recopilados durante un seguimiento.
-k functions
| --ktrace=functions
Registra la actividad de funciones de kernel específicas, especificadas en una lista separada por comas.
-a app-name
| --app=app-name
Habilita el seguimiento para las apps, especificado como una lista de nombres de procesos separada por comas. Las apps deben contener llamadas de instrumentación de seguimiento de la clase Trace. Debes especificar esta opción cada vez que generes perfiles de tu app. Muchas bibliotecas, como RecyclerView, incluyen llamadas de instrumentación de seguimiento que proporcionan información útil cuando habilitas el seguimiento a nivel de la app. Para obtener más información, consulta Cómo definir eventos personalizados.

Para registrar todas las apps en un dispositivo con Android 9 (API nivel 28) o versiones posteriores, pasa el carácter comodín "*", incluidas las comillas.

--from-file=file-path Crea un informe HTML interactivo a partir de un archivo, como archivos TXT que incluyen datos de seguimiento sin procesar, en lugar de ejecutar un seguimiento en vivo.
-e device-serial
| --serial=device-serial
Lleva a cabo el seguimiento en un dispositivo conectado específico, identificado por su número de serie de dispositivo.
categories Incluye información de seguimiento para los procesos del sistema que especifiques, como gfx para los procesos del sistema que renderizan gráficos. Puedes ejecutar systrace con el comando -l para ver una lista de los servicios disponibles en tu dispositivo conectado.