Como: Anexar o Profiler para um.NET Service para coletar estatísticas de aplicativo usando a linha de comando

Este tópico descreve como usar ferramentas de linha de comando de ferramentas de criação de perfilVisual Studio para anexar o profiler para um.NET Framework service e estatísticas de coleta de desempenho usando o método de amostragem.

ObservaçãoObservação

Ferramentas de linha de comando das ferramentas de criação de perfil estão localizadas na subpasta \Team Tools\Performance ferramentas da Visual Studio diretório de instalação. Em computadores de 64 bits, as versões de 64 bits e de 32 bits das ferramentas estão disponíveis. Para usar as ferramentas de linha de comando do profiler, você deve adicionar o caminho de ferramentas para a variável de ambiente PATH da janela do prompt de comando ou adicioná-lo para o próprio comando. Para obter mais informações, consulte Especificando o caminho para as ferramentas de linha de comando de criação de perfil.

Para coletar dados de desempenho de um.NET Framework service, você deve usar o VSPerfCLREnv.cmd ferramenta para inicializar as variáveis de ambiente apropriado. Em seguida, você deve reiniciar o computador que hospeda o serviço e configurar o computador para criação de perfil. Em seguida, você pode anexar o profiler ao processo do serviço. Quando o profiler é anexado ao serviço, você pode pausar e reiniciar a coleta de dados.

Para finalizar uma sessão de criação de perfil, o criador de perfil deve ser desanexado do serviço e o criador de perfil deve ser desligado explicitamente. Na maioria dos casos, é recomendável limpar as variáveis de ambiente de criação de perfil no final de uma sessão.

Anexar o Profiler

Para anexar o Profiler para um.NET Framework service

  1. Instale o serviço.

  2. Abra uma janela de prompt de comando.

  3. Inicialize as variáveis de ambiente de criação de perfil. Tipo:

    VSPerfClrEnv /globalsampleon [/samplelineoff]

    • /globalsampleonHabilita a amostragem.

    • /samplelineoffdesativa a atribuição dos dados coletados para linhas de código de origem específica. Quando esta opção for especificada, dados são atribuídos somente a funções.

  4. Reinicie o computador.

  5. Abra uma janela de prompt de comando.

  6. Inicie o profiler. Tipo:

    VSPerfCmd /start:sample /output**:**OutputFileOptions]

    • O /start:sample opção inicializa o profiler.

    • O **/output:**OutputFile opção é necessária com /start. OutputFileEspecifica o nome e o local do arquivo de dados (. vsp) do perfil.

    Você pode usar qualquer uma das seguintes opções com o /start:sample opção.

    ObservaçãoObservação

    O /user e /crosssession opções são geralmente necessárias para serviços.

    Opção

    Descrição

    /user:Domain\UserName

    Especifica o nome de usuário e domínio da conta que possui o processo perfilado. Esta opção é necessária somente se o processo está sendo executado como um usuário diferente, por exemplo, o usuário conectado. O proprietário do processo está listado na coluna Nome do usuário na guia processos do Gerenciador de tarefas do Windows.

    /crosssession

    Permite criação de perfil de processos em outras sessões. Esta opção é necessária se o serviço estiver sendo executado em uma sessão diferente. A identificação da sessão é listada na coluna de ID de sessão na guia processos do Gerenciador de tarefas do Windows. /CSpode ser especificado como uma abreviação de /crosssession.

    /wincounter:WinCounterPath

    Especifica um contador de desempenho do Windows a serem coletados durante perfilação.

    /automark:Interval

    Use com /wincounter somente. Especifica o número de milissegundos entre eventos de coleção de contadores de desempenho do Windows. O padrão é 500 ms.

    /Events:Config

    Especifica um evento de rastreamento de eventos para Windows (ETW) a serem coletados durante perfilação. Eventos ETW são coletados em um arquivo separado (. ETL).

  7. Se necessário, inicie o serviço.

  8. Anexe o profiler ao serviço. Tipo:

    VSPerfCmd / conexão: {PID|ProcName} [Sample Event] [/targetclr**:**Version

    • Especifique a identificação do processo (PID) ou o nome do processo (ProcName) do serviço. Você pode exibir os IDs de processo e os nomes de todos os processos em execução no Gerenciador de tarefas do Windows.

    Por padrão, cada relógio do processador não é interrompida de 10.000.000 de amostra de dados de desempenho ciclos. Isso é de aproximadamente 100 amostras por segundo em um processador de 1GH. Você pode especificar uma das seguintes opções para alterar o intervalo de ciclo de relógio ou para especificar um evento de amostra diferentes.

    Evento de amostragem

    Descrição

    /Timer:Interval

    Altera o intervalo de amostragem para o número de ciclos de relógio não interrompidos especificado por Interval.

    /pf:Interval]

    Altera o evento de amostragem para falhas de página. Se Interval for especificado, define o número de falhas de página entre amostras. O padrão é 10.

    /sys:Interval

    Altera o evento de amostragem para chamadas de sistema do processo para o kernel do sistema operacional (syscalls). Se Interval for especificado, define o número de chamadas entre amostras. O padrão é 10.

    /Counter:Config

    O evento de amostragem e o intervalo é alterado para o contador de desempenho do processador e o intervalo especificado em Config.

    • **targetclr:**VersionEspecifica a versão do common language runtime (CLR) para criar o perfil quando mais de uma versão do tempo de execução é carregada em um aplicativo. Opcional.

