Usando perfis Xperf
Esta seção mostra como capturar rastreamentos usando perfis. Se você estiver analisando a memória, considere gravar o rastreamento em um arquivo, pois o ETW grava e não perturba o cache. Se você estiver analisando a E/S do disco, considere salvar o rastreamento em um buffer circular na memória. Também há outras considerações, como se você precisa capturar um rastreamento longo, que não caberia em um buffer na memória ou se você se preocupa apenas com os últimos 5 a 10 segundos do conteúdo do rastreamento.
Procedimento
Selecione um perfil como perf! FileIOProfiles.InBuffer e use um comando semelhante ao exemplo a seguir para exibir informações sobre ele.
xperf -profiles perf!FileIOProfiles.InBuffer
Esse comando lista todos os perfis, seguidos pelas sessões e provedores nesse perfil:
Perfil: FileIOProfiles.InBuffer
Sessões: FileIOProfiles.InBuffer.Sessions
Sessão: FileIOProfiles.InBuffer.Sessions[0]. Kernel[0]
Sessão: FileIOProfiles.InBuffer.Sessions[0]. Usuário[0]
Provedores: FileIOProfiles.InBuffer.Providers
Provedor: FileIOProfiles.InBuffer.Providers[0]. Kernel[0]
Provedor: FileIOProfiles.InBuffer.Providers[0]. Usuário[0]
Supondo que você tenha escolhido usar um rastreamento baseado em arquivo, inicie um perfil de rastreamento InSequentialFile usando o comando a seguir.
xperf -start perf!GeneralProfiles.InSequentialFile
Se ocorrer um problema, um erro será relatado. Por exemplo, iniciar o mesmo perfil duas vezes resultaria em um erro de que a sessão já está em execução.
Mostre quais agentes do InSequentialFile já iniciaram para um perfil específico usando o comando a seguir.
xperf -profileloggers perf!GeneralProfiles.InSequentialFile
A resposta a esse comando é semelhante ao exemplo a seguir.
Status da sessão para "perf! GeneralProfiles.InSequentialFile":
"NT Kernel Logger" : executando
PerfCoreUserSession_InSequentialFile : em execução
Interrompa o perfil de rastreamento InSequentialFile , salve os rastreamentos e mescle-os em um arquivo de rastreamento, como Merged.etl, usando o comando a seguir.
xperf -stop perf!GeneralProfiles.InSequentialFile merged.etl
Se ocorrer um problema, um erro será relatado.
Inicie o perfil de rastreamento InSequentialFile , substituindo, na hora de início, valores maxbuffers para todas as sessões ETW, para as quais os agentes devem ser iniciados para 256. Para executar essa ação, use o comando a seguir.
xperf -start perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
Se ocorrer um problema, um erro será relatado.
Atualize os valores de MaxBuffers para os agentes ativos do ETW InSequentialFile especificados no perfil de rastreamento usando o comando a seguir.
xperf -update perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
Nenhuma resposta é exibida após a emissão desse comando.