Creazione di un file di interesse per le aree

Un file Regions of Interest è un file XML valido che contiene i nodi seguenti:

  • InstrumentationManifest

  • Strumentazione

  • Aree

  • RegionsRoot, un contenitore per tutte le aree definite

  • Uno o più nodi area

Nota

Nella definizione di un'area, l'attributo di versione nella dichiarazione XML, ad esempio version='1.0', è facoltativo.

L'esempio seguente è un file Di interesse completo che definisce un'area semplice. Le spiegazioni per gli attributi e i nodi all'interno di Area sono descritte dopo l'esempio.

<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<?Copyright (c) Microsoft Corporation. All rights reserved.?>
<InstrumentationManifest>
   <Instrumentation>
      <Regions>
         <RegionRoot Guid="{EFA7A927-BAE3-48F6-92E1-000000000000}"
                     Name="Sample Region File Root"
                     FriendlyName="Root">
            <Region Guid="{d8d639a0-cf4c-45fb-976a-000111000100}"
                    Name="FastStartup-Suspend-UserSession-Shutdown"
                    FriendlyName="User Session Shutdown">
               <Start>
                  <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="301" Version="0" />
               </Start>
               <Stop>
                  <Event Provider="{331c3b3a-2005-44c2-ac5e-77220c37d6b4}" Id="22" Version="0" />
               </Stop>
            </Region>
         </RegionRoot>
      </Regions>
   </Instrumentation>
</InstrumentationManifest>

Definizione di un'area

Una definizione di area contiene gli attributi seguenti nel nodo Area :

  • Guid (obbligatorio), GUID per l'area.

  • Nome (obbligatorio), nome univoco per l'area. Un formato suggerito per Name è Root-GrandparentName-ParentName-RegionName.

  • FriendlyName (facoltativo), nome alternativo per l'area.

Tipi di area

È possibile creare i tipi di aree seguenti in base alla modalità di avvio e arresto:

Aree basate sugli eventi

Il tipo più comune di area è quello il cui punto iniziale e di arresto sono definiti dagli eventi.

Per specificare un evento come punto iniziale o di arresto, è necessario specificare gli attributi seguenti:

  • Provider, GUID che specifica l'ID del provider per l'evento.

  • ID, un breve senza segno che specifica l'ID dell'evento.

  • Versione, un carattere senza segno che specifica la versione dell'evento.

È inoltre possibile perfezionare ulteriormente la definizione aggiungendo uno o più nodi PayloadIdentifier . Questi tag contengono due attributi stringa, FieldName e FieldValue, che specificano un campo che l'evento deve contenere. I tag PayloadIdentifier sono ulteriormente descritti di seguito in Uso di campi payload per identificare gli eventi.

Esempio

Di seguito è riportato un esempio di base per questo tipo di area:

<Region Guid="{d8d639a0-cf4c-45fb-976a-000111000100}"
        Name="FastStartup-Suspend-UserSession-Shutdown"
        FriendlyName="User Session Shutdown">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="301" Version="0" />
   </Start>
   <Stop>
      <Event Provider="{331c3b3a-2005-44c2-ac5e-77220c37d6b4}" Id="22" Version="0" />
   </Stop>
</Region>

Nell'esempio seguente l'area termina solo quando l'evento specificato contiene un campo denominato StartOrStop con un valore di Stop:

<Region Guid="{d8d639a0-cf4c-45fb-976a-000111000100}"
        Name="FastStartup-Suspend-UserSession-Shutdown"
        FriendlyName="User Session Shutdown">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="301" Version="0" />
   </Start>
   <Stop>
      <Event Provider="{331c3b3a-2005-44c2-ac5e-77220c37d6b4}" Id="22" Version="0" />
      <PayloadIdentifier FieldName="StartOrStop" FieldValue="Stop" />
   </Stop>
</Region>

Aree in base alla durata

Molti eventi ETW vengono definiti come un singolo evento di arresto con un campo payload di durata. È possibile calcolare il punto iniziale sottraendo la durata dall'ora dell'evento di arresto.

Il tag Duration può essere usato all'interno di un tag Start o Stop per specificare un campo payload da cui acquisire informazioni sulla durata. Se si definisce una durata per il punto iniziale, la durata viene sottratta dal punto di arresto. Analogamente, se si definisce una durata per il punto di arresto, la durata viene aggiunta al punto iniziale.

