Condividi tramite


1. Definizioni dell'agente di raccolta

Windows Performance Recorder (WPR) supporta attualmente tre tipi di raccolta: agente di raccolta di sistemi, agente di raccolta eventi e agente di raccolta eventi heap. La definizione dell'agente di raccolta di sistema specifica le dimensioni del buffer e altri attributi per le sessioni del logger di sistema di Event Tracing for Windows (ETW) che funzionano insieme a NT Kernel Logger. Le definizioni dell'agente di raccolta di eventi e heap specificano le dimensioni del buffer e altri attributi per le sessioni utente ETW.

L'ordine di definizione dell'agente di raccolta è limitato dallo schema WPR. Nel file con estensione wprp le definizioni dell'agente di raccolta di sistema devono precedere le definizioni dell'agente di raccolta eventi. Queste definizioni devono precedere entrambe la definizione dell'agente di raccolta heap (se è presente una definizione dell'agente di raccolta heap). Lo schema WPR è definito nello schema WPRControlProfiles.

Attributi dell'agente di raccolta

Gli agenti di raccolta hanno gli attributi obbligatori seguenti:

  • ID: identificatore di stringa univoco che fa riferimento alla definizione dell'agente di raccolta nel file wprp.

  • Nome: nome dell'agente di raccolta; Ad esempio, "Agente di raccolta WPR". Il nome dell'agente di raccolta di sistema deve essere "NT Kernel Logger".

Le definizioni dell'agente di raccolta devono contenere le definizioni delle dimensioni del buffer seguenti:

  • BufferSize: specifica le dimensioni di un singolo buffer, in kilobyte (KB).

  • Buffer: specifica il numero di buffer o, se l'attributo PercentageOfTotalMemory è impostato su "true", la percentuale di memoria totale da usare per il buffering.

Per altre informazioni sui buffer, vedere Modalità di registrazione.

Esempi di definizione dell'agente di raccolta

Nell'esempio di codice seguente viene illustrata una definizione dell'agente di raccolta di sistemi e una definizione dell'agente di raccolta eventi.

<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>

Esempi di ereditarietà

Windows Performance Recorder supporta l'ereditarietà degli oggetti usando l'attributo Base="" nello schema XML del profilo WPR. Ciò consente di creare progressivamente aggiunte o specializzazioni di oggetti mentre si aggiungono di nuovo definizioni comuni.

La complessità e gli effetti collaterali imprevisti possono verificarsi in determinati scenari; questa sezione descrive esempi e procedure consigliate consigliate.

Esempio 1

esempio di ereditarietà

Se un profilo A vuole usare l'agente di raccolta eventi A con alcune modifiche, può definire un agente di raccolta A2 che deriva da Collector A (Base="Collector A") e quindi fa riferimento a tale agente di raccolta A2. Questa operazione è consigliata perché solo l'oggetto agente di raccolta deriva da un altro oggetto dell'agente di raccolta e viene fatto riferimento direttamente.

Esempio 2

esempio di ereditarietà 2

Un profilo A fa riferimento a un agente di raccolta raccolta A. Un altro profilo B richiede modifiche a Profile A , quindi deriva da esso e specifica le modifiche direttamente nella relativa definizione. Questa operazione è consigliata perché solo l'oggetto profilo deriva da un altro oggetto profilo.

Esempio 3

esempio di ereditarietà 3

Un profilo A fa riferimento a un agente di raccolta raccolta A. Un agente di raccolta A2 deriva da Collector A. Infine, il profilo B deriva sia dal profilo A che dall'agente di raccolta A che fa riferimento al profilo padre del profilo B.

In questo caso è ambiguo il modo in cui deve essere valutata la definizione per Collector A2 . In un caso, la derivazione del profilo ha la precedenza e in un'altra derivazione dell'agente di raccolta ha la precedenza. Questa procedura non è consigliata perché l'ordinamento non è definito e può causare risultati diversi in base all'ordinamento delle operazioni.

In base a questo, non è mai necessario combinare le derivazioni tra più tipi di oggetti.

Creazione di profili di registrazione

2. Definizioni del provider di eventi e di sistema

Informazioni di riferimento sul profilo di registrazione XML