Partilhar via


Criar rastreios de desempenho do lado do cliente

Há muitas razões pelas quais o desempenho da Renderização Remota do Azure pode não ser tão bom quanto desejado. Além do desempenho de renderização puro no servidor em nuvem, especialmente a qualidade da conexão de rede tem uma influência significativa na experiência. Para criar o perfil de desempenho do servidor, consulte o capítulo Consultas de desempenho do lado do servidor.

Este capítulo concentra-se em como identificar potenciais gargalos do lado do cliente através de performance traces.

Introdução

Se você é novo na funcionalidade do Windows performance tracing , esta seção menciona os termos e aplicativos mais fundamentais para você começar.

Instalação

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

Terminologia

Uma gama de termos é importante quando se fala de rastreamentos de desempenho. Os mais importantes são:

  • Event Tcorrida para Windows (ETW)
    ETW é o nome abrangente para o eficiente recurso de rastreamento no nível do kernel que é incorporado ao Windows. Os aplicativos que suportam ETW emitem eventos para registrar ações que podem ajudar a rastrear problemas de desempenho, portanto, o rastreamento de eventos de nome. Por padrão, o sistema operacional já emite eventos para coisas como acessos ao disco, opções de tarefas e afins. Aplicativos como ARR também emitem eventos personalizados, por exemplo, sobre quadros caídos, atraso de rede, etc.

  • Event Traça Logging (ETL)
    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, quando você faz um rastreamento, normalmente tem um arquivo *.etl depois.

  • Windows Performance Recorder (WPR)
    WPR é o nome do aplicativo que inicia e interrompe a gravação de rastreamentos de eventos. O WPR usa um arquivo de perfil (*.wprp) que configura quais eventos exatos devem ser registrados. wprp Esse arquivo é fornecido com o ARR SDK. Ao fazer rastreamentos em um PC desktop, você pode iniciar o WPR diretamente. Ao fazer um rastreamento no HoloLens, você normalmente passa pela interface da web.

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

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

Embora os rastreamentos ETL possam ser criados em qualquer dispositivo Windows (PC local, HoloLens, servidor na nuvem, etc.), eles normalmente são salvos em disco e analisados com WPA em um PC desktop. Os arquivos ETL podem ser enviados para outros desenvolvedores para que eles possam dar uma olhada. Os rastreamentos ETL podem incluir informações confidenciais, como caminhos de arquivo e endereços IP. Você pode usar o ETW de duas maneiras: para registrar rastreamentos ou para analisar rastreamentos. A gravação de vestígios é simples e requer uma configuração mínima. Analisar vestígios, por outro lado, requer uma compreensão decente da ferramenta WPA e do problema que você está investigando. Material geral para aprender WPA é dado mais tarde, e orientações sobre como interpretar traços específicos de ARR.

Gravar um rastreio num PC local

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

Configuração do WPR

  1. Inicie o Windows Performance Recordermenu a partir do Iniciar.
  2. Expanda Mais opções.
  3. Selecione Adicionar perfis....
  4. Selecione o arquivo AzureRemoteRenderingNetworkProfiling.wprp. Você pode encontrar esse arquivo no ARR SDK em Tools/ETLProfiles. O perfil está listado no WPR em Medidas personalizadas. Certifique-se de que é o único perfil ativado.
  5. Expanda Triagem de primeiro nível.
    • Se tudo o que você deseja fazer é capturar um rastreamento rápido dos eventos de rede ARR, desative 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 esta opção ativada têm provavelmente vários gigabytes de tamanho e podem demorar muito tempo a guardar e abrir no WPA.

Depois disso, sua configuração WPR deve ter esta aparência:

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

A gravar

Selecione Iniciar para começar a gravar um rastreamento. Você pode iniciar e parar a gravação a qualquer momento; Não é necessário fechar a aplicação antes de o fazer. Como você pode ver, você não precisa especificar qual aplicativo rastrear, pois o ETW registra um rastreamento para todo o sistema. O wprp arquivo especifica quais tipos de eventos devem ser registrados.

Selecione Salvar para parar a gravação e especifique onde armazenar o arquivo ETL.

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

Gravando um traço em um HoloLens

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

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

  1. À esquerda, navegue até Rastreamento de desempenho de desempenho>.
  2. Selecione Perfis personalizados.
  3. Selecione Browse....
  4. Selecione o arquivo AzureRemoteRenderingNetworkProfiling.wprp. Você pode encontrar esse arquivo no ARR SDK em Tools/ETLProfiles.
  5. Selecione Iniciar rastreamento.
  6. O HoloLens está agora a registar um rasto. Certifique-se de acionar 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 baixar o arquivo ETL, selecione o ícone de disco no lado direito.

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