Il nodo Duration può avere gli attributi seguenti:

  • Provider, GUID che specifica l'ID del provider per l'evento contenente il campo payload.

  • ID, un breve senza segno che specifica l'ID dell'evento che contiene il campo payload.

  • Versione, un carattere senza segno che specifica la versione dell'evento che contiene il campo payload.

  • Durata, stringa che specifica il nome del campo payload.

  • Moltiplicatore. WPA richiede la durata in nanosecondi. Il moltiplicatore predefinito è 100000 (un milione), che converte millisecondi in nanosecondi.

Se si definisce una durata per il punto iniziale, la durata viene sottratta dal punto di arresto. Analogamente, se si definisce una durata per il punto di arresto, la durata viene aggiunta al punto iniziale.

Esempio

Nell'esempio seguente viene definita un'area che si arresta all'avvio di un'altra area. Per calcolare il punto iniziale, sottraiamo una durata dal punto di arresto. La durata viene trovata nel campo payload HiberHiberFileTime. Moltiplicamo quindi la durata per 1.000.000 per convertirla in nanosecondi e sottraerla dal punto di arresto.

<Region Guid="{7D6BA3F6-BC04-4776-8A7F-93CF7F4E2B6D}"
   Name="FastStartup-Suspend-WriteHiberFile"
   FriendlyName="Subscribers for Create Session">
   <Region Guid="{93783B2C-A67F-49cb-89BC-BF305D7E2CEA}"
         Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers-Child"
         FriendlyName="Hiberfile Write">
      <Start>
         <Duration Provider="{331c3b3a-2005-44c2-ac53-77220c37d6b4}" 
                   Id="117"
                   Version="0"
                   Duration="HiberHiberFileTime"
                   Multiplier="1000000" />
      </Start>
      <Stop>
         <Region RegionGuid="{EC1BB2D9-4AA8-4d82-84AA-6042FF4CFBE3}" />
      </Stop>
   </Region>
</Region>

Aree basate su altre aree

È possibile definire un'area i cui punti di partenza e arresto sono definiti da altre aree usando un nodo Area all'interno del nodo Start o Stop . Questo nodo Area ha un attributo obbligatorio, RegionGuid, che specifica il GUID dell'area di destinazione.

Per impostazione predefinita, un'area il cui punto iniziale si basa su un'altra area inizierà quando l'area del punto iniziale si arresta. Analogamente, un'area il cui punto di arresto si basa su un'altra area si arresterà all'avvio dell'area del punto di arresto. È possibile eseguire l'override di questo comportamento predefinito aggiungendo un attributo facoltativo, Endpoint, al nodo Area. L'endpoint può avere un valore di Start o Stop e specifica l'endpoint dell'area da usare per l'evento di avvio o arresto.

Esempio

La definizione di area seguente contiene punti di avvio e arresto definiti da altre aree:

<Region Guid="{93783B2C-A67F-49cb-89BC-BF305D7E2CEA}"
        Name="FastStartup-Suspend-HiberInitTime"
        FriendlyName="Hiberfile Initialization">
   <Start>
      <Region RegionGuid="{5E81D74C-0CCC-43f9-8119-953F827BCD12}" />
   </Start>
   <Stop>
      <Region RegionGuid="{7D6BA3F6-BC04-4776-8A7F-93CF7F4E2B6D}" />
   </Stop>
</Region>

Aree che sono contenitori di altre aree

Le aree che contengono altre aree sono denominate contenitori. I contenitori iniziano quando viene avviata la prima istanza di un'area contenuta e si arrestano quando l'ultima istanza si arresta. Queste aree non hanno altri attributi.

RegionRoot è un contenitore per tutte le aree definite. Pertanto, RegionRoot inizia quando viene avviata la prima istanza di un'area e si arresta quando l'ultima istanza di un'area si arresta.

Per definire un'area contenitore, è sufficiente definire un'area senza un punto di partenza o un punto di arresto.

Esempio

