Noções básicas sobre valores de dados de instrumentação em ferramentas de criação de perfil
A instrumentação que analisa o método de Visual Studio registra informações de controle de tempo detalhado para as chamadas de função, as linhas, e as instruções no aplicativo analisado
Requisitos
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional
O método de instrumentação injeta código no início e o término das funções de destino em binário a análise, e antes e depois de cada chamada por essas funções para outras funções.O código SQL injetado registra o seguinte:
O intervalo entre esse evento da coleção e anterior.
Se o sistema operacional executou uma operação durante o intervalo.Por exemplo, o sistema operacional pode ler ou gravar no disco, ou para alternar entre o thread de destino e outro thread em outro processo.
Requisitos
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional
Para cada intervalo, análise do profiler recria a pilha de chamadas que se estava presente no final do intervalo.Uma pilha de chamadas é a lista de funções que estão ativos em um processador em um momento determinado.Apenas uma função (a função atual) está executando o código; as outras funções são a cadeia de chamadas de funções que resultaram na chamada à função atual (a pilha de chamadas).
Para cada função na pilha de chamada quando o intervalo foi registrado, a análise do profiler adiciona o intervalo para um ou mais de quatro valores de dados para a função.A análise adiciona o intervalo para um valor de dados para uma função com base em dois critérios:
Se o intervalo ocorreu no código da função ou em uma função filho (uma função que é chamada pela função).
Se um evento do sistema operacional ocorreu no intervalo.
Os valores de dados para um intervalo de um intervalo de função ou de dados são nomeados decorridos inclusive, exclusivos decorrido, aplicativo inclusivo, e a tentativa de aplicativo:
Todos os intervalos de uma função são adicionados ao valor de dados inclusivo decorrido.
Se o intervalo feita no código da função e não em uma função filho, o intervalo é adicionado ao valor de dados exclusivo decorrido da função.
Se um evento do sistema operacional não ocorreu no intervalo, o intervalo é adicionado ao valor inclusivo de dados do aplicativo.
Se um evento do sistema operacional não ocorreu no intervalo, e no intervalo ocorreu na execução direta de código de função (isto é, não ocorreu em uma função filho), o intervalo é adicionado ao valor de dados da tentativa de aplicativo.
Os relatórios de Ferramentas de Criação de Perfil exibem valores totais das funções na sessão analisando próprio, e os processos, os threads, e os binários da sessão.
Valores inclusivos decorridos
Tempo total gasto que foram executados uma função e suas funções do filho.
Os valores incluem os intervalos inclusivos decorridos decorrido que foram executadas diretamente o código de função e os intervalos que eram executar gastou as funções filhos de destino função.Os intervalos de função ou das funções filhos que incluem a espera do sistema operacional também são incluídos em valores inclusivos decorridos.
Valores exclusivos decorridos
O tempo gasto que foram executados uma função, com exceção de que foram tempo gasto em funções filhos.
Os valores exclusivos decorridos incluem os intervalos decorrido que foram executadas diretamente o código de função, independentemente de um evento do sistema operacional feita no intervalo.Todos os intervalos decorrido em funções filhos que eram chamadas pela função de destino não são incluídos em valores exclusivos decorridos.
Valores inclusivos de aplicativo
O tempo gasto que foram executados uma função e suas funções do filho, com exceção de que foram tempo gasto em eventos do sistema operacional.
Os valores inclusivos de aplicativo não incluem os intervalos que contêm eventos do sistema operacional.Os valores inclusivos do aplicativo incluem todos os outros decorrido que foram executados uma função, independentemente do intervalo (CPU esteve executando diretamente o código de função ou gastou em funções filhos da função de destino.
Valores da tentativa de aplicativo
O tempo gasto que foram executados uma função, com exceção de que foram tempo gasto em funções e filho na hora que foram gasto em eventos do sistema operacional.
Os valores exclusivos de aplicativo não incluem os intervalos que contém os eventos ou intervalos do sistema operacional que foram decorrido que executam as funções que eram chamadas pela função.Os valores exclusivos de aplicativo incluem somente os intervalos decorrido que foram executadas diretamente o código de função e que não contém um evento do sistema operacional.
Porcentagem inclusiva decorrido
A porcentagem do total decorrido os valores inclusivos de sessão analisando que eram valores inclusivos decorridos da função, do módulo, ou de thread de processamento.
100 * A função decorrido inclusive/sessão decorrido inclusive
Porcentagem exclusiva decorrido
A porcentagem do total decorrido os valores inclusivos de sessão analisando que eram valores exclusivos decorridos da função, do módulo, ou de thread de processamento.
100 * A função decorrido exclusiva/sessão decorrido inclusive
Porcentagem inclusiva de aplicativo
A porcentagem de valores inclusivos do aplicativo total da sessão analisando que eram valores inclusivos do aplicativo da função, do módulo, ou de thread de processamento.
100 * Aplicativo da função inclusiva/aplicativo de sessão inclusivo
Porcentagem da tentativa de aplicativo
A porcentagem de valores inclusivos do aplicativo total da sessão analisando que eram intervalos exclusivos de aplicativo da função, do módulo, ou de thread de processamento.
100 * A tentativa de aplicativo da função/aplicativo de sessão inclusivo
Consulte também
Tarefas
Como escolher métodos de coleção