La herramienta Systrace de Android utiliza internamente strace o ftrace?

La herramienta Systrace Android llama internamente a una herramienta llamada atrace que es y extensión de ftrace o strace (herramientas Linux).

Si nos conectamos a través de la consola del emulador (shell ADB) a Android Jelly Bean podemos ejecutar la herramienta strace pero no podemos ejecutar la herramienta ftrace (comando no instalado).

Haciendo algunas reseach sobre el Internet encontré que strace es un predecesor de ftrace : http://crtags.blogspot.de/2012/04/dtrace-ftrace-ltrace-strace-so-many-to.html

Mirando al código fuente de Android, la referencia más " interna " que encontré es el archivo Trace.h : http://androidxref.com/4.1.1/xref/frameworks/native/include/utils/Trace.h

Pienso que este archivo se resuelve entonces a un conductor nativo del linux.

Sin embargo, todavía no puedo saber si este controlador de implementación pertenece a strace o ftrace . "Normalmente", debe ser ftrace porque es más reciente, pero en ese caso no sé por qué no podemos ejecutar ftrace desde el emulador. En contraste, strace está completamente disponible en el emulador.

Entonces, ¿alguien sabe si Systrace Android herramienta utiliza a un nivel muy bajo strace o ftrace ?

¡Gracias!

He seguido las instrucciones que se encuentran aquí, relacionadas con ftrace,: http://www.linuxforu.com/2010/11/kernel-tracing-with-ftrace-part-1/

Todo funciona perfecto. No pude ejecutar ftrace antes porque la interacción y la recuperación de datos se realiza a través de rutas lógicas.

Para ejecutar ftrace , después de la configuración correcta (muchos pasos …), dentro de adb shell:

root@android:# cat /sys/kernel/debug/tracing/trace > mytracefile.txt 

Atrace facilita el proceso de configuración, por lo que podemos acceder a la información de seguimiento de la siguiente manera:

 root@android:# atrace -s -w -t 100 > mytracefile.txt 

Por otro lado, he encontrado información sobre la ejecución de strace aquí: http://www.hokstad.com/5-simple-ways-to-troubleshoot-using-strace

Todos los ejemplos indicados se ejecutaron correctamente en mi entorno usando adb shell.

La interacción y el acceso a los resultados de ambas herramientas son muy diferentes.

Ahora puedo decir que systrace Android herramienta se basa en atrace que a su vez se basa en ftrace .

Strace también es apoyado pero sirve a otros propósitos y no está relacionado con systrace .

Saludos,

  • Ampliación de Android Systrace Tool
  • Obtener 'Permiso denegado (13)' al intentar usar systrace en Moto X con KitKat
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.