Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este documento descreve os métodos de coleta de dados que as ferramentas no Visual Studio Performance Profiler utilizam.
amostragem
A amostragem coleta dados estatísticos sobre o trabalho executado por um aplicativo durante a criação de perfil e é um bom ponto de partida para encontrar áreas para acelerar seu aplicativo. Em intervalos especificados, o método Sampling coleta informações sobre as funções que estão sendo executadas em seu aplicativo. A coleta de dados é feita coletando informações sobre o aplicativo em um intervalo regular ou frequência de amostragem, como cada milissegundo. Os dados coletados são analisados para criar um modelo de onde o tempo foi gasto no aplicativo. Se você precisar de medidas precisas de tempos de chamada ou estiver procurando problemas de desempenho em um aplicativo pela primeira vez, talvez queira usar a amostragem.
A amostragem tem menos precisão no número de chamadas, mas é de baixo custo para o criador de perfil e tem pouco efeito na execução do aplicativo que está sendo perfilado. As ferramentas no Criador de Perfil de Desempenho que utilizam o método de amostragem incluem a ferramenta uso da CPU .
Depois de concluir a coleta de dados, a ferramenta Uso da CPU analisa os dados capturados e exibe o relatório.
Rastreamento
O rastreamento fornece informações melhores sobre a frequência com que um método foi executado. Se você precisar de medidas precisas de números de chamada, use o rastreamento. O rastreamento pode ter um impacto maior no desempenho do código durante a coleta, mas a amostragem tem apenas uma pequena sobrecarga. Além disso, o rastreamento pode ser mais lento para ser analisado porque leva mais tempo para exibir os dados após a coleta.
Instrumentation
A criação de perfil de instrumentação coleta informações detalhadas sobre o trabalho executado por um aplicativo durante uma execução de criação de perfil. A coleta de dados é feita por ferramentas que injetam código em um arquivo binário que captura informações de tempo ou usando ganchos de retorno de chamada para coletar e emitir informações exatas de tempo e contagem de chamadas enquanto um aplicativo é executado. O método de instrumentação tem uma alta sobrecarga quando comparado a abordagens baseadas em amostragem. As ferramentas no Criador de Perfil de Desempenho que usam instrumentação incluem as ferramentas de instrumentação e a ferramenta de alocação de objeto .NET .
Amostragem versus instrumentação
O valor da amostragem é que ela tem menos sobrecarga e, por esse motivo, é mais provável que seja estatisticamente representativa do aplicativo em execução na produção. O valor do perfil de instrumentação é que você pode obter contagens exatas de quantas vezes suas funções foram chamadas. Isso fornece informações muito mais detalhadas do que a amostragem normal, o que pode distorcer o tempo gasto em alguns cenários. Por exemplo, funções que não realizam muitas operações, mas são chamadas com frequência, aparecerão mais do que em um cenário real.
Com a instrumentação, cada chamada de função selecionada em seu aplicativo é anotada e instrumentada para que, quando for invocada, seja adicionada ao rastreamento junto com informações sobre o chamador. Com a amostragem, a execução do stack de chamada atual é sondada na CPU a intervalos regulares e, em seguida, cada frame é adicionado ao rastreamento.