Compartilhar via


Criar rastreamentos de desempenho do lado do cliente

Há muitas razões pelas quais o desempenho do Azure Remote Rendering, talvez não seja tão bom quanto o desejado. Além do desempenho de renderização puro no servidor de nuvem, especialmente a qualidade da conexão de rede tem uma influência significativa sobre a experiência. Para criar o perfil do desempenho do servidor, confira o capítulo Consultas de desempenho do lado do servidor.

Este capítulo se concentra em como identificar possíveis gargalos do lado do cliente por meio do performance traces.

Introdução

Caso não esteja familiarizado com a funcionalidade do Windows performance tracing, esta seção menciona os termos e os aplicativos mais importantes para você começar.

Instalação

Os aplicativos usados para fazer o rastreamento com o ARR (Azure Remote Rendering) são ferramentas de uso geral que podem ser usados para todo o desenvolvimento do Windows. Eles são fornecidos por meio do Kit de ferramentas de desempenho do Windows. Para obter esse kit de ferramentas, baixe o Kit de Avaliação e Implantação do Windows.

Terminologia

Um intervalo de termos é importante ao falar sobre rastreamentos de desempenho. Os mais importantes são:

  • ETW (Rastreamento de Eventos para Windows)
    ETW é simplesmente o nome abrangente para o recurso de rastreamento eficiente no nível do kernel incorporado ao Windows. Os aplicativos que dão suporte ao ETW emitem eventos para ações de log que podem ajudar a rastrear problemas de desempenho, daí o nome de rastreamento de eventos. Por padrão, o sistema operacional já emite eventos para itens como acessos a disco, opções de tarefas etc. Aplicativos como o ARR também emitem eventos personalizados, por exemplo, sobre quadros descartados, retardo de rede etc.

  • ETL (Extração, Transformação e Carregamento)
    O ETL descreve um rastreamento coletado (registrado) e, portanto, normalmente é usado como a extensão de arquivo para arquivos que armazenam os dados de rastreamento. Assim, ao fazer um rastreamento, em geral você recebe um arquivo *.etl posteriormente.

  • WPR (Gravador de Desempenho do Windows)
    WPR é o nome do aplicativo que inicia e interrompe a gravação de rastreamento de eventos. O WPR usa um arquivo de perfil (*.wprp) que configura quais eventos exatos registrar. Esse arquivo wprp é fornecido com o SDK do ARR. Ao fazer rastreamentos em um PC desktop, é possível iniciar o WPR diretamente. Ao fazer um rastreamento no HoloLens, você normalmente passa pela interface da Web.

  • WPA (Analisador de Desempenho do Windows)
    WPA é o nome do aplicativo GUI usado para abrir arquivos *.etl e examinar os dados para identificar problemas de desempenho. O WPA permite que você classifique dados por vários critérios, exiba os dados de várias maneiras, aprofunde-se em detalhes e correlacione informações.

  • Perfetto
    OPerfetto é uma ferramenta de criação de perfil de sistema e de rastreamento de aplicativos para Android e Linux, que está disponível desde o Android 9 Pie. O Perfetto também está habilitado em dispositivos Meta Quest e Quest 2 (quando o modo de desenvolvedor está habilitado), desde o sistema operacional v27. A interface do usuário do Visualizador de Rastreamento do Perfetto pode ser usada para abrir e analisar os rastreamentos resultantes do Perfetto.

Embora os rastreamentos de ETL possam ser criados em qualquer dispositivo Windows (PC local, HoloLens, servidor de nuvem etc.), eles são normalmente salvos em disco e analisados com WPA em um PC desktop. Os arquivos ETL podem ser enviados a outros desenvolvedores para que eles deem uma olhada. Os rastreamentos de ETL podem incluir informações confidenciais, como caminhos de arquivo e endereços IP. Você pode usar o ETW de duas maneiras: para gravar rastreamentos ou para analisar rastreamentos. A gravação de rastreamentos é direta e requer configuração mínima. A análise de rastreamentos, por outro lado, requer uma compreensão razoável da ferramenta do WPA e do problema que está investigando. O material geral para o aprendizado do WPA é oferecido posteriormente, além das diretrizes sobre como interpretar rastreamentos específicos do ARR.

Como gravar um rastreamento em um PC local

