Captura un seguimiento del sistema en la línea de comando

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 (nivel de API 28) o versiones posteriores, también puedes generar informes de Systrace mediante la app Registro del sistema.

A fin de ejecutar systrace, sigue los pasos a continuación:

  1. Desde Android Studio, descarga e instala las herramientas del SDK de Android más recientes.
  2. Instala Python e inclúyelo en la ruta de ejecución de tu estación de trabajo.
  3. Conecta un dispositivo con Android 4.3 (nivel de API 18) o versiones superiores 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 está ubicado en android-sdk/platform-tools/systrace/.

Sintaxis

Para generar el informe HTML para 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 con el nombre 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 opción o categoría, systrace genera un informe que incluye todas las categorías disponibles y usa opciones de configuración predeterminadas. Las categorías disponibles dependen 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 lo nombra trace.html.
-t N | --time=N Registra la actividad del dispositivo durante N segundos. Si no especificas esta opción, systrace te pide que termines el seguimiento presionando la tecla Intro desde la línea de comandos.
-b N | --buf-size=N Utiliza 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, ve a la sección acerca de cómo instrumentar el código de tu app.
--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 para tu dispositivo conectado.