Controlar a coleta de dados

Quando o serviço estiver sendo executado, você pode usar VSPerfCmd.exe Opções para iniciar e parar a gravação de dados no arquivo de dados do profiler. Controlar a coleta de dados permite coletar dados para uma parte específica da execução do programa, como iniciar ou desligar o aplicativo.

Para iniciar e interromper a coleta de dados

  • Os seguintes pares de VSPerfCmd Opções de iniciar e interromper a coleta de dados. Especifica cada opção em uma linha de comando separada. Você pode ativar a coleta de dados de logon e logoff várias vezes.

    Opção

    Descrição

    /globaloff de /GLOBALON

    Inicia (/globalon) ou pára (/globaloff) a coleta de dados para todos os processos.

    /PROCESSON:PID/processoff:PID

    Inicia (/processon) ou pára (/processoff) a coleta de dados para o processo especificado pelo ID do processo (PID).

    /attach:{PID|ProcName} /detach[:{PID|ProcName}]

    /attachcomeça a coletar dados para o processo especificado pelo ID do processo ou o nome do processo. /detachpára a coleta de dados para o processo especificado ou para todos os processos se um processo específico não for especificado.

  • Você também pode usar o VSPerfCmd.exe dd255359(v=vs.100).mdmarca/ a opção para inserir uma marca de criação de perfil para o arquivo de dados. O /mark comando adiciona um identificador, um carimbo de hora e uma seqüência de caracteres de um texto opcional definido pelo usuário. Marcas podem ser usadas para filtrar os dados em relatórios do profiler e exibições de dados.

Encerrando a sessão de criação de perfil

Para finalizar uma sessão de criação de perfil, o criador de perfil deve ser desconectado de todos os processos de perfil e o criador de perfil deve ser desligado explicitamente. Você pode desconectar a partir de um aplicativo perfilado com o método de amostragem, fechando o aplicativo ou chamando o VSPerfCmd /detach opção. Em seguida, chamar o VSPerfCmd /shutdown opção para ativar o profiler logoff e feche o arquivo de dados criação de perfil.

O VSPerfClrEnv /globaloff comando limpa as variáveis de ambiente de criação de perfil, mas a configuração do sistema não é redefinida quando o computador é reiniciado.

Para finalizar uma sessão de criação de perfil

  1. Faça o seguinte para desanexar o criador de perfil do aplicativo de destino:

    • Pare o serviço.

      - ou -

    • TipoVSPerfCmd /detach

  2. Desligar o profiler. Tipo:

    VSPerfCmd /shutdown

  3. (Opcional) Desmarque as variáveis de ambiente de criação de perfil. Tipo:

    VSPerfClrEnv /globaloff

  4. Reinicie o computador.

Consulte também

Conceitos

Criação de perfil de linha de comando dos serviços

Outros recursos

Exibições de dados de método de amostragem do Profiler