Criação de perfil de tempo de execução
Nota
Este artigo é específico do .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.
A criação de perfil é um método de coleta de dados de desempenho em qualquer cenário de desenvolvimento ou implantação. Esta seção é para desenvolvedores e administradores de sistema que desejam coletar informações sobre o desempenho do aplicativo.
Rastreando o 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 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 do compilador just-in-time (JIT). Eles informam sobre os recursos que seu aplicativo usa, que é uma medida indireta do desempenho do seu aplicativo. Use esses contadores para entender como seu aplicativo funciona internamente.
Para executar Perfmon.exe no Windows Vista e versões posteriores
No prompt de comando, digite perfmon. O console do Monitor de desempenho é exibido.
Na pasta Ferramentas de Monitoramento, clique em Monitor de Desempenho.
Na barra de ferramentas Monitor de Desempenho, clique no ícone Adicionar (o sinal de adição), se ele estiver presente. Se não estiver presente, clique com o botão direito do rato 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á vários objetos predefinidos para aplicativos .NET Framework, incluindo aqueles para gerenciamento de memória (.NET CLR Memory), interoperabilidade (.NET CLR Interop), tratamento de exceções (.NET CLR Exceptions) e multithreading (.NET CLR LocksAndThreads). Cada objeto de desempenho inclui vários contadores de desempenho individuais. Para obter uma lista dos contadores de desempenho disponíveis no Monitor de Desempenho, consulte Contadores de desempenho.
Marque 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 oferece suporte.
Clique no contador de desempenho que deseja visualizar.
Na caixa de listagem Instâncias do objeto selecionado, clique em <Todas as instâncias> para especificar que deseja monitorar o contador de desempenho para o Common Language Runtime globalmente (ou seja, em todo o sistema).
-or-
Na caixa de listagem Instâncias do objeto selecionado, clique em um nome de aplicativo para monitorar o contador de desempenho desse aplicativo.
Para diferenciar várias versões do tempo de execução ou para desambiguar 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.
Nota
Quando novos contadores de desempenho forem instalados enquanto o console de desempenho estiver em execução, pare e reinicie o console de desempenho para tornar os novos contadores visíveis.
Se você quiser 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 tiver confiança suficiente, os contadores de desempenho não funcionarão. Para obter informações sobre como conceder confiança a zonas diferentes, consulte Caspol.exe (Code Access Security Policy Tool).
Nota
Em sistemas nos quais o .NET Framework 4 está instalado, o Monitor de desempenho pode não exibir dados para contadores de desempenho em algumas categorias, como .NET CLR Data e .NET CLR Networking, 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.
Lendo e criando contadores de desempenho programaticamente
O .NET Framework fornece classes que você pode usar para acessar programaticamente 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 fornecidas no .NET Framework.
Classe | Description |
---|---|
System.Diagnostics.PerformanceCounter | Representa um componente do contador de desempenho do Windows. Use essa classe para ler contadores predefinidos ou personalizados existentes e publicar (gravar) dados de desempenho em contadores personalizados. |
System.Diagnostics.PerformanceCounterCategory | Fornece vários métodos para interagir com contadores e categorias de contadores no computador. |
System.Diagnostics.PerformanceCounterInstaller | Especifica um instalador para o PerformanceCounter componente. |
System.Diagnostics.PerformanceCounterType | Especifica a fórmula para calcular o NextValue método para um PerformanceCounter arquivo . |