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
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
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
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.
Argomenti correlati
Creazione di profili di registrazione
2. Definizioni del provider di eventi e di sistema
Informazioni di riferimento sul profilo di registrazione XML