Compartilhar via


3. Definições de perfil

Os perfis de gravação do WPR (Gravador de Desempenho do Windows) são armazenados em um arquivo XML que tem uma extensão .wprp. As definições de perfil reúnem as definições de coletor e provedor no arquivo .wprp.

Perfis

Você define um perfil WPR usando (<Profile> … </Profile> marcas XML que se referem a marcas XML de definição de coletor e provedor que você define no mesmo arquivo .wprp ou usando herança em outro arquivo .wprp. Cada marca XML de definição de perfil deve ter os seguintes atributos:

  • Id: identificador exclusivo da definição de perfil. Use a seguinte construção do identificador de perfil:

    < Nome>.<DetailLevel>.<LogMode>.

  • Nome: cadeia de caracteres que indica o nome do perfil.

  • DetailLevel: atributo que especifica se uma definição de perfil é usada para rastreamento de tempo (Light) ou rastreamento de análise (Detalhado).

  • LoggingMode: atributo que especifica se o perfil registra eventos em um arquivo sequencial ou em buffers de memória circular. Todos os perfis devem ter um arquivo e uma versão de memória no mesmo arquivo .wprp.

  • Descrição: descrição textual do perfil que o usuário vê.

O WPR dá suporte à gravação de desempenho para modos de log de arquivo e memória para cada arquivo .wprp, exceto para perfis ativados/desativados. Você deve fazer logon/desativar perfis em um arquivo, mas deve definir um arquivo e uma versão de memória. Como uma única definição de perfil pode dar suporte a apenas um modo de registro em log, pode haver duas ou quatro definições de perfil em um arquivo .wprp, uma para cada combinação de modo de registro em log e nível de detalhes. Todas as definições de perfil em um único arquivo .wprp devem ter o mesmo atributo Name .

< Nome>.<DetailLevel>.<Loggingmode>

O exemplo de código a seguir mostra Example1.wprp. Esse arquivo contém duas definições de perfil. As reticências (...) representam o corpo do perfil.

<Profile
  Id="Example1.Verbose.File"
  Name="Example1"
  DetailLevel="Verbose"
  LoggingMode="File"
  Description="Example1 profile">
…
</Profile>
<Profile
  Id="Example1.Verbose.Memory"
  Name="Example1"
  DetailLevel="Verbose"
  LoggingMode="Memory"
  Description="Example1 profile">
…
</Profile>

O exemplo de código a seguir mostra Example2.wprp. Esse arquivo contém quatro definições de perfil. As reticências (...) representam o corpo do perfil.

<Profile
  Id="Example2.Verbose.File"
  Name="Example2"
  DetailLevel="Verbose"
  LoggingMode="File"
  Description="Example2 profile">
…
</Profile>
<Profile
  Id="Example2.Light.File"
  Name="Example2"
  DetailLevel="Light"
  LoggingMode="File"
  Description="Example2 profile">
…
</Profile>
<Profile
  Id="Example2.Verbose.Memory"
  Name="Example2"
  DetailLevel="Verbose"
  LoggingMode="Memory"
  Description="Example2 profile">
…
</Profile>
<Profile
  Id="Example2.Light.Memory"
  Name="Example2"
  DetailLevel="Light"
  LoggingMode="Memory"
  Description="Example2 profile">
…
</Profile>

Elemento Collectors

O elemento Collectors contém referências a coletores de eventos e sistema definidos anteriormente. Os elementos SystemCollectorId e EventCollectorId identificam esses coletores.

Cada elemento SystemCollectorId e EventCollectorId contém um atributo Value obrigatório que especifica o atributo Id do coletor que deve ser usado. Cada elemento SystemCollectorId e EventCollectorId também contém uma lista de elementos SystemProviderId ou EventCollectorId . Esses elementos têm sintaxe semelhante. No entanto, esses elementos se referem a provedores de eventos e sistema definidos anteriormente.

Você também pode definir coletores e provedores dentro da definição de perfil.

Exemplo de definição de perfil

O exemplo de código a seguir mostra uma definição de perfil completa.

<Profile
  Id="Example.Light.File"
  Name="Example"
  DetailLevel="Light"
  LoggingMode="File"
  Description="Example profile">
  <ProblemCategories> 
    <ProblemCategory
      Value="First Level Triage"/>
  </ProblemCategories> 
  <Collectors> 
    <SystemCollectorId
      Value="WPRSystemCollector">
      <!--Enables the system provider for this system collector. --> 
      <SystemProviderId
        Value="system-provider"/>
    </SystemCollectorId> 
    <EventCollectorId
      Value="WPREventCollector">
      <EventProviders> 
      <!--Enables two event providers for this event collector. --> 
        <EventProviderId
          Value="Win32K-provider"/>
        <EventProviderId
          Value="Search-Core-provider"/>
      </EventProviders> 
    </EventCollectorId> 
  </Collectors>
</Profile>

Criação de perfis de gravação

2. Definições do sistema e do provedor de eventos

Modo de registro em log

Nível de Detalhes

ProblemaCategorias

SystemCollectorId

HeapEventProviderId