Partilhar via


Como: instrumento um.NET Service e o tempo detalhado de coletar dados usando a linha de comando do Profiler

Este tópico descreve como usar Visual Studio Premium ferramentas para traçar perfil de linha de comando de ferramentas para instrumentar um serviço de .NET Framework e para coletar dados de temporização detalhado.

ObservaçãoObservação

Você não pode analisar um serviço com o método de instrumentação se o serviço não pode ser reiniciado depois que inicia o computador, tal serviço que inicia somente quando o sistema operacional começa.

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

Adicionar dados de interação de camada a analisar executado requer procedimentos específicos com a linha de comando ferramentas para traçar perfil.Consulte Adicionando dados de interação entre camadas da linha de comando.

Para coletar dados de temporização detalhado de um serviço de .NET Framework usando o método de instrumentação, você usa a ferramenta de VSInstr.exe para produzir uma versão provida do componente.Você substitui a versão não provida de serviço com a versão provida, certificando-se que o serviço está configurado para iniciar manualmente.Você usa a ferramenta de VSPerfCLREnv.cmd para inicializar variáveis de ambiente a globais e para reiniciar o computador host. Você inicia o profiler.

Quando o serviço é iniciado, os dados de tempo são coletados automaticamente a um arquivo de dados.Você pode pausar e continuar a coleção de dados durante a sessão para analisar.

Para finalizar a uma sessão, você desative o serviço e então explicitamente fecha o profiler.Na maioria dos casos, recomendamos desmarque as variáveis de ambiente a no final de uma sessão.

Iniciando o aplicativo com o profiler

Para iniciar analisar um serviço do .NET Framework

  1. Abra uma janela de prompt de comando.

  2. Use a ferramenta de VSInstr para produzir uma versão provida de binário de serviço.

  3. Substitua o binária original com a versão provida.No gerenciador de controle de serviço do Windows, certifique-se de que o tipo de inicialização de serviço é definido para o manual.

  4. Inicializar .NET Framework que analisa variáveis de ambiente.Tipo:

    VSPerfClrEnv /globaltraceon

  5. Reinicie o computador.

  6. Abra uma janela de prompt de comando.

  7. Ligue o profiler.Tipo:

    **VSPerfCmd /start:trace /output:**OutputFile[Options]

    • A opção de /start:trace inicializa o profiler.

    • A opção de /output**:**OutputFile é necessária com /start.OutputFile especifica o nome e o local dos dados de perfil (.vsp).

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

    ObservaçãoObservaçã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 de usuário da conta que possui o processo analisado.Essa opção é necessária somente se o processo está sendo executado como um usuário diferente do usuário conectado.O proprietário do processo é listado na coluna do nome de usuário na guia dos processos do gerenciador de tarefas do Windows.

    /crosssession

    Permite analisar os processos em outras sessões.Essa opção é necessária se o aplicativo é executado em uma sessão diferente.A identificação da sessão é listada na coluna de identificação de sessão no guia dos processos do gerenciador de tarefas do Windows./CS pode ser especificado como uma abreviação para /crosssession.

    /waitstart[:Interval]

    Especifica o número de segundos para esperar o profiler para inicializar antes que retorna um erro.Se Interval não for especificado, o profiler espera indefinidamente.Por padrão, /start retorna imediatamente.

    /globaloff

    Para iniciar o profiler com coleção de dados pausou, adicione a opção de /globaloff a linha de comando de /start .Use /globalon para analisar continuar.

    /counter:Config

    Coleta informações de contador de desempenho do processador especificado na configuração.Informações sobre o contador é adicionada aos dados coletados na cada evento.

    /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 é ms 500.

    /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).

  8. Enfie o serviço gerenciador de controle de serviço do Windows.

Coleta de dados de controle

Quando o serviço está sendo executado, você pode usar opções de VSPerfCmd.exe iniciar e parar a escrita de dados no arquivo de dados do visual profiler.A coleção de dados de controle permite que você para coletar dados para uma parte específica de execução do programa, como iniciar ou fechar o serviço.

Para iniciar e parar a coleção de dados

  • Os seguintes pares de opções de VSPerfCmd começam e param a coleção de dados.Especifique cada opção em uma linha separada de comando.Você pode desativar e ativar a coleção de dados várias vezes.

    Opção

    Descrição

    /globalon /globaloff

    Inicia (/globalon) ou para (/globaloff) a coleção de dados para todos os processos.

    /processon:PID/processoff:PID

    Inicia/processon() ou coleção de dados paradas de/processoff() para o processo especificado pela identificação de processo (PID).

    /threadon:TID/threadoff:TID

    Inicia (/threadon) ou coleta de dados das paradas (/threadoff) para o segmento especificado por ID de segmentos (TID).

  • Você também pode usar a opção VSPerfCmd.exe/mark para inserir uma marca no arquivo de dados.O comando de /mark adiciona um identificador, um carimbo de data/hora, e uma cadeia de caracteres de texto definido pelo usuário opcional.As marcas podem ser usadas para filtrar os dados nos relatórios do profiler e em modos de exibição de dados.

Terminando à sessão

Para finalizar a uma sessão, interromper o serviço que está executando o componente instrumentado, e então chame a opção de VSPerfCmd/shutdown desativar o profiler e feche o arquivo de dados para analisar.O comando de VSPerfClrEnv /globaloff limpa todas as variáveis de ambiente a.

Você deve reinicie o computador para que as novas configurações de ambiente sejam aplicadas.

Para finalizar uma sessão

  1. Interromper o serviço do Gerenciador de Controle de Serviços.

  2. Feche o profiler.Tipo:

    VSPerfCmd /shutdown

  3. Quando você tiver terminado qualquer analisar, desmarque as variáveis de ambiente a.Tipo:

    VSPerfClrEnv /globaloff

  4. Substitua o módulo instrumentado com o original.Se necessário, reconfigurar o tipo de inicialização de serviço.

  5. 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 instrumentação de Profiler