Demonstra Passo a passo: Usando as APIs do Profiler
Explicação passo a passo usa um aplicativo de C# para demonstrar como usar o Visual Studio APIs de ferramentas de criação de perfil. Você usará o profiler APIs para limitar a quantidade de dados coletados durante perfilação de instrumentação.
As etapas nesta explicação geralmente se aplicam a um aplicativo C/C++. Para cada idioma, você terá de configurar corretamente o seu ambiente de compilação.
Normalmente, você iniciará analisar o desempenho do aplicativo usando o exemplo de criação de perfil. Se a criação de perfil de exemplo não fornece informações que aponta um gargalo, a criação de perfil de instrumentação pode fornecer um maior nível de detalhe. A criação de perfil de instrumentação é muito útil para investigar a interação de thread.
No entanto, um maior nível de detalhe significa que mais dados são coletados. Você pode achar que a criação de perfil de instrumentação cria arquivos de dados grandes. Além disso, a instrumentação é mais provável impacto no desempenho do aplicativo. Para obter mais informações, consulte Noções básicas sobre os valores de dados de instrumentação em ferramentas de criação de perfil e Noções básicas sobre os valores de dados de amostragem em ferramentas de criação de perfil
O criador de perfil Visual Studio lhe permite limitar a coleta de dados. Esta explicação passo a passo oferece um exemplo de como limitar a coleta de dados usando o APIs do profiler. O criador de perfil Visual Studio fornece uma API para controlar a coleta de dados de dentro de um aplicativo.
Para código nativo, o criador de perfil Visual Studio APIs estão em VSPerf.dll. O arquivo de cabeçalho, VSPerf.h e a biblioteca de importação, VSPerf.lib, estão localizados no diretório Visual Studio do Microsoft 9\Team ferramentas de ferramentas administrativas\Desempenho do sistema.
Para código gerenciado, o profiler APIs estão na Microsoft.VisualStudio.Profiler.dll. Essa DLL for encontrada no diretório Visual Studio do Microsoft 9\Team ferramentas de ferramentas administrativas\Desempenho do sistema. Para obter mais informações, consulte Microsoft.VisualStudio.Profiler.
Pré-requisitos
Esta explicação passo a passo presume que sua escolha de um ambiente de desenvolvimento está configurada para oferecer suporte à depuração e amostragem. Os tópicos a seguir fornecem uma visão geral desses pré-requisitos:
Como: Escolha os métodos de coleção
Como: Informações de referência do símbolo de Windows
Por padrão, quando o profiler é iniciado, o perfilador coleta dados no nível global. O código a seguir no início do programa ativa global fora de perfil.
DataCollection.StopProfile(
ProfileLevel.Global,
DataCollection.CurrentId);
Você pode desativar a coleta de dados na linha de comando sem o uso de uma chamada de API. As seguintes etapas assumem que seu ambiente de compilação de linha de comando está configurado para executar as ferramentas de criação de perfil e como suas ferramentas de desenvolvimento. Isso inclui as configurações necessárias para VSInstr e VSPerfCmd. Consulte ferramentas de linha de comando de criação de perfil.
Limitar a coleta de dados usando as APIs do Profiler
Para criar o código para o perfil
Crie um novo projeto C# no Visual Studio ou use uma compilação de linha de comando, dependendo de sua preferência.
Observação A compilação deve fazer referência a biblioteca de Microsoft.VisualStudio.Profiler.dll, localizada no diretório Visual Studio do Microsoft 9\Team ferramentas de ferramentas administrativas\Desempenho do sistema.
Copie e cole o código a seguir em seu projeto:
using System; using System.Collections.Generic; using System.Text; using Microsoft.VisualStudio.Profiler; namespace ConsoleApplication2 { class Program { public class A { private int _x; public A(int x) { _x = x; } public int DoNotProfileThis() { return _x * _x; } public int OnlyProfileThis() { return _x + _x; } public static void Main() { DataCollection.StopProfile( ProfileLevel.Global, DataCollection.CurrentId); A a; a = new A(2); int x; Console.WriteLine("2 square is {0}", a.DoNotProfileThis()); DataCollection.StartProfile( ProfileLevel.Global, DataCollection.CurrentId); x = a.OnlyProfileThis(); DataCollection.StopProfile( ProfileLevel.Global, DataCollection.CurrentId); Console.WriteLine("2 doubled is {0}", x); } } } }
Para coletar e exibir dados no IDE de Visual Studio
Abrir o Visual Studio IDE. Para o Analyze , aponte para Profilere selecione desempenho nova sessão.
Adicionar o binário compilado para o destinos Listar no Performance Explorer janela. Com o botão direito destinose selecione Add Target Binary. Localize o binário no Add Target Binary caixa de diálogo e clique Abrir.
Selecione instrumentação da método listar na Performance Explorer barra de ferramentas.
Clique em Iniciar com a criação de perfil.
O profiler instrumentar e executar o binário e criar um arquivo de relatório de desempenho. O arquivo de relatório de desempenho aparecerão no relatórios o nó da Performance Explorer.
Abra o arquivo de relatório de desempenho resultante.
Por padrão, quando o profiler é iniciado, o profiler coletará dados no nível global. O código a seguir no início do programa ativa global fora de perfil.
DataCollection.StopProfile(
ProfileLevel.Global,
DataCollection.CurrentId);
Para coletar e exibir dados na linha de comando
Compilar uma versão de depuração do código de exemplo que você criou em "Criando código para perfil" procedimento, anteriormente nesta explicação passo a passo.
Para criar o perfil de um aplicativo gerenciado, digite o seguinte comando para definir as variáveis de ambiente apropriado:
/Traceon de VsPefCLREnv
Digite. exe seguinte comando: VSInstr <filename>
Digite o seguinte /output de /start:trace de comando: VSPerfCmd:. vsp de <filename>
Digite o seguinte /globaloff de comando: VSPerfCmd
Execute o programa.
Digite o seguinte /shutdown de comando: VSPerfCmd.
Digite o seguinte /calltrace de comando: VSPerfReport:. vsp de <filename>
Um arquivo. csv é criado no diretório atual com os dados de desempenho resultantes.
Consulte também
Referência
Microsoft.VisualStudio.Profiler
Conceitos
Guia de introdução com ferramentas de criação de perfil
Usando as ferramentas de criação de perfil na linha de comando