Recuperare e analizzare i dati di profilazione

Questa pagina descrive come recuperare le tracce e visualizzarle nella UI di Perfetto.

Recuperare le tracce

Una volta registrato un profilo, le tracce vengono salvate sul tuo dispositivo. Prima di poter analizzare queste tracce, devi recuperarle.

Le posizioni di tracciamento sono fornite da ProfilingResult.getResultFilePath(). Per scoprire come ottenere la posizione della traccia, consulta Come acquisire un profilo. Una volta individuata la posizione della traccia, puoi caricarla su un server.

Test locale: recuperare le tracce utilizzando ADB

L'utilizzo di adb per ottenere le tracce è utile per controllare le prestazioni ed eseguire il debug in locale.

Le tracce modificate vengono salvate nei file del dispositivo. Un percorso tipico per un profilo salvato è:

/data/user/0/<app>/files/profiling/profile<tag><datetime>.perfetto-trace

Dove:

  • <app> è il nome dell'app.
  • <datetime> è la data e l'ora in cui è stata eseguita la traccia.
  • <tag> è il tag fornito dall'utente configurato utilizzando setTag

Se le tracce non modificate sono abilitate e salvate, utilizza il seguente comando adb per recuperarle dal dispositivo:

adb pull /data/misc/perfetto-traces/profiling/<trace-name>.perfetto-trace-unredacted

Visualizzare le tracce

Dopo aver recuperato la traccia sul computer, puoi visualizzarla nella UI di Perfetto.

Esempio di traccia oscurata
Figura 1.: Esempio di traccia oscurata.

In una traccia oscurata, la sezione OtherProcesses combina tutta l'attività della CPU di altri processi. La combinazione dei processi mantiene private le attività svolte dagli altri processi.

Tuttavia, visualizzare questa attività combinata della CPU ti consente comunque di verificare se il sistema era sovraccarico durante la registrazione. Il controllo dell'attività di sistema ti aiuta a capire se la tua app è lenta a causa di un problema interno o perché il sistema è generalmente lento.

L'immagine seguente evidenzia e descrive brevemente le parti principali che vedrai nella traccia:

Sezioni di una traccia
modificata
Figura 2. Sezioni di una traccia modificata.
  1. Elenco CPU: mostra tutti i processori disponibili sul dispositivo.
  2. Attività CPU: mostra quali thread sono stati eseguiti da ogni CPU.
  3. Visualizzazione Altri processi: mostra le risorse CPU utilizzate da altri processi.
  4. Visualizzazione processi: mostra il processo della tua app.
  5. Visualizzazione thread: mostra i thread in esecuzione all'interno del processo e i relativi stati (Runnable (R), Running (R), Sleeping (S), Uninterruptible Sleep (D)), che corrispondono direttamente agli stati del processo Linux.
  6. Sezioni di traccia: questa sezione mostra le annotazioni di traccia aggiunte dagli sviluppatori di app o dal framework. Queste annotazioni comprendono i calcoli tra Trace.beginSection e Trace.endSection.

Per ulteriori informazioni sull'interfaccia utente di Perfetto e sulla visualizzazione delle tracce, consulta la documentazione di Perfetto.