Noções básicas sobre os valores de dados de instrumentação em ferramentas de criação de perfil
O instrumentação o método de criação de perfil do Visual Studio Ferramentas de criação de perfil injeta o código no início e no final das funções de destino no binário perfilado, antes e após cada chamada por essas funções para outras funções. O código injetado registra o seguinte:
O intervalo entre o evento de coleta e da anterior.
Se o sistema operacional executou uma operação durante o intervalo. Por exemplo, o sistema operacional pode ler ou gravar em disco ou alternar entre o thread-alvo e outro thread em outro processo.
Para cada intervalo, a análise do profiler reconstrói a pilha de chamadas que estava presente no final do intervalo. Uma pilha de chamadas é a lista de funções que estão ativos em um processador em um ponto no tempo. Apenas uma função (função atual) está executando o código; as outras funções são a cadeia de chamadas de função que resultaram na chamada à função atual (a pilha de chamadas).
Para cada função na pilha de chamadas quando o intervalo foi gravado, a análise do profiler adiciona o intervalo a uma ou mais de quatro valores de dados para a função. A análise adiciona o intervalo como 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 um a função de filho (uma função que foi chamada pela função).
Se ocorreu um evento do sistema operacional no intervalo.
Os valores de dados para um intervalo de um intervalo de dados ou de função são nomeados Decorrido Inclusive, Decorrido exclusivo, Aplicativo Inclusive, e Aplicativo exclusivo:
Todos os intervalos de uma função são adicionados ao valor de dados Inclusive decorrido.
Se o intervalo ocorreu no código da função e não em uma função de filho, o intervalo é adicionado ao valor de dados decorrido exclusivo da função.
Se um evento do sistema operacional não tivesse ocorrido no intervalo, o intervalo é adicionado ao valor de dados Inclusive do aplicativo.
Se um evento do sistema operacional não tivesse ocorrido no intervalo e o intervalo ocorreu na execução direta do código da função (ou seja, ele não tenha ocorrido em uma função de filho), o intervalo é adicionado ao valor de dados exclusivos do aplicativo.
Ferramentas de criação de perfil relatórios agregam os valores totais das funções na sessão de criação de perfil e os processos, threads e binários da sessão.
Valores Inclusive decorridos
O tempo total gasto para executar uma função e suas funções de filho.
Os valores de Inclusive decorridos incluem os intervalos que foram gastos em execução diretamente o código de função e os intervalos que foram gasto para executar as funções filha da função destino. Intervalos de função ou de suas funções de filho que incluem aguardando o sistema operacional também estão incluídos valores decorrido Inclusive.
Decorridos valores exclusivos
O tempo gasto para executar uma função, excluindo o tempo foi gasto em funções do filho.
Os valores de exclusivos decorridos incluem os intervalos que foram gastos diretamente o função código em execução, independentemente se ocorreu o evento de sistema operacional no intervalo. Todos os intervalos de gasto em funções de filho que foram chamadas pela função de destino não estão incluídos nos valores decorrido exclusivo.
Valores inclusivo do aplicativo
O tempo gasto para executar uma função e suas funções de filho, excluindo o tempo que foi gasto nos eventos do sistema operacional.
Valores inclusivo do aplicativo não incluem intervalos que contêm eventos de sistema operacional. Os valores de inclusiva de aplicativo incluem todos os intervalos que foram gasto para executar uma função, independentemente se o intervalo de gasto para executar diretamente o código de função ou foi gasto nas funções do filho da função destino.
Valores exclusivos do aplicativo
O tempo gasto para executar uma função, excluindo o tempo em que foi gasto em funções do filho e a hora em que foi gasto nos eventos do sistema operacional.
Valores exclusivos do aplicativo não incluem intervalos que contêm eventos de sistema operacional ou intervalos foram gasto para executar funções que foram chamadas pela função. Valores exclusivos do aplicativo incluem apenas os intervalos que foram gastos diretamente o código de função em execução e que não continha um evento do sistema operacional.
Porcentagem de Inclusive decorrida
A porcentagem do total decorrido Inclusive valores da sessão de criação de perfil que tinham decorrido Inclusive valores da função, módulo, thread ou processo.
100 * Função decorrido Inclusive / sessão decorrido Inclusive
Porcentagem de exclusiva decorrida
A porcentagem do total decorrido Inclusive valores da sessão de criação de perfil que tinham valores decorrido exclusivo da função, módulo, thread ou processo.
100 * Funciona exclusivo decorrido / sessão decorrido Inclusive
Inclusive por cento do aplicativo
A porcentagem do total aplicativo Inclusive valores da sessão de criação de perfil que eram aplicativos Inclusive valores da função, módulo, thread ou processo.
100 * Funciona aplicativo Inclusive / aplicativo de sessão inclusivo
Porcentagem de aplicativo exclusivo
A porcentagem do total aplicativo Inclusive valores da sessão de criação de perfil que tinham intervalos aplicativo exclusivo da função, módulo, thread ou processo.
100 * Função exclusiva do aplicativo / aplicativo de sessão inclusivo
Consulte também
Tarefas
Como: Escolha os métodos de coleção