Partilhar via


Analisar os dados de Temporização de Função JavaScript em aplicativos da Store

Aplica-se somente ao Windows

Este tópico descreve os dados de desempenho do código JavaScript, apresentado nas exibições de relatório da ferramenta Temporização de Função JavaScript no hub de Desempenho e Diagnóstico. Para coletar dados da temporização de função JavaScript, veja um destes tópicos:

Neste tópico

Abrir um arquivo de relatório de criação de perfil

Tipos de dados de criação de perfil

Tipos de visualizações de relatório de criação de perfil

Visualizações de relatório de criação de perfil

  • Exibição resumida

  • Visualização Detalhes da Função

  • Visualização Árvore de Chamadas

  • Visualização Chamador/Receptor

  • Visualizações Módulos e Funções

Personalizando visualizações de grade de dados

Abrir um arquivo de relatório de criação de perfil

Quando você interrompe a criação de um perfil no IDE do Visual Studio, os dados de desempenho são exibidos automaticamente em um documento.

Para abrir um arquivo de relatório de criação de perfil (.vspx) que foi gerado pela ferramenta de linha de comando VSPerf ou que foi salvo após uma criação de perfil anterior, faça o seguinte:

  1. Se necessário, abra o Visual Studio.

  2. No menu Arquivo, escolha Abrir Arquivo.

  3. Na caixa de diálogo Abrir Arquivo, navegue até a pasta que contém o arquivo de relatório de criação de perfil e escolha esse arquivo.

Tipos de dados de criação de perfil

Os dados de criação de perfil para uma função incluem: tempo total, médio, mínimo e máximo; e porcentagens. Os dados são calculados para dois conjuntos de valores de controle de tempo:

  • Os valores de Inclusivo Decorrido são a quantidade total de tempo que uma função levou para ser executada.

  • Os valores deExclusivo Decorrido são a quantidade de tempo que uma função gastou executando apenas seu próprio código. Os valores não incluem o tempo gasto em funções filho.

Tipos de visualizações de relatório de criação de perfil

As visualizações de relatório de criação de perfil exibem dados de duas maneiras:

  • Visualizações de gráfico de chamadas mostram informações sobre funções no contexto de caminhos de execução. A árvore de Afunilamento na janela de resumo mostra o caminho de execução em que o aplicativo passou cumulativamente a maior parte do tempo durante a criação do perfil. A visualização Árvore de Chamadas é um gráfico de chamadas para todas as funções na criação do perfil. As visualizações Detalhes da Função e Chamador/Receptor enfocam uma função selecionada, exibindo as funções que chamaram a função selecionada e as funções que ela chamou. As visualizações de gráfico de chamadas ajudam a localizar problemas de desempenho nos algoritmos.

  • Visualizações de lista de funções classificam e listam funções de acordo com uma coluna de dados selecionada. A lista Funções com Mais Trabalho Individual na página de resumo mostra as funções que passaram a maior parte do tempo executando seu próprio código, excluindo o tempo em que a função ficou chamando funções filho. A visualização Módulos agrupa funções pelo arquivo de origem, no caso do código JavaScript, e por módulo, no caso das outras linguagens. A visualização Funções é uma lista única de funções.

Visualizações de relatório de criação de perfil

Exibição resumida

A página de resumo oferece duas visualizações dos dados de criação de perfil que geralmente podem indicar os melhores candidatos para a otimização do desempenho.

  • A árvore de Afunilamento mostra a pilha de chamadas em que o aplicativo passou cumulativamente a maior parte do tempo durante a criação do perfil. Entender a razão por que esse algoritmo consome tanto tempo pode levar a uma otimização.

  • A lista Funções com Mais Trabalho Individual apresenta as dez funções que gastaram o maior tempo exclusivo. Você pode obter ganhos de desempenho rápidos e significativos otimizando o código de função ou reduzindo o número de vezes que essas funções são chamadas.

Visualização Detalhes da Função

O gráfico de barras Distribuição de Custos representa as relações entre uma função que você seleciona e as funções que fazem chamadas e executaram a função selecionada, e entre a função selecionada e as funções que foram chamadas por ela.

  • A barra Funções de Chamada mostra as funções que chamaram a função selecionada. O tamanho de um bloco de função de chamada indica a porcentagem do tempo total de execução da função selecionada que foi causada pela função de chamada.

  • A barra Função Selecionada indica a quantidade relativa do tempo total de execução que a função selecionada gastou executando seu próprio código (o bloco Corpo da Função) e a quantidade de tempo gasto executando as funções chamadas pela função selecionada.

  • A barra Funções Chamadas mostra as funções que foram chamadas pela função selecionada. O tamanho de um bloco de função chamada indica a porcentagem do tempo total de execução da função chamada que foi gasta na função chamada.

Visualização Árvore de Chamadas

