Il comando systrace
richiama lo strumento Systrace, che consente di raccogliere e analizzare le informazioni sulle tempistiche per tutti i processi in esecuzione sul dispositivo a livello di sistema.
Questo documento spiega come generare report di Systrace dalla riga di comando. Sui dispositivi con Android 9 (livello API 28) o versioni successive, puoi generare report di Systrace anche utilizzando l'app di sistema System Tracciamento.
Per eseguire systrace
, completa i seguenti passaggi:
- Da Android Studio, scarica e installa la versione più recente degli strumenti SDK Android.
- Installa Python e includilo nella variabile di ambiente
PATH
della tua workstation. - Aggiungi
android-sdk/platform-tools/
alla tua variabile di ambientePATH
. Questa directory contiene il programma binario di Android Debug Bridge (adb), che viene chiamato dal programmasystrace
. - Collega un dispositivo con Android 4.3 (livello API 18) o versioni successive al tuo sistema di sviluppo utilizzando una connessione di debug USB.
Il comando systrace
viene fornito nel pacchetto Android SDK Tools e si trova
in android-sdk/platform-tools/systrace/
.
Sintassi
Per generare il report HTML per l'app, devi eseguire systrace
dalla riga di comando utilizzando la seguente sintassi:
python systrace.py [options] [categories]
Ad esempio, il seguente comando chiama systrace
per registrare l'attività del dispositivo
e generare un report HTML denominato mynewtrace.html
. Questo elenco di categorie è un elenco predefinito ragionevole per la maggior parte dei dispositivi.
$ python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
binder_driver hal dalvik camera input res memory
Suggerimento: per visualizzare i nomi delle attività nell'output della traccia, devi includere la categoria sched
nei parametri del comando.
Per visualizzare l'elenco delle categorie supportate dal tuo dispositivo connesso, esegui questo comando:
$ python systrace.py --list-categories
Se non specifichi categorie o opzioni, systrace
genera un report che include tutte le categorie disponibili e utilizza le impostazioni predefinite. Le categorie disponibili dipendono dal dispositivo connesso in uso.
Opzioni globali
Opzioni globali | Descrizione |
---|---|
-h | --help |
Mostra il messaggio di aiuto. |
-l | --list-categories |
Elenca le categorie di tracciamento disponibili per il dispositivo connesso. |
Comandi e opzioni dei comandi
Comandi e opzioni | Descrizione |
---|---|
-o file |
Scrivi il report della traccia HTML nel file specificato. Se non specifichi questa opzione, systrace salva il report nella stessa directory di systrace.py e lo denomina trace.html .
|
-t N | --time=N |
Traccia l'attività del dispositivo per N secondi. Se non specifichi questa opzione, systrace ti chiede di terminare la traccia premendo il tasto Invio dalla riga di comando.
|
-b N | --buf-size=N |
Utilizza una dimensione del buffer di traccia di N kilobyte. Questa opzione consente di limitare la dimensione totale dei dati raccolti durante una traccia. |
-k functions |
Monitora l'attività di funzioni specifiche del kernel, specificate in un elenco separato da virgole. |
-a app-name |
Abilita il tracciamento per le app, specificate come elenco separato da virgole di nomi di processi.
Le app devono contenere chiamate di strumentazione di tracciamento dalla
classe Trace . Devi specificare questa opzione ogni volta che profila la tua app. Molte librerie, come RecyclerView , includono chiamate di strumentazione di tracciamento che forniscono informazioni utili quando attivi il tracciamento a livello di app. Per saperne di più, consulta Definire gli eventi personalizzati.
Per tracciare tutte le app su un dispositivo con Android 9 (livello API 28) o versioni successive, inserisci il carattere jolly |
--from-file=file-path |
Crea un report HTML interattivo da un file, ad esempio file TXT che includono dati di traccia non elaborati, anziché eseguire una traccia in tempo reale. |
-e device-serial |
Esegui la traccia su un dispositivo connesso specifico, identificato dal numero di serie del dispositivo. |
categories |
Includi informazioni di tracciamento per i processi di sistema specificati, ad esempio gfx per i processi di sistema che eseguono il rendering degli elementi grafici. Puoi eseguire systrace con il comando -l per visualizzare un elenco dei servizi disponibili per il dispositivo connesso.
|
Consigliato per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Acquisire una traccia del sistema su un dispositivo