Nell'esempio seguente i Sottoscrittori per Creare sessione sono un contenitore per figlio di Sottoscrittori della sessione di creazione. Si noti che i Sottoscrittori per La sessione di creazione non hanno un punto di partenza o un punto di arresto. Verrà avviato quando viene avviata la prima istanza di un'area figlio e si arresta l'ultima istanza di un'area figlio.

<Region Guid="{A75D8F5D-E8F8-40b8-B453-5CC70DEAC06F}"
   Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers"
   FriendlyName="Subscribers for Create Session">
   <Region Guid="{93783B2C-A67F-49cb-89BC-BF305D7E2CEA}"
           Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers-Child"
           FriendlyName="Child of Subscribers for Create Session">
      <Start>
         <Region RegionGuid="{5E81D74C-0CCC-43f9-8119-953F827BCD12}" />
      </Start>
      <Stop>
         <Region RegionGuid="{7D6BA3F6-BC04-4776-8A7F-93CF7F4E2B6D}" 
                 Endpoint="Stop" />
      </Stop>
   </Region>
</Region>

Uso dei campi payload per identificare gli eventi

Spesso le proprietà ID evento (ID processo, ID thread e ID attività) non sono sufficienti per identificare scenari specifici. Ad esempio, quando un servizio viene avviato, viene generato un evento generico che potrebbe non identificare il servizio avviato. Quando si verifica questo problema, è necessario basarsi sui campi payload per altre informazioni. In questo caso, uno dei campi aggiuntivi deve includere il nome del servizio. È possibile usare queste informazioni per specificare ulteriormente l'area iniziale e i punti di arresto.

Per usare i campi payload come identificatori di evento aggiuntivi, aggiungere uno o più nodi PayloadIdentifier a un nodo Start o Stop .

Il nodo PayloadIdentifier ha gli attributi seguenti:

  • FieldName (obbligatorio), nome del campo payload.

  • FieldValue (obbligatorio), il valore del payload.

  • FieldValueRelationship (facoltativo). Usare IsEqual per specificare che l'evento deve contenere il valore del payload. Usare DoesNotContain per specificare che l'evento non deve contenere il valore del payload. Se questo attributo non è specificato, il valore predefinito è IsEqual.

Nota

I campi del payload sono distinzione tra maiuscole e minuscole e la definizione XML deve corrispondere completamente al valore del payload. Ad esempio, se un campo payload ha un valore di , la definizione dell'area 00000deve specificare 00000 anche come valore del payload.

Esempio

L'esempio seguente contiene nodi PayloadIdentifier sia per il punto di partenza che per il punto di arresto:

<Region Guid="{AB719FB1-D863-4305-AE8E-F21281899A85}"
        Name="FastStartup-ConsoleSessionDisconnect"
        FriendlyName="Console Session Disconnect">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="801" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="8" />
      <PayloadIdentifier FieldName="Key" FieldValue="00000" />
   </Start>
   <Stop>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="802" Version="0" />
      <PayloadIdentifier FieldName="Event"
                         FieldValue="20"
                         FieldValueRelationship="DoesNotContain" />
   </Stop>
</Region>

Eventi corrispondenti per le aree

WPA corrisponde all'avvio di eventi con l'arresto di eventi nelle aree di un processo denominato corrispondenza degli eventi. A livello di evento, WPA tenta di corrispondere a un singolo evento di avvio o arresto in base al relativo ID provider, ID evento, versione evento e qualsiasi campo payload specificato aggiuntivo.

La corrispondenza può essere estesa anche al livello di area, in cui è possibile specificare i criteri che devono essere soddisfatti sia dai punti di partenza che di arresto. A livello di area, è possibile richiedere che entrambi i punti abbiano ID thread corrispondenti, ID processo e ID attività. Inoltre, è anche possibile definire criteri di payload a livello di area.

È possibile usare la corrispondenza a livello di area includendo un nodo Match all'interno del nodo Area . Il nodo Match contiene un nodo figlio, Event, che può avere qualsiasi combinazione degli attributi seguenti:

  • TID="true" - richiedono ID thread corrispondenti

  • PID="true" – richiedono ID processo di corrispondenza

  • AID="true" – richiedono ID attività corrispondenti

Il nodo Evento può avere un nodo figlio del payload facoltativo che contiene un attributo FieldName . Questo nodo richiede che sia i nodi di avvio che di arresto contengano valori di payload corrispondenti per fieldName specificato.