Você pode usar a visualização Árvore de Chamadas para explorar os caminhos de execução da função que foram percorridos em seu aplicativo. A raiz da árvore é o ponto de entrada no aplicativo. Cada nó da função lista todas as funções que ela chamou e os dados de desempenho sobre essas chamadas de função. Os valores de função na visualização Árvore de Chamadas são para as instâncias de função que foram chamadas pela função pai na árvore de chamadas. Os valores de porcentagem são a proporção entre o valor do tempo das instâncias da função e o tempo total de execução da criação de perfil.

Para focalizar um nó da visualização Árvore de Chamadas, selecione o nó e escolha Definir Raiz no menu de atalho. Ao definir o nó raiz, você elimina todas as outras entradas da visualização exceto a subárvore do nó selecionado. Para redefinir o nó raiz de volta como sendo o nó original, escolha Redefinir Raiz no menu de atalho.

Colunas da exibição Árvore de Chamadas

Nome da coluna

Descrição

Número de Chamadas

O número de chamadas feitas à função pela função pai na árvore de chamadas.

% de Tempo Inclusivo Decorrido

A porcentagem total do tempo de execução gasto na execução dessa função.

% de Tempo Exclusivo Decorrido

A porcentagem total do tempo de execução gasto na execução do corpo de uma função. Exclui o tempo gasto nas funções chamadas pela função.

Tempo Inclusivo Decorrido Médio

O tempo médio gasto na execução dessa função.

Tempo Exclusivo Decorrido Médio

O tempo médio gasto na execução dessa função. Exclui o tempo gasto nas funções chamadas pela função.

Nome do Módulo

Para funções em JavaScript, o nome do arquivo de origem que contém a função. Caso contrário, o nome do módulo (.dll ou .exe) que contém a função.

Visualização Chamador/Receptor

A visualização Chamador/Receptor é uma representação em árvore dos dados no gráfico de barras Distribuição de Custos dos Detalhes da Função da exibição resumida que inclui todos os detalhes de controle de tempo. Use essa visualização para investigar o relacionamento entre uma função selecionada e as funções que a chamaram e a função que ela chamou. A visualização Chamador/Receptor é composta de três grades.

A Função atual que aparece na grade do meio exibe informações de criação de perfil sobre a função selecionada. Os valores incluem todas as chamadas feitas à função. As Funções que chamaram a função atual aparecem na grade superior e as Funções que foram chamadas pela função atual aparecem na grade inferior. Os valores da função atual são os totais de todas as chamadas feitas à função. Os valores das funções chamadas e das funções de chamada incluem apenas o tempo gasto sendo chamada pela função selecionada ou chamando-a.

Para navegar pelas árvores de chamadas de uma função, clique duas vezes em uma função chamada ou uma função de chamada. A função em que você clica duas vezes torna-se a nova função selecionada. As respectivas funções chamadas e funções de chamada agora estão visíveis.

Colunas da exibição Chamador/Receptor

Nome da coluna

Descrição

Número de Chamadas

  • Para a função selecionada, o número total de chamadas feitas à função na criação do perfil.

  • Para uma função de chamada, o número de chamadas feitas à função selecionada pela função de chamada.

  • Para uma função chamada, o número de chamadas feitas à função chamada pela função selecionada.

% de Tempo Inclusivo Decorrido

  • Para a função selecionada, a porcentagem do tempo total de execução da criação do perfil que foi consumida pela função selecionada. O valor inclui o tempo gasto nas funções que foram chamadas pela função selecionada.

  • Para uma função de chamada, a porcentagem do tempo total de execução da criação do perfil que foi consumida por instâncias da função de chamada que chamaram a função selecionada.

  • Para uma função chamada, a porcentagem do tempo total de execução da criação do perfil que foi consumida por instâncias da função chamada que foram chamadas pela função selecionada.

% de Tempo Exclusivo Decorrido

  • Para a função selecionada, a porcentagem do tempo total de execução da criação do perfil que foi consumida pela função selecionada. O valor exclui o tempo gasto nas funções que foram chamadas pela função selecionada.

  • Para uma função de chamada, a porcentagem do tempo total de execução da criação do perfil que foi consumida por instâncias da função de chamada que chamaram a função selecionada, incluindo o tempo gasto nas funções chamadas pela função de chamada.

  • Para uma função chamada, a porcentagem do tempo total de execução da criação do perfil que foi consumida por instâncias da função chamada que foram chamadas pela função selecionada, incluindo o tempo gasto nas funções que foram chamadas pela função chamada.

Tempo Inclusivo Decorrido Médio

  • Para a função selecionada, o tempo médio de todas as instâncias da função selecionada.

  • Para uma função de chamada, o tempo médio de todas as instâncias da função de chamada que chamaram a função selecionada.

  • Para uma função chamada, o tempo médio de todas as instâncias da função chamada que foram chamadas pela função selecionada.