Use rastreamentos no computador para se familiarizar com as ferramentas ou caso tenha um problema em que as restrições de hardware do HoloLens não sejam relevantes. Caso contrário, você poderá pular para a Gravação de um rastreamento em uma seção do HoloLens. Especialmente, os problemas de desempenho do ARR só devem ser rastreados diretamente em um HoloLens.

Configuração do WPR

  1. Inicie o Windows Performance Recorder no menu iniciar.
  2. Expandir Mais Opções.
  3. Selecione Adicionar Perfis....
  4. Selecione o arquivo AzureRemoteRenderingNetworkProfiling.wprp. Você pode encontrar esse arquivo no SDK do ARR em Tools/ETLProfiles. O perfil é listado no WPR em Medidas personalizadas. Verifique se ele é o único perfil habilitado.
  5. Expandir a Triagem de primeiro nível.
    • Se tudo o que você deseja fazer é capturar um rastreamento rápido dos eventos de rede do ARR, desabilite essa opção.
    • Se você precisar correlacionar eventos de rede ARR com outras características do sistema, como uso de CPU ou memória, habilite essa opção.
    • Os rastreamentos com essa opção habilitada provavelmente têm vários gigabytes de tamanho e podem levar muito tempo para serem salvos e abertos no WPA.

Depois, a configuração do WPR deve ter esta aparência:

Screenshot of the Windows Performance Recorder with a selected AzureRemoteRenderingNetworkProfiling profile.

Gravação

Selecione Iniciar para iniciar a gravação de um rastreamento. Inicie e pare a gravação a qualquer momento, não é preciso fechar o aplicativo primeiro. Como é possível visualizar, não é necessário especificar qual aplicativo rastrear, uma vez que o ETW sempre registra um rastreamento para todo o sistema. O arquivo wprp especifica quais tipos de eventos registrar.

Selecione Salvar para interromper a gravação e especificar em que local armazenar o arquivo ETL.

Agora você tem um arquivo ETL que pode ser aberto no WPA.

Como gravar um rastreamento em um HoloLens

Para gravar um rastreamento em um HoloLens, inicialize o dispositivo e insira seu endereço IP em um navegador para abrir o Portal do Dispositivo.

Screenshot of the Performance Tracing webpage in the HoloLens Device Portal.

  1. À esquerda, navegue até Desempenho > Rastreamento de Desempenho.
  2. Selecionar Perfis personalizados.
  3. Selecione Browse....
  4. Selecione o arquivo AzureRemoteRenderingNetworkProfiling.wprp. Você pode encontrar esse arquivo no SDK do ARR em Tools/ETLProfiles.
  5. Selecione Iniciar rastreamento.
  6. O HoloLens agora está gravando um rastreamento. Dispare os problemas de desempenho que você deseja investigar. Em seguida, selecione Parar rastreamento.
  7. O rastreamento é então listado na parte inferior da página da Web. Para fazer download do arquivo ETL, selecione o ícone de disco no lado direito.

Agora você tem um arquivo ETL que pode ser aberto no WPA.

Gravar um rastreamento em um dispositivo Meta Quest

Para registrar um rastreamento em um Quest, você precisará da ferramenta de linha de comando do adb.

  1. Verifique se o modo de desenvolvedor está habilitado no Quest.
  2. Garanta que adb esteja autorizado a acessar seu dispositivo executando adb devices e verificando se o dispositivo está listado.
  3. Localize o arquivo de configuração de rastreamento, arquivo AzureRemoteRenderingPerfetto.txt do SDK do ARR em Ferramentas/ETLProfiles.
    • Por padrão, a configuração de rastreamento é definida para ser executada por 30 segundos. Essa configuração pode ser modificada editando o valor duration_ms: 30000 no arquivo AzureRemoteRenderingPerfetto.txt.
  4. No PowerShell, execute $config = cat "AzureRemoteRenderingPerfetto.txt" | adb shell perfetto -c - $config --txt --o "/data/misc/perfetto-traces/trace".
  5. Você deverá visualizar uma saída semelhante a esta linha.
    [522.149] perfetto_cmd.cc:825     Connected to the Perfetto traced service, TTL: 30s
    
  6. O dispositivo Quest agora está gravando um rastreamento. Inicie seu aplicativo e dispare o problema a ser investigado.
  7. Ao concluir a gravação de rastreamento, você deverá visualizar uma saída semelhante a essa linha.
    [552.637] perfetto_cmd.cc:946     Trace written into the output file
    
  8. Por fim, é possível efetuar pull do arquivo do dispositivo executando adb pull "/data/misc/perfetto-traces/trace" "outputTrace.pftrace".

