2013-04-08 13 views
6

Systrace strumento Android chiama internamente uno strumento chiamato Atrace che è e l'estensione del ftrace o strace (strumenti di Linux).Lo strumento Android Systrace utilizza internamente strace o ftrace?

Se colleghiamo tramite la console emulatore (ADB shell) ad Android Jelly Bean possiamo eseguire strace strumento ma non possiamo eseguire ftrace strumento (comando non installato).

Facendo qualche reseach su Internet ho scoperto che strace è un predecessore di ftrace: http://crtags.blogspot.de/2012/04/dtrace-ftrace-ltrace-strace-so-many-to.html

Guardando al codice sorgente di Android, il più "interna" di riferimento che ho trovato è Trace .h file: http://androidxref.com/4.1.1/xref/frameworks/native/include/utils/Trace.h

Penso che questo file sia quindi risolto su un driver Linux nativo.

Tuttavia, sono ancora in grado di sapere se questo driver implementazione appartiene alla strace o ftrace. "Normalmente", dovrebbe essere ftrace perché è più recente, ma in quel caso non so perché non possiamo eseguire ftrace dall'emulatore. Al contrario, strace è completamente disponibile dall'emulatore.

Poi, fa qualcuno sa se Systrace strumento Android utilizza ad un livello molto basso strace o ftrace?

Grazie!

risposta

5

Ho seguire le istruzioni riportate qui, legati alla ftrace,: http://www.linuxforu.com/2010/11/kernel-tracing-with-ftrace-part-1/

Tutto funziona perfettamente. Non ero in grado di eseguire ftrace prima perché l'interazione e il recupero dei dati avviene tramite percorsi logici.

Per eseguire ftrace, dopo la corretta configurazione (molti passaggi ...), All'interno adb shell:

[email protected]:# cat /sys/kernel/debug/tracing/trace > mytracefile.txt 

Atrace rende più semplice processo di configurazione, in modo da possiamo accedere a informazioni di traccia seguente modo:

[email protected]:# atrace -s -w -t 100 > mytracefile.txt 

D'altra parte, ho trovato informazioni su esecuzione strace qui: http://www.hokstad.com/5-simple-ways-to-troubleshoot-using-strace

Tutti indicato esempi sono stati eseguiti con successo nel mio ambiente USI ng adb shell.

L'interazione e l'accesso ai risultati di entrambi gli strumenti sono molto diversi.

Ora posso dire che systrace strumento di Android è basato in Atrace che a sua volta si basa in ftrace.

strace è anche supportato ma serve per altri scopi e non è correlato alla systrace.

Cordiali saluti,

Problemi correlati