Criação de perfil do runtime

Criação de perfil é um método de coleta de dados de desempenho em qualquer cenário de desenvolvimento ou de implantação. Esta seção é para desenvolvedores e administradores de sistema que desejam coletar informações sobre o desempenho do aplicativo.

Acompanhamento de desempenho usando o Monitor de Desempenho (Perfmon.exe)

O Monitor de Desempenho é a ferramenta mais fácil de usar para criar o perfil do seu aplicativo .NET Framework. O Monitor de Desempenho representa graficamente os dados encontrados nos contadores de desempenho do .NET Framework que são instalados com o Common Language Runtime e o SDK do Windows. Esses contadores podem ser usados para monitorar tudo, desde o gerenciamento de memória até o desempenho de compilador JIT (Just-In-Time). Eles informam sobre os recursos que seu aplicativo usa, o que é uma medida indireta do desempenho desse aplicativo. Use esses contadores para entender como o aplicativo funciona internamente.

Para executar Perfmon.exe no Windows Vista e versões posteriores

  1. No prompt de comando, digite perfmon. O console Monitor de Desempenho é exibido.

  2. Na pasta Ferramentas de Monitoramento, clique em Monitor de Desempenho.

  3. Na barra de ferramentas do Monitor de Desempenho, clique no ícone Adicionar (sinal de adição) se ele estiver presente. Se não estiver presente, clique com o botão direito do mouse na janela do monitor e selecione a opção Adicionar Contadores.

    Isso abre a caixa de diálogo Adicionar Contadores. A caixa de listagem Contadores disponíveis exibe os objetos de desempenho disponíveis. Há um número de objetos predefinidos para aplicativos do .NET Framework, incluindo aqueles para gerenciamento de memória (Memória do .NET CLR), interoperabilidade (Interoperabilidade do .NET CLR), tratamento de exceção (Exceções do .NET CLR) e multithreading (.NET CLR LocksAndThreads). Cada objeto de desempenho inclui uma série de contadores de desempenho individuais. Para obter uma lista de contadores de desempenho disponíveis no Monitor de Desempenho, consulte Contadores de desempenho.

  4. Selecione a caixa de seleção ao lado do nome de um objeto de desempenho para exibir a lista de contadores de desempenho individuais aos quais ele dá suporte.

  5. Clique no contador de desempenho que você deseja exibir.

  6. Na caixa de listagem Instâncias do objeto selecionado, clique em <Todas as instâncias> para especificar que você deseja monitorar o contador de desempenho para o Common Language Runtime globalmente (ou seja, em todo o sistema).

    -ou-

    Na caixa de listagem Instâncias do objeto selecionado, clique em um nome do aplicativo para monitorar o contador de desempenho para esse aplicativo.

    Para diferenciar as várias versões do runtime ou para desfazer a ambiguidade entre vários aplicativos com o mesmo nome, você também deve modificar uma chave do Registro. Para obter mais informações, consulte Contadores de desempenho e aplicativos lado a lado em processo.

Observação

Quando novos contadores de desempenho são instalados enquanto o console de desempenho está em execução, pare e reinicie o console de desempenho para tornar os novos contadores visíveis.

Se você deseja criar o perfil de um assembly que existe em uma zona ou em um compartilhamento remoto, verifique se o assembly remoto tem confiança total no computador que executa os contadores de desempenho. Se o assembly não tiverem confiança suficiente, os contadores de desempenho não funcionarão. Para obter informações sobre como conceder confiança em zonas diferentes, consulte Caspol.exe (ferramenta de política de segurança de acesso do código).

Observação

Em sistemas em que o .NET Framework 4 é instalado, o Monitor de Desempenho poderá não exibir os dados dos contadores de desempenho em algumas categorias, tais como Dados do .NET CLR e Rede do .NET CLR, para aplicativos que foram desenvolvidos usando o .NET Framework 1.1. Se esse for o caso, você pode configurar o Monitor de Desempenho para exibir esses dados, adicionando o elemento <forcePerformanceCounterUniqueSharedMemoryReads> ao arquivo de configuração do aplicativo.

Ler e criar contadores de desempenho de forma programática

O .NET Framework fornece classes que você pode usar para acessar de maneira programática as mesmas informações de desempenho que estão disponíveis no console de desempenho. Você também pode usar essas classes para criar contadores de desempenho personalizados. A tabela a seguir descreve algumas das classes de monitoramento de desempenho que são fornecidas no .NET Framework.

Classe Descrição
System.Diagnostics.PerformanceCounter Representa um componente do contador de desempenho do Windows. Use essa classe para ler contadores existentes predefinidos ou personalizados e publicar dados de desempenho (gravação) em contadores personalizados.
System.Diagnostics.PerformanceCounterCategory Fornece vários métodos para interagir com os contadores e categorias de contadores no computador.
System.Diagnostics.PerformanceCounterInstaller Especifica um instalador para o componente PerformanceCounter.
System.Diagnostics.PerformanceCounterType Especifica a fórmula para calcular o método NextValue para uma PerformanceCounter.

Confira também