In alternativa, il nodo Payload può contenere anche un attributo facoltativo, TargetFieldName. Se questo attributo viene specificato, FieldName corrisponde a un campo payload solo nel nodo iniziale, mentre TargetFieldName corrisponde a un campo payload nel nodo di arresto.

Esempio

Nell'esempio seguente viene creata un'area quando l'evento iniziale contiene un campo payload, SubscriberName, il cui valore corrisponde a quello di un campo payload, client, nel nodo di arresto. Gli eventi di avvio e arresto devono avere anche ID thread corrispondenti.

<Region Guid="{A75D8F5D-E8F8-40b8-B453-5CCC70DEAC06F}"
        Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers"
        FriendlyName="Subscribers for Create Session">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="805" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="0" />
   </Start>
   <Stop>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="806" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="0" />
   </Stop>
   <Match>
      <Event TID="true">
         <Payload FieldName="SubscriberName" TargetFieldName="Client" />
      </Event>
   </Match>
</Region>

Filtro di un'area in base a una condizione

WPA può includere o escludere un'area in base a una condizione o a un trigger, che può essere un evento o un'altra area. Il trigger viene specificato in un elemento Filter e l'area contenente Filter è la destinazione.

Se il trigger è un'area, il filtro deve contenere l'ID area.

Se il trigger è un evento, Filter deve contenere un elemento Event con providerId del provider ETW e uno o più degli attributi seguenti: ID, Versione, OpCode e Type.

Id e Versione sono descritti in precedenza nei tipi di area. OpCode è qualsiasi valore scelto. Il tipo specifica la modalità di filtro dell'area di destinazione, inclusa o esclusa in base alle condizioni descritte nella tabella seguente.

Type of filter Descrizione
In uscita Escludere l'area di destinazione quando viene trovato l'evento o l'area di attivazione.
Avamposto Escludere l'area di destinazione quando si è verificata la destinazione dopo l'evento o l'area di attivazione più recente.
OutPrev Escludere l'area di destinazione quando si è verificata la destinazione prima del primo evento o area di attivazione.
In Includere l'area di destinazione solo quando viene trovato l'evento o l'area di attivazione.
InPost Includere l'area di destinazione solo quando si è verificata dopo l'evento o l'area di attivazione più recente.
InPrev Includere l'area di destinazione solo quando si è verificata prima del primo evento o area di attivazione.

Relazioni padre-figlio

È possibile definire un'area all'interno di un'altra per creare una relazione padre-figlio. Affinché un'area sia un padre, deve avere un'ora di inizio precedente o uguale all'ora di inizio dell'area figlio. Deve inoltre avere un tempo di arresto successivo o uguale al tempo di arresto dell'area figlio. Se queste condizioni non vengono soddisfatte, non è possibile creare una relazione padre-figlio.

Per specificare criteri aggiuntivi per un'area padre, usare il nodo Padre all'interno di un nodo Match . Il nodo Padre ha gli stessi attributi e nodi figlio del nodo Evento usato nella corrispondenza a livello di area. È possibile specificare che le aree padre e figlio devono avere lo stesso ID thread, ID processo, ID attività e qualsiasi numero di campi payload corrispondenti.

Quando si usano i campi payload, se si specifica solo l'attributo FieldName , sia le aree padre che figlio devono avere valori di payload corrispondenti per tale campo. Se si specifica anche l'attributo TargetFieldName , l'attributo TargetFieldName si applica all'elemento padre e al figlio, significa che l'area figlio deve avere un valore payload per il campo FieldName che corrisponde al valore del payload per il campo TargetFieldName nell'elemento padre.

Se un figlio ha più di un potenziale padre, viene scelto l'elemento padre con l'ora iniziale più recente.

Esempio

L'esempio seguente definisce i criteri per un elemento padre. L'elemento padre deve avere un ID thread corrispondente e un valore payload per il SubscriberName campo nell'elemento figlio deve corrispondere a un valore per il Client campo nell'elemento padre.