Agora você tem um arquivo de rastreamento do Perfetto que pode ser aberto na interface do usuário do Visualizador de Rastreamento do Perfetto.

Como analisar rastreamentos com WPA

Noções básicas de WPA

O Windows Performance Analyzer é a ferramenta padrão para abrir arquivos ETL e inspecionar os rastreamentos. Uma explicação de como o WPA funciona está fora do escopo deste artigo. Para começar, observe estes recursos:

  • Assista aos vídeos introdutórios para obter uma primeira visão geral.
  • Examine o guia Introdução no próprio WPA, que explica as etapas comuns. Observe os artigos disponíveis. Especialmente em "Exibir Dados", você obtém uma breve introdução sobre como criar grafos para dados específicos.
  • Informações excelentes estão disponíveis para consulta neste site, porém, nem todas são relevantes para iniciantes.

Como criar um gráfico dos dados

Para começar a usar o rastreamento do ARR, é bom saber os pontos a seguir.

Screenshot of an example graph in the Windows Performance Analyzer tool.

A imagem mostra uma tabela de dados de rastreamento e uma representação de grafo dos mesmos dados.

Na tabela na parte inferior, observe a barra amarela (ouro) e a barra azul. Você pode arrastar essas barras e colocá-las em qualquer posição.

Todas as colunas à esquerda da barra amarela são interpretadas como chaves. As chaves são usadas para estruturar a árvore na janela superior esquerda. Aqui, temos duas colunas de chave, “Nome do Provedor” e “Nome da Tarefa.” Portanto, a estrutura de árvore na janela superior esquerda tem dois níveis de profundidade. Se você reordenar as colunas ou adicionar ou remover colunas da área de chave, a estrutura no modo de exibição de árvore será alterada.

As colunas à direita da barra azul são usadas para a exibição do grafo na janela superior direita. Na maioria das vezes, apenas a primeira coluna é usada, mas alguns modos de grafo exigem várias colunas de dados. Para que os grafos de linha funcionem, o modo de agregação nessa coluna deve ser definido. Use 'Avg' ou 'Max.' O modo de agregação é usado para determinar o valor do grafo em um dado pixel quando um pixel cobre um intervalo com vários eventos. Esta propriedade pode ser observada configurando a agregação para 'Sum' e, depois, ampliando e reduzindo o zoom.

As colunas no meio não têm nenhum significado especial.

Screenshot of the Generic Events View Editor in the Windows Performance Analyzer tool.

No Editor de Exibição de Eventos Genéricos, você pode configurar todas as colunas a serem exibidas, o modo de agregação, classificação e quais colunas são usadas como chaves ou para o gráfico. Na imagem de exemplo, o Campo 2 está habilitado e os campos 3 a 6 estão desabilitados. O campo 2 normalmente é o primeiro campo de dados personalizado de um evento ETW, portanto, para eventos "FrameStatistics" ARR, que representam algum valor de latência de rede. Habilite outras colunas de "Campo" para ver outros valores desse evento.

Predefinições

Para analisar corretamente um rastreamento, é necessário descobrir seu fluxo de trabalho e a exibição de dados preferenciais. No entanto, para poder obter uma visão geral rápida sobre os eventos específicos do ARR, incluímos o perfil da Plataforma de Proteção de Software do Windows e predefinimos os arquivos na pasta Tools/ETLProfiles. Para carregar um perfil completo, selecione Perfis > Aplicar... na barra de menus do WPA ou abra o painel Minhas Predefinições (Janela > Minhas Predefinições) e selecione Importar. O primeiro define uma configuração WPA completa como na imagem abaixo deste parágrafo. O último faz apenas as predefinições para as várias configurações de exibição disponíveis e permite que você abra rapidamente uma exibição para examinar uma parte específica dos dados de evento ARR.

Screenshot of the Windows Performance Analyzer tool with the ARR presets applied.

A imagem mostra exibições de vários eventos específicos do ARR, além de uma exibição da utilização geral da CPU.

Próximas etapas