Compartilhar via


1. Definições de coletor

Atualmente, o WPR (Gravador de Desempenho do Windows) dá suporte a três tipos de coletores: o coletor do sistema, os coletores de eventos e um coletor de eventos de heap. A definição do coletor do sistema especifica tamanhos de buffer e outros atributos para sessões de agente do sistema ETW (Rastreamento de Eventos para Windows) que funcionam em conjunto com o Agente de Kernel do NT. As definições do coletor de heap e evento especificam tamanhos de buffer e outros atributos para sessões de usuário ETW.

A ordem de definição do coletor é restrita pelo esquema WPR. No arquivo .wprp, as definições do coletor do sistema devem preceder as definições do coletor de eventos. Essas definições devem preceder a definição do coletor de heap (se houver uma definição de coletor de heap). O esquema WPR é definido no esquema WPRControlProfiles.

Atributos do coletor

Os coletores têm os seguintes atributos obrigatórios:

  • Id: identificador de cadeia de caracteres exclusivo que se refere à definição do coletor no arquivo .wprp.

  • Nome: nome do coletor; por exemplo, "Coletor WPR". O nome do coletor do sistema deve ser "NT Kernel Logger".

As definições do coletor devem conter as seguintes definições de tamanho de buffer:

  • BufferSize: especifica o tamanho de um único buffer, em quilobytes (KB).

  • Buffers: especifica o número de buffers ou, se o atributo PercentageOfTotalMemory estiver definido como "true", o percentual da memória total a ser usada para buffer.

Para obter mais informações sobre buffers, consulte Modo de registro em log.

Exemplos de definição de coletor

O exemplo de código a seguir mostra uma definição de coletor de sistema e uma definição de coletor de eventos.

<SystemCollector
  Id="WPRSystemCollector"
  Name="NT Kernel Logger"
  FileName="WPRKernel.etl">
  <BufferSize
    Value="512"/>
  <Buffers
    Value="3"
    PercentageOfTotalMemory="true"/>
</SystemCollector>

<EventCollector
  Id="WPREventCollector"
  Name="WPR Event Collector"
  FileName="somefilename.etl">
  <BufferSize
    Value="128"/> 
  <Buffers
    Value="64"/>
</EventCollector>

<HeapEventCollector
  Id="Base_Heap_Collector"
  Name="Base Heap Collector"
  FileName="heap.etl">
</HeapEventCollector>

Exemplos de herança

O Gravador de Desempenho do Windows dá suporte à herança de seus objetos usando o Base="" atributo no esquema XML do perfil WPR. Isso permite que adições ou especializações de objetos sejam criadas progressivamente ao adicionar o reutilização de definições comuns.

A complexidade não intencional e os efeitos colaterais podem ocorrer em determinados cenários; esta seção descreve exemplos e práticas recomendadas.

Exemplo 1

exemplo de herança

Se um perfil perfil A quiser usar o coletor de eventos A com algumas modificações, ele poderá definir um Coletor coletor A2 que deriva do Coletor A (Base="Coletor A" e, em seguida, referencia esse coletor Coletor A2. Isso é recomendado porque apenas o objeto coletor deriva de outro objeto coletor e é referenciado diretamente.

Exemplo 2

exemplo de herança 2

Um perfil perfil A faz referência a um coletor A. Outro perfil perfil B requer alterações no Perfil A para que ele seja derivado dele e especifique suas alterações diretamente em sua definição. Isso é recomendado porque apenas o objeto de perfil deriva de outro objeto de perfil.

Exemplo 3

exemplo de herança 3

Um perfil perfil A faz referência a um coletor A. Um coletor coletor A2 deriva do Coletor A. Por fim, o perfil Perfil B deriva do Perfil A e também faz referência ao Coletor A que já é referenciado no perfil pai do Perfil B.

Nesse caso, é ambíguo como a definição do Coletor A2 deve ser avaliada. Em um caso, a derivação de perfil tem precedência e, em outro, a derivação do coletor tem precedência. Essa não é uma prática recomendada porque a ordenação é indefinida e pode levar a resultados diferentes com base na ordenação de operações.

Com base nisso, você nunca deve combinar derivações em vários tipos de objetos.

Criação de perfis de gravação

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

Referência XML de perfil de gravação