Gravando um rastreamento em um dispositivo Meta Quest

Para gravar um rastreamento em uma missão, você precisa da ferramenta de linha de comando adb.

  1. Certifique-se de que o modo de desenvolvedor está ativado na sua Missão.
  2. Certifique-se de que o adb está autorizado a aceder ao seu dispositivo executando adb devices e verificando se o dispositivo está listado.
  3. Localize o arquivo de configuração de rastreamento AzureRemoteRenderingPerfetto.txt arquivo do ARR SDK em Tools/ETLProfiles.
    • Por padrão, a configuração de rastreamento é configurada para ser executada por 30 segundos. Essa configuração pode ser modificada editando o duration_ms: 30000 valor em AzureRemoteRenderingPerfetto.txt arquivo.
  4. No PowerShell, execute $config = cat "AzureRemoteRenderingPerfetto.txt" | adb shell perfetto -c - $config --txt --o "/data/misc/perfetto-traces/trace".
  5. Você deve ver 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 vestígio. Inicie seu aplicativo e acione o problema que você deseja investigar.
  7. Quando a gravação de rastreamento estiver concluída, você verá uma saída semelhante a essa linha.
    [552.637] perfetto_cmd.cc:946     Trace written into the output file
    
  8. Finalmente, você pode extrair o arquivo do dispositivo executando adb pull "/data/misc/perfetto-traces/trace" "outputTrace.pftrace".

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

Analisando rastreamentos com WPA

Noções básicas do WPA

O Analisador de Desempenho do Windows é 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, consulte estes recursos:

  • Assista aos vídeos introdutórios para uma primeira visão geral.
  • Consulte a guia Introdução no próprio WPA, que explica as etapas comuns. Dê uma olhada nos artigos disponíveis. Especialmente em "Ver dados", você obtém uma rápida introdução sobre como criar gráficos para dados específicos.
  • Olhe através das excelentes informações neste site, no entanto, nem todas são relevantes para iniciantes.

Dados gráficos

Para começar a usar o rastreamento ARR, é bom saber as seguintes peças.

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

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

Na tabela na parte inferior, observe a barra amarela (dourada) 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 teclas. As teclas são usadas para estruturar a árvore na janela superior esquerda. Aqui temos duas colunas principais , "Nome do provedor" e "Nome da tarefa". Assim, a estrutura da árvore na janela superior esquerda tem dois níveis de profundidade. Se você reordenar as colunas ou adicionar ou remover colunas da área da chave, a estrutura na exibição em árvore será alterada.

As colunas à direita da barra azul são usadas para a exibição do gráfico na janela superior direita. Na maioria das vezes, apenas a primeira coluna é usada, mas alguns modos de gráfico exigem várias colunas de dados. Para que os gráficos de linhas funcionem, o modo de agregação nessa coluna deve ser definido. Use 'Média' ou 'Máx'. O modo de agregação é usado para determinar o valor do gráfico em um determinado pixel, quando um pixel cobre um intervalo com vários eventos. Esta propriedade pode ser observada definindo a agregação como 'Soma' e, em seguida, aumentando e diminuindo 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 para exibição, o modo de agregação, classificação e quais colunas são usadas como chaves ou para gráficos. Na imagem de exemplo, o Campo 2 está ativado e o Campo 3 - 6 está desativado. O campo 2 é normalmente o primeiro campo de dados personalizado de um evento ETW e, portanto, para eventos ARR "FrameStatistics", que representam algum valor de latência de rede. Habilite outras colunas "Campo" para ver mais valores desse evento.

Presets

Para analisar corretamente um rastreamento, você precisa descobrir seu próprio fluxo de trabalho e a exibição de dados preferida. No entanto, para 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 arquivos predefinidos na pasta Ferramentas/ETLProfiles. Para carregar um perfil completo, selecione Perfis Aplicar... na barra de menus WPA ou abra o painel Minhas predefinições (Janela > Minhas predefinições) e selecione Importar>. O primeiro configura uma configuração WPA completa, como na imagem abaixo deste parágrafo. Este último apenas disponibiliza predefinições para as várias configurações de visualização e permite-lhe abrir rapidamente uma vista para ver uma parte específica dos dados de eventos ARR.

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

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

Próximos passos