Tempo Exclusivo Decorrido Médio

  • Para a função selecionada, o tempo médio de todas as instâncias da função selecionada. O valor exclui o tempo gasto nas funções que foram chamadas pela função selecionada.

  • Para uma função de chamada, o tempo médio de todas as instâncias da função de chamada que chamaram a função selecionada, excluindo o tempo gasto nas funções chamadas pela função de chamada.

  • Para uma função chamada, o tempo médio de todas as instâncias da função chamada que foram chamadas pela função selecionada, excluindo o tempo gasto nas funções chamadas pela função chamada.

Nome do Módulo

Para funções em JavaScript, o nome do arquivo de origem que contém a função. Caso contrário, o nome do módulo (.dll ou .exe) que contém a função.

Visualizações Módulos e Funções

As visualizações Módulos e Funções exibem os detalhes dos dados de criação de perfil para as funções no relatório de criação de perfil. A visualização Módulos organiza as funções JavaScript pelo arquivo de origem .js que as contém. Outras funções são listadas pelo módulo, como uma .dll. A visualização Funções lista todas as funções sem usar uma hierarquia. Geralmente é mais fácil localizar seu próprio código na visualização Módulos do que na visualização Funções, mas talvez seja mais fácil comparar funções na visualização Funções.

Colunas das exibições Módulos e Funções

Nome da coluna

Descrição

Número de Chamadas

O número de chamadas feitas à função.

% de Tempo Inclusivo Decorrido

A porcentagem do tempo total de execução da criação do perfil que foi gasta executando a função.

% de Tempo Exclusivo Decorrido

A porcentagem do tempo total de execução que foi gasta executando a função. O valor exclui o tempo gasto nas funções que foram chamadas pela função.

Tempo Inclusivo Decorrido Médio

O tempo médio de execução da função.

Tempo Exclusivo Decorrido Médio

O tempo médio de execução da função. O valor exclui o tempo gasto nas funções chamadas pela função.

Nome do Módulo

Para funções em JavaScript, o nome do arquivo de origem que contém a função. Caso contrário, o nome do módulo (.dll ou .exe) que contém a função.

Personalizando visualizações de grade de dados

Você pode adicionar ou remover colunas de dados e alterar a ordem em que as colunas são exibidas. Clique com o botão direito do mouse em uma linha de dados e escolha Adicionar/Remover Colunas.

Dica

Quando o método de instrumentação é usado para código gerenciado e nativo, informações adicionais sobre a execução do código são coletadas e apresentadas nos campos de controle de tempo Inclusivo do Aplicativo e Exclusivo do Aplicativo.Essas informações não estão disponíveis em JavaScript, de modo que os valores de Aplicativo são os mesmos de Decorrido.Não recomendamos adicionar esses campos a uma visualização.

Colunas de dados adicionais para criação de perfil

Nome da coluna

Descrição

Nome da Função

O nome da função.

Endereço da Função

O endereço da função.

Número da Linha da Função

O número de linha do início dessa função no arquivo de origem.

Número de Chamadas

O número total de chamadas que são feitas à função.

Arquivo de Origem

O arquivo de origem que contém a definição dessa função.

Nome do Módulo

O nome do módulo que contém a função.

Caminho do Módulo

O caminho do módulo que contém a função.

ID do Processo

A ID de processo (PID) da criação de perfil.

Nome do Processo

O nome do processo.

Sobrecarga de Investigação Exclusiva de Tempo

A sobrecarga de tempo para essa função que é causada pela instrumentação. Não inclui a sobrecarga nas funções que foram chamadas pela função. A sobrecarga de investigação foi subtraída de todos os tempos exclusivos.

Sobrecarga de Investigação Inclusiva de Tempo

A sobrecarga de tempo para essa função e as respectivas funções filho que é causada pela instrumentação. Inclui a sobrecarga nas funções que foram chamadas pela função. A sobrecarga de investigação foi subtraída de todos os tempos inclusivos.

Tempo Exclusivo Decorrido

O tempo exclusivo decorrido total de todas as chamadas feitas a essa função.

Tempo Exclusivo Decorrido Máximo

O tempo exclusivo decorrido máximo de uma chamada feita a essa função.

Tempo Exclusivo Decorrido Mínimo

O tempo exclusivo decorrido mínimo de uma chamada feita a essa função.

Tempo Inclusivo Decorrido

O tempo inclusivo decorrido total de todas as chamadas feitas a essa função.

Tempo Inclusivo Decorrido Máximo

O tempo inclusivo decorrido máximo de uma chamada feita a essa função.

Tempo Inclusivo Decorrido Mínimo

O tempo inclusivo decorrido mínimo de uma chamada feita a essa função.