Como: instrumentar um serviço nativo e coletar dados detalhados de temporização usando a linha de comando do Profiler
Este tópico descreve como usar o Visual Studio ferramentas de linha de comando para instrumentar um nativo (C/C++) de ferramentas de criação de perfil de serviço e coletar dados de tempo detalhado.
Observação |
---|
Você não pode profile de um serviço com o método de instrumentação se o serviço não pode ser reiniciado depois que o computador for iniciado, um serviço que inicia apenas quando o sistema operacional é iniciado. Ferramentas de linha de comando das ferramentas de criação de perfil estão localizadas no subdiretório de ferramentas \Team Tools\Performance 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 a criação de perfil de ferramentas de linha de comando. |
Para coletar dados de tempo detalhado de um serviço nativo usando o método de instrumentação, use o VSInstr ferramenta para gerar uma versão instrumentada do componente.Você, em seguida, substituir a versão do serviço não instrumentados instrumentada versão, certificando-se de que o serviço está configurado para iniciar manualmente.Em seguida, iniciar o profiler.
Quando o serviço é iniciado, os dados de tempo são coletados automaticamente para um arquivo de dados.Você pode pausar e continuar a coleta de dados durante a sessão de criação de perfil.
Para finalizar uma sessão de criação de perfil, você pode desativar o serviço e explicitamente desligue o profiler.
Iniciando o aplicativo com o criador de perfil
Para iniciar um serviço nativo de criação de perfil
Abra uma janela de prompt de comando.
Use o VSInstr ferramenta para gerar uma versão instrumentada o binário do serviço.
Substitua o binário original pela versão instrumentada.No Gerenciador de controle de serviço do Windows, certifique-se de que o serviço Startup Type está definido como Manual.
Inicie o profiler.Tipo:
VSPerfCmd/start:trace /output**:**OutputFileOptions
O /start:trace opção inicializa o profiler.
O **/output:**OutputFile opção é necessária com /start.OutputFileEspecifica o nome e localização do arquivo de dados (Vsp) criação de perfil.
Você pode usar qualquer uma das seguintes opções com o /start:trace opção.
Observação O /user e /crosssession opções são geralmente necessárias para o ASP.NET seguros.
Opção
Descrição
/user:Domain\UserName
Especifica o nome de usuário e domínio da conta que é proprietária do ASP.Processo de trabalho NET.Esta opção é necessária 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.
Permite criação de perfil de processos em outras sessões de logon.Esta opção é necessária se o ASP.NET Visual Basic está sendo executado em uma sessão diferente.A identificação da sessão está listada na coluna de ID de sessão sobre a guia processos do Gerenciador de tarefas do Windows./CSpode ser especificado como uma abreviação de /crosssession.
/waitstart:Interval
Especifica o número de segundos para aguardar o profiler ao inicializar antes de retornar um erro.Se Interval não for especificado, o profiler aguarda indefinidamente.Por padrão, /start retorna imediatamente.
Para iniciar o profiler com coleta de dados em pausa, adicione a /globaloff a opção para o /start a linha de comando.Use /globalon para continuar a criação de perfil.
/Counter:Config
Coleta informações do que o processador contador de desempenho especificado no arquivo Config.Informações sobre o contador é adicionado aos dados coletados em cada evento de criação de perfil.
/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 os eventos de coleta do contador 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).
Inicie o serviço do Gerenciador de controle de serviço.
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 para o arquivo de dados do profiler.Controlar a coleta de dados permite que você colete dados para uma parte específica da execução do programa, como iniciar ou encerrar o serviço.
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
É iniciado (/globalon) ou pára (/globaloff) a coleta de dados para todos os processos.
/processon:PID/processoff:PID
É iniciado (/processon) ou pára (/processoff) a coleta de dados para o processo especificado pelo identificador do processo (PID).
/threadon:TID/threadoff:TID
É iniciado (/threadon) ou pára (/threadoff) a coleta de dados para o segmento especificado pelo identificador do segmento (TID).
Você também pode usar o VSPerfCmd.exedd255359(v=vs.110).md marca/ opção para inserir uma marca de criação de perfil no 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 de 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, pare o serviço que está executando o componente instrumentado e depois chamar o VSPerfCmd/shutdown opção para desativar o profiler e feche o arquivo de dados de criação de perfil.
Para finalizar uma sessão de criação de perfil
Pare o serviço do Gerenciador de controle de serviço.
Desligar o profiler.Tipo:
VSPerfCmd /shutdown
Substitua o módulo instrumentado com o original.Se necessário, reconfigure o tipo de inicialização do serviço.
Consulte também
Conceitos
Criação de perfil de linha de comando dos serviços