Acquisisci tracce con Winscope

Esegui Winscope localmente o accedi tramite un server web.

Puoi acquisire tracce utilizzando Winscope per lo sviluppo e il debug locali. Winscope utilizza adb, che supporta la connessione del dispositivo tramite USB o Wi-Fi.

Quando avvii Winscope, viene visualizzata la schermata Collect Traces (Raccogli tracce).

Connessione dispositivo

Puoi connettere i dispositivi in Winscope utilizzando Winscope Proxy o Web Device Proxy. Per impostazione predefinita, la home page di Winscope mostra l'interfaccia utente di configurazione della connessione Winscope Proxy.

Per iniziare ad acquisire le tracce, scegli uno dei seguenti meccanismi di connessione del dispositivo.

Configurazione di Winscope Proxy

Per configurare Winscope Proxy:

  1. Nella sezione Collect Traces (Raccogli tracce) della home page, seleziona Winscope Proxy dal menu Select connection type (Seleziona tipo di connessione):

    Acquisire tracce utilizzando Winscope Proxy

    Figura 1. Acquisisci tracce utilizzando Winscope Proxy.

  2. Avvia il proxy Winscope ADB Connect per acquisire le tracce direttamente dal browser eseguendo il seguente comando:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  3. Prendi nota del token proxy di Winscope visualizzato nel terminale dopo l'esecuzione.

  4. Dopo aver avviato il proxy Winscope ADB Connect, la schermata cambia come segue. Per stabilire la connessione iniziale al proxy, inserisci il token proxy di Winscope del passaggio 3 e fai clic su Connect (Connetti).

    Connettiti al proxy Winscope

    Figura 2. Connettiti a Winscope Proxy.

Configurazione di Web Device Proxy

Per configurare Web Device Proxy:

  1. Nella sezione Collect Traces (Raccogli tracce) della home page, seleziona Web Device Proxy dal menu Select connection type (Seleziona tipo di connessione):

    Acquisire tracce utilizzando il proxy del dispositivo web

    Figura 3. Acquisisci tracce utilizzando Web Device Proxy.

  2. Se non hai il daemon Web Device Proxy sulla tua macchina, fai clic su Install o esegui il programma di installazione.

  3. Approva l'accesso all'origine a Web Device Proxy tramite la finestra di dialogo.

    Autorizza l'accesso WDP all'origine

    Figura 4. Autorizza l'origine.

  4. Approva l'accesso per ogni nuovo dispositivo la prima volta che ti connetti al dispositivo. Se la finestra di dialogo non viene visualizzata automaticamente, fai clic sull'icona lock_open accanto al dispositivo:

    wdp_unauth_device

    Figura 5. Autorizza il dispositivo.

Tracce

Per raccogliere le tracce:

  1. Una volta connesso, per avviare la procedura di acquisizione, seleziona le destinazioni e configura le impostazioni. Quindi, fai clic su Start trace (Avvia traccia) per iniziare l'acquisizione:

    Raccogliere tracce in Winscope

    Figura 6. Raccogli le tracce in Winscope.

  2. Per interrompere l'acquisizione, fai clic su End trace (Termina traccia):

    Terminare la traccia in Winscope

    Figura 7. Termina la traccia in Winscope.

Opzioni di traccia

Questa sezione descrive le opzioni per ogni tipo di traccia.

Registrazione dello schermo

Con Winscope, puoi registrare lo schermo di più display. Scegli un display dal menu per registrare lo schermo. Se non effettui una selezione, Winscope registra il display attivo per impostazione predefinita.

SurfaceFlinger

  • Buffer size (Dimensioni buffer): regola le dimensioni del buffer circolare in memoria per la traccia SurfaceFlinger. Un buffer più grande consente di raccogliere più dati, ma aumenta la memoria utilizzata.

  • Input: se la superficie contiene dati di input, monitora i dettagli della finestra di input.

  • Composition (Composizione): monitora il tipo di composizione e la regione visibile.

  • Metadata (Metadati): monitora i metadati di superficie aggiuntivi, inclusi i livelli fuori schermo.

  • HWC: monitora i metadati aggiuntivi non strutturati del compositore hardware.

  • Trace buffers (Buffer di traccia): configura SurfaceFlinger per monitorare tutte le modifiche del buffer sulla superficie. Per impostazione predefinita, SurfaceFlinger monitora un nuovo stato solo quando la geometria viene modificata.

  • Virtual displays (Display virtuali): include i livelli di display virtuali nella traccia.

WindowManager

  • Buffer size (Dimensioni buffer): regola le dimensioni del buffer circolare in memoria per la traccia WindowManager. Un buffer più grande consente di raccogliere più dati, ma aumenta la memoria utilizzata.
  • Tracing type (Tipo di monitoraggio): definisce le opzioni di frequenza per la raccolta degli stati:

    • frame: in questa modalità, WindowManager esegue il dump di un singolo stato per frame, assicurandosi che vengano acquisiti solo gli stati WindowManager validi. Questa modalità ha l'overhead di rendimento più basso.
    • transaction: questa modalità registra uno stato WindowManager ogni volta che viene eseguito il commit di una transazione. Puoi eseguire il commit di più transazioni all'interno di un frame, il che consente di eseguire il debug degli stati WindowManager intermedi durante un frame. Tuttavia, questa modalità ha un overhead di rendimento più elevato rispetto alla modalità frame.
  • Tracing level (Livello di monitoraggio): determina la verbosità delle tracce WindowManager:

    • verbose: include tutte le finestre e le informazioni di configurazione per ogni finestra. Questa modalità ha l'overhead di memoria e rendimento più elevato.
    • debug: include informazioni su tutte le finestre, ma registra solo la configurazione della finestra se contiene una configurazione di override richiesta.
    • critical: include le stesse informazioni della modalità Debug, ma include solo le finestre visibili. Questa modalità ha l'overhead di memoria e rendimento più basso.

Dump

Per eseguire un dump dello stato utilizzando Winscope, nella sezione Collect Traces (Raccogli tracce) della home page seleziona la scheda Dump e poi fai clic su Dump state (Dump dello stato):

Dump dello stato in Winscope

Figura 8. Esegui il dump dello stato in Winscope.

Configurazione dello screenshot

Winscope consente di acquisire uno screenshot per più display. Scegli un display dal menu per acquisire uno screenshot. Se non viene effettuata alcuna selezione, viene raccolto uno screenshot per il display attivo.