Partilhar via


Passo a passo: Usando 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 que são coletados durante perfilação de instrumentação.

As etapas nesta explicação passo a passo geralmente se aplicam a um aplicativo C/C++.Para cada idioma, você precisará configurar seu ambiente de compilação apropriadamente.

Normalmente, você começará a 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.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 que um 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 eNoções básicas sobre os valores de dados de amostragem em ferramentas de criação de perfil

O criador de perfil Visual Studio permite limitar a coleta de dados.Esta explicação passo a passo oferece um exemplo de como limitar a coleta de dados usando o profiler APIs.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 é 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 é configurada para oferecer suporte a depuração e amostragem.Os tópicos a seguir fornecem uma visão geral desses pré-requisitos:

Como: escolher métodos de coleta

Como: informações de símbolo referência 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.Os seguintes passos consideram que o 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.

Limitando o uso do Profiler APIs de coleta de dados

Para criar o código para o perfil

  1. Criar um novo projeto de C# em Visual Studio ou use uma compilação de linha de comando, dependendo de sua preferência.

    ObservaçãoObservaçã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.

  2. 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 Visual Studio

  1. Abrir o Visual Studio IDE.Para o Analyze , aponte para Profilere selecione desempenho nova sessão.

  2. 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.

  3. Selecione instrumentação da método liste na Performance Explorer barra de ferramentas.

  4. 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 será exibido na relatórios o nó da Performance Explorer.

  5. 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

  1. Compile uma versão de depuração do código de exemplo que você criou no procedimento "Criar o código para o perfil", anteriormente.

  2. Para criar o perfil de um aplicativo gerenciado, digite o seguinte comando para definir as variáveis de ambiente apropriado:

    VsPefCLREnv /traceon

  3. Digite o seguinte arquivo. exe do comando: VSInstr <filename>

  4. Digite o seguinte /output de /start:trace de comando: VSPerfCmd: VSP <filename>

  5. Digite o seguinte /globaloff de comando: VSPerfCmd

  6. Execute o programa.

  7. Digite o seguinte /shutdown de comando: VSPerfCmd.

  8. Digite o seguinte /calltrace de comando: VSPerfReport: VSP <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

Outros recursos

Profiler referência API do Visual Studio (nativos)