<Region Guid="{A75D8F5D-E8F8-40b8-B453-5CC70DEAC06F}"
        Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers"
        FriendlyName="Subscribers for Create Session">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="805" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="0" />
   </Start>
   <Stop>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="806" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="0" />
   </Stop>
   <Match>
      <Event TID="true">
         <Payload FieldName="SubscriberName" TargetFieldName="Client" />
      </Event>
      <Parent TID="true">
         <Payload FieldName="SubscriberName" TargetFieldName="Client" />
      </Parent>
   </Match>
</Region>

Aree di auto-annidamento

L'auto-annidamento è una funzionalità facoltativa che ottimizza le relazioni padre-figlio.

Un'area self-nesting è una la cui durata è contenuta interamente entro la durata di un'area di pari livello. Questa regione diventa effettivamente un bambino dei suoi fratelli più lunghi.

Si supponga, ad esempio, che l'auto-annidamento sia abilitato per le aree seguenti:

  • Area padre A

  • Area figlio B1, che inizia all'ora 0 e si arresta alla volta 6

  • Area figlio B2, che inizia all'ora 2 e si arresta alla volta 5

  • Area figlio B3, che inizia all'ora 3 e si arresta alla volta 4

In questo esempio B2 diventa un'area figlio di B1 e B3 diventa un'area figlio di B2. Quando si crea questo tipo di relazione padre-figlio, viene scelto l'ora padre con l'ora iniziale più vicina all'ora di inizio figlio.

Per attivare l'auto-annidamento, aggiungere un nodo SelfNest all'interno del nodo Match .

Il nodo SelfNest non ha parametri obbligatori. È tuttavia possibile usare gli stessi parametri corrispondenti usati per creare relazioni padre-figlio normali. Per altre informazioni, vedere Relazioni padre-figlio in precedenza in questo argomento.

Esempio

Nell'esempio seguente viene definito un tag Match che richiama semplicemente l'auto-annidamento:

<Match>
   <SelfNest />
</Match>

L'esempio seguente definisce uno scenario auto-annidamento più complesso che richiede id thread corrispondenti e campi payload:

<Match>
   <SelfNest TID="true">
      <Payload FieldName="SubscriberName" />
   </SelfNest>
</Match>

Nomi di istanza

È possibile assegnare un nome univoco a ogni istanza di un'area corrispondente usando il nodo Denominazione . La denominazione è utile quando si dispone di un numero elevato di istanze della stessa area o quando è necessario classificare le aree in base ad altri criteri. I nomi delle istanze possono essere basati su campi payload o sulle relazioni con altre aree.

Le istanze possono essere denominate in base ai valori del payload usando il nodo PayloadBased all'interno di un nodo di denominazione . Il nodo PayloadBased ha un attributo obbligatorio, NameField, che specifica il campo payload i cui valori si desidera usare come nomi di istanza. Questi campi payload possono trovarsi nel punto iniziale o di arresto per l'area.

Di seguito è riportato un esempio di area con un nodo di denominazione basato su payload:

<Region Guid="{9261872F-D3A7-4d80-BDE3-8479CC920639}"
        Name="FastStartup-Suspend-Winlogon-EndShell-CallSubscriber"
        FriendlyName="Call Subscriber for End Shell">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="811" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="13" />
   </Start>
   <Stop>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="812" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="13" />
   </Stop>
   <Match>
      <Event PID="true" />
      <Parent PID="true" />
   </Match>
   <Naming>
      <PayloadBased NameField="SubscriberName" />
   </Naming>
</Region>

Nell'esempio precedente il nodo Denominazione indica che l'evento di avvio o di arresto contiene un campo payload denominato SubscriberName. Per ogni istanza dell'area creata, il nome dell'istanza è il valore del payload associato.

Nota

Quando si rinominano le istanze dell'area, WPA controlla prima l'evento iniziale per il campo payload corrispondente. Se non viene trovato, WPA cercherà l'evento di arresto per il campo payload. Se una corrispondenza non viene trovata in entrambi gli eventi, viene stampato un errore nella console.

A volte, le informazioni nel payload non sono le uniche informazioni che vogliamo. Ad esempio, se le informazioni contenute nel payload sono un ID dispositivo, è possibile eseguire il mapping di queste informazioni a una descrizione e un nome del dispositivo. Gli attributi di tipo supportati sono:

  • Deviceassocia un nome e una descrizione

  • GUID, associa il GUID all'area

  • CLSID, associa un nome di classe all'ID classe

  • PID, associa il nome del processo all'area

<Naming>
   <PayloadBased NameField="SubscriberName" Type="Device" />
</Naming>

Se è possibile trovare il valore del payload sia nei punti di avvio che di arresto, è possibile usare l'attributo InstanceEndpoint facoltativo per specificare il punto da usare. I valori possibili per InstanceEndpoint sono Start e Stop.

<Naming>
   <PayloadBased NameField="SubscriberName" InstanceEndpoint="Start" />
</Naming>

È anche possibile assegnare un nome a un'area in base alle relazioni con altre aree. Per associare un'altra area, aggiungere un nodo RegionBased a un nodo di denominazione . Il nodo RegionBased ha quattro attributi obbligatori:

  • RegionGuid, GUID dell'area associata.

  • Relazione, valore condizionale che descrive la relazione tra l'area definita e l'area a cui si associa. Attualmente, l'unica relazione supportata è IsPresent, ovvero che il condizionale è true se l'area associata viene trovata in un punto qualsiasi della traccia.

  • IfRelationTrue, valore stringa utilizzato come nome dell'istanza se la relazione descritta da Relation è true.

  • IfRelationFalse, valore stringa usato come nome dell'istanza se la relazione descritta da Relation è false.

Nell'esempio seguente viene definita un'area con denominazione basata sull'area. Se un'area con un GUID corrispondente viene trovata in un punto qualsiasi della traccia, ogni istanza di Launch è denominata Warm. In caso contrario, ogni istanza è denominata Cold.

<Region Guid="{C99EFA90-F645-4A24-9576-740351171BD0}"
        Name="WinStoreAppActivationDuration"
        FriendlyName="Launch">
   <Start>
      <Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="5901" Version="0" />
      <PayloadIdentifier FieldName="SqmableContractID" FieldValue="Windows.Launch" />
   </Start>
   <Stop>
      <Event Provider="{315a8872-923e-43a2-9889-33cd4754bf64}" Id="5902" Version="0" />
      <PayloadIdentifier FieldName="SqmableContractID" FieldValue="Windows.Launch" />
   </Stop>
   <Match>
      <Event PID="true" />
   </Match>
   <Naming>
      <RegionBased RegionGuid="{1539A93E-129C-4602-A011-431E7F73A353}" Relation="IsPresent" IfRelationTrue="Warm" IfRelationFalse="Cold" />
   </Naming>
</Region>

Nota

È possibile visualizzare i nomi di istanza in WPA passando il puntatore del mouse su un'istanza di area nel grafico Aree di interesse.

Metadati

È possibile aggiungere informazioni aggiuntive a una definizione di area sotto forma di metadati, contenute all'interno di un nodo Metadati . Ad esempio, è possibile includere informazioni nei metadati che spiegano i criteri dell'area in modo che un altro utente possa comprendere più facilmente lo scopo dell'area. I metadati sono semplicemente dati aggiuntivi, ma non influiscono sull'elaborazione delle aree.

WPA aggiunge questi metadati a ogni istanza dell'area nella visualizzazione grafico del grafico Aree di interesse. Per visualizzare i metadati per gli eventi corrispondenti in WPA, è sufficiente espandere l'area nella visualizzazione grafico e scorrere fino ai metadati desiderati. WPA assegna un numero univoco ai metadati e il nome del nodo viene visualizzato come informazioni sulla colonna.

Esempio

L'esempio seguente include un nodo Metadata nella definizione dell'area:

<Region Guid="{F466EE67-192C-4772-B13D-052CCD2D70B3}"
        Name="FastStartup-Suspend-Winlogon-Logoff-Subscribers"
        FriendlyName="Subscribers for Logoff">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="805" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="3" />
   </Start>
   <Stop>
      <Event Provider="{db39b383-7cf3-4331-91cc-a3cb16a3b538}" Id="806" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="3" />
   </Stop>
   <Match>
      <Event>
         <Payload FieldName="Event" />
      </Event>
   </Match>
   <Naming>
      <PayloadBased NameField="SubscriberName" />
   </Naming>
   <Metadata>
      <FAS.TestNode>yes</FAS.TestNode>
   </Metadata>
</Region>

Aree di interesse

Funzionalità WPA