Como anexar o criador de perfil a um serviço do .NET para coletar dados de simultaneidade usando a linha de comando
Este tópico descreve com usar as Visual Studio Ferramentas de Criação de Perfil para anexar o Criador de Perfis a um serviço .NET Framework e coletar dados de simultaneidade de thread usando o método de amostragem.
Observação |
---|
Os recursos avançados de segurança no Windows 8 e Windows Server 2012 necessitaram de alterações significativas na forma que o profiler do Visual Studio coleta dados dessas plataformas.Os aplicativos da Windows Store também requerem novas técnicas de coleção.Consulte Criando perfil de aplicativos do Windows 8 e do Windows Server 2012. |
Observação |
---|
As ferramentas de linha de comando de Ferramentas de Criação de Perfil estão localizadas no no subdiretório \ ferramentas de equipe \ ferramentas de desempenho do diretório de instalação do Visual Studio.Nos computadores de 64 bits, ambas as versões de 64 bits e de 32 bits das ferramentas está disponível.Para usar as ferramentas de linha de comando do criador de perfis, você deve adicionar o caminho das ferramentas para a variável de ambiente PATH da janela prompt de comando ou adicioná-lo ao próprio comando.Para obter mais informações, consulte Especificando o caminho para ferramentas de linha de comando de ferramentas de criação de perfil. |
Para coletar dados de simultaneidade, anexe o criador de perfis ao processo de serviço.Quando o profiler é anexado ao serviço, você pode pausar e retomar a coleção de dados.Para finalizar uma sessão, o Criador de Perfis não deve estar anexado ao serviço e deve ser explicitamente fechado.Na maioria dos casos, recomendamos limpar as variáveis de ambiente ao final de uma sessão.
Anexando o criador de perfis
Para anexar o criador de perfis a um serviço do .NET Framework
Instalar o serviço.
Abra uma janela de comando.
Inicialize as variáveis do ambiente do perfil.Tipo:
VSPerfClrEnv/globalsampleon [/samplelineoff]
/globalsampleon permite a amostragem.
/samplelineoff desativa a atribuição de dados coletados a linhas de código específicas da fonte.Quando essa opção é especificada, os dados são atribuídos somente a funções.
Reinicie o computador.
Inicie o criador de perfis.Tipo:
VSPerfCmd/start:concurrency **/output:**OutputFile [Options]
A opção /output**:**OutputFileé necessária com /startOutputFile especifica o nome e o local dos dados de perfil (.vsp).
Você pode usar qualquer uma das seguintes opções com a opção /start.
Observação As opções de /user e de /crosssession geralmente são necessárias para serviços.
Opção
Descrição
/user:[Domain\]UserName
Especifica o domínio e o nome do usuário da conta que possui o processo com perfil.Essa opção é necessária somente se o processo estiver sendo executado como um usuário diferente do usuário conectado.O proprietário do processo é listado na coluna de nome de usuário na guia de processos do gerenciador de tarefas do Windows.
Permite analisar os processos em outras sessões.Essa opção é necessária se o serviço estiver sendo executado em uma sessão diferente.A ID da sessão é listada na coluna ID da sessão na guia de processos do gerenciador de tarefas do Windows./CS pode ser especificado como uma abreviação para /crosssession.
/wincounter:WinCounterPath
Especifica o contador de desempenho do Windows que será coletado durante a análise.
/automark:Interval
Uso com /wincounter somente.Especifica o número de milissegundos entre eventos de coleção contador de desempenho do Windows.O padrão é 500 ms.
/events:Config
Especifica um rastreamento de evento para evento do Windows (ETW) para ser coletado durante a análise.Os eventos de ETW são coletados em um arquivo separado (.etl).
Se necessário, inicie o serviço.
Anexa o criador de perfis ao serviço.Tipo:
**VSPerfCmd /attach:PID [/targetclr:**Version]
PID especifica o nome de identificação ou do processo do serviço.Você pode exibir os IDs de processo de todos os processos em execução no Gerenciador de Tarefas do Windows.
**targetclr:**Version especifica a versão do common language runtime (CLR) para analisar quando mais de uma versão do runtime é carregada em um aplicativo.Opcional.
Coleta de dados de controle
Quando o serviço é executado, você pode controlar a coleção de dados iniciando e parando a escrita de dados para o arquivo usando opções de VSPerfCmd.exe.A coleta de dados de controle permite que você colete dados para uma parte específica de execução do programa, como o inicio ou término do aplicativo.
Para iniciar e parar a coleção de dados
Os seguintes pares de opções VSPerfCmd iniciam e interrompem a coleção de dados.Especifique cada opção em uma linha separada de comando.É possível desativar e ativar a coleção de dados várias vezes.
Opção
Descrição
Inicia (/globalon) ou para (/globaloff) a coleção de dados para todos os processos.
/processon:PID/processoff:PID
Inicia (/processon) ou interrompe a coleta de dados (/processoff) para o processo especificado pelo ID de processo (PID).
/attach:{PID|ProcName} /detach[:{PID|ProcName}]
/attach inicia a coleção de dados para o processo especificado pelo ID do processo ou nome do processo./detach para a coleta de dados para o processo especificado ou para todos os processos se nenhum processo for especificado.
Você também pode usar a opção VSPerfCmd.exe/mark para inserir uma marca no arquivo de dados.o comando /mark adiciona um identificador, um carimbo de data/hora, e, opcionalmente, uma cadeia de caracteres de texto definido pelo usuário.As marcas podem ser usadas para filtrar os dados nos relatórios do profiler e em modos de exibição de dados.Os seguintes pares de opções VSPerfCmd começam e param a coleção de dados.Especifique cada opção em uma linha separada de comando.É possível desativar e ativar a coleção de dados várias vezes.
Finalizando a sessão de análise
Para finalizar uma sessão, o profiler não deve estar coletando dados.Você pode parar de coletar dados de um aplicativo analisado com o método de simultaneidade interrompendo o serviço invocando a opção VSPerfCmd /detach.Então, você chama a opção VSPerfCmd /shutdown para desativar o criador de perfis e fechar o arquivo de dados de criação de perfil.O comando VSPerfClrEnv /globaloff limpa todas as variáveis de ambiente, mas a configuração do sistema não é reiniciada até que o computador seja reiniciado.
Para finalizar uma sessão de criação de perfil
Execute uma destas opções para desanexar o criador de perfis do aplicativo de destino.
Parar o serviço.
- ou -
Digite VSPerfCmd /detach.
Encerrar o criador de perfis.Tipo:
VSPerfCmd Desligamento