Capturar rastros com o Winscope

Execute o Winscope localmente ou acesse-o em um servidor da Web.

É possível capturar rastros usando o Winscope para desenvolvimento e depuração locais. O Winscope usa o adb, que oferece suporte à conexão do dispositivo por USB ou Wi-Fi.

A tela Collect Traces é exibida ao iniciar o Winscope.

Conexão do dispositivo

É possível conectar dispositivos no Winscope usando o Proxy do Winscope ou o Proxy do dispositivo da Web. Por padrão, a página inicial do Winscope mostra a IU de configuração de conexão do Winscope Proxy.

Para começar a capturar rastros, escolha um dos seguintes mecanismos de conexão de dispositivo.

Configuração do proxy do Winscope

Siga estas etapas para configurar o Proxy do Winscope:

  1. Em Collect Traces na página inicial, escolha Winscope Proxy no menu suspenso Select connection type:

    Capturar rastros usando o proxy do Winscope

    Figura 1. Capture rastros usando o Proxy do Winscope.

  2. Inicie o proxy do ADB Connect do Winscope para capturar rastros diretamente do navegador executando o seguinte comando:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  3. Observe o token de proxy do Winscope exibido no terminal após a execução.

  4. Depois de iniciar o proxy do ADB Connect do Winscope, a tela muda da seguinte forma. Para estabelecer a conexão inicial com o proxy, insira o token do proxy do Winscope da etapa 3 e clique em Conectar.

    Conectar-se ao proxy do Winscope

    Figura 2. Conecte-se ao proxy do Winscope.

Configuração do proxy do dispositivo da Web

Siga estas etapas para configurar o proxy de dispositivo da Web:

  1. Em Collect Traces na página inicial, escolha Web Device Proxy no menu suspenso Select connection type:

    Capturar rastros usando o proxy de dispositivo da Web

    Figura 3. Capture rastros usando o proxy de dispositivo da Web.

  2. Se você não tiver o daemon do proxy do dispositivo da Web na sua máquina, clique em Install ou execute o instalador.

  3. Aprovar o acesso de origem ao Proxy de dispositivo da Web pela caixa de diálogo.

    Autorizar o acesso WDP da origem

    Figura 4. Autorizar a origem.

  4. Aprovar o acesso a cada novo dispositivo na primeira vez que você se conectar a ele. Se a caixa de diálogo não aparecer automaticamente, clique no ícone lock_open ao lado do dispositivo:

    wdp_unauth_device

    Figura 5. Autorizar o dispositivo.

Rastreamentos

Siga estas etapas para coletar rastros:

  1. Quando conectado, para iniciar o processo de captura, selecione os alvos e configure as configurações. Em seguida, clique em Iniciar trace para começar a captura:

    Coletar rastros no Winscope

    Figura 6. Coletar rastros no Winscope.

  2. Para interromper a captura, clique em Encerrar rastreamento:

    Finalizar o rastreamento no Winscope

    Figura 7. Encerrar o rastreamento no Winscope.

Opções de rastreamento

Esta seção descreve as opções para cada tipo de rastreamento.

Gravação de tela

Com o Winscope, você pode gravar a tela de várias telas. Escolha uma tela no menu para gravar a tela. Se você não fizer uma seleção, o Winscope vai gravar a tela ativa por padrão.

SurfaceFlinger

  • Tamanho do buffer:ajusta o tamanho do buffer do anel na memória para o traço do SurfaceFlinger. Um buffer maior permite a coleta de mais dados, mas aumenta o uso da memória.

  • Entrada:se a plataforma contém dados de entrada, rastreia as especificidades da janela de entrada.

  • Composição:rastreia o tipo de composição e a região visível.

  • Metadados:rastreia metadados de superfície adicionais, incluindo camadas fora da tela.

  • HWC:rastreia outros metadados não estruturados do compositor de hardware.

  • Trace buffers:configura o SurfaceFlinger para rastrear todas as mudanças de buffer na superfície. Por padrão, o SurfaceFlinger rastreia um novo estado somente quando a geometria é alterada.

  • Exibições virtuais:inclui camadas de exibição virtuais no trace.

WindowManager

  • Tamanho do buffer:ajusta o tamanho do buffer do anel na memória para o rastreamento do WindowManager. Um buffer maior permite a coleta de mais dados, mas aumenta o uso da memória.
  • Tipo de rastreamento:define as opções de frequência para coletar estados:

    • frame:nesse modo, o WindowManager descarta um único estado por frame, garantindo que apenas estados válidos do WindowManager sejam capturados. Esse modo tem a menor sobrecarga de desempenho.
    • transaction:esse modo registra um estado do WindowManager sempre que uma transação é confirmada. É possível confirmar várias transações em um frame, o que permite depurar estados intermediários do WindowManager durante um frame. No entanto, esse modo tem uma sobrecarga de desempenho maior em comparação com o modo de frame.
  • Nível de rastreamento:determina o nível de verbosidade dos rastros do WindowManager:

    • verbose:inclui todas as janelas e informações de configuração de cada janela. Esse modo tem o maior overhead de memória e desempenho.
    • depurar:inclui informações sobre todas as janelas, mas registra apenas a configuração da janela se ela contiver uma configuração de substituição solicitada.
    • Crítico:inclui as mesmas informações do modo de depuração, mas apenas janelas visíveis. Esse modo tem a menor sobrecarga de memória e desempenho.

Despejos

Para fazer um despejo de estado usando o Winscope, em Collect Traces na página inicial, selecione a guia Dump e clique em Dump state:

Estado de despejo no Winscope

Figura 8. Estado de despejo no Winscope.

Configuração de captura de tela

O Winscope permite fazer uma captura de tela de várias telas. Escolha uma tela do menu para fazer uma captura de tela. Se nenhuma seleção for feita, uma captura de tela será coletada para a tela ativa.