Compartir a través de


Crear un archivo de regiones de interés

Un archivo Regions of Interest es un archivo XML válido que contiene los nodos siguientes:

  • InstrumentationManifest

  • Instrumentación

  • Regiones

  • RegionsRoot, un contenedor para todas las regiones definidas

  • Uno o varios nodos de región

Nota

En la definición de una región, el atributo de versión de la declaración XML, como version='1.0', es opcional.

El ejemplo siguiente es un archivo de regiones de interés completo que define una región simple. Las explicaciones de los atributos y nodos dentro de Region se describen después del ejemplo.

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

Definición de una región

Una definición de región contiene los siguientes atributos en el nodo Región :

  • Guid (obligatorio), un GUID para la región.

  • Name (obligatorio), un nombre único para la región. Un formato sugerido para Name es Root-GrandparentName-ParentName-RegionName.

  • FriendlyName (opcional), un nombre alternativo para la región.

Tipos de región

Puede crear los siguientes tipos de regiones en función de cómo se inician y detienen:

Regiones basadas en eventos

El tipo de región más común es uno cuyos puntos de inicio y detención se definen mediante eventos.

Para especificar un evento como punto de inicio o detención, debe proporcionar los siguientes atributos:

  • Proveedor, un GUID que especifica el identificador de proveedor para el evento.

  • Identificador, un short sin firmar que especifica el identificador del evento.

  • Versión, un carácter sin firmar que especifica la versión del evento.

Además, puede refinar aún más la definición agregando uno o varios nodos PayloadIdentifier . Estas etiquetas contienen dos atributos de cadena, FieldName y FieldValue, que especifican un campo que el evento debe contener. Las etiquetas PayloadIdentifier se describen más adelante en Uso de campos de carga para identificar eventos.

Ejemplos

A continuación se muestra un ejemplo básico para este tipo de región:

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

En el ejemplo siguiente, la región finaliza solo cuando el evento especificado contiene un campo denominado StartOrStop con un valor de 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>

Regiones basadas en la duración

Muchos eventos ETW se definen como un único evento de detención con un campo de carga de duración. Podemos calcular el punto de partida restando la duración de la hora del evento de detención.

La etiqueta Duration se puede usar dentro de una etiqueta Start o Stop para especificar un campo de carga desde el que obtener información de duración. Si define una duración para el punto inicial, la duración se resta del punto de detención. Del mismo modo, si define una duración para el punto de detención, la duración se agrega al punto inicial.

El nodo Duration puede tener los siguientes atributos:

  • Proveedor, un GUID que especifica el identificador de proveedor para el evento que contiene el campo de carga.

  • Identificador, un short sin signo que especifica el identificador del evento que contiene el campo de carga.

  • Versión, un carácter sin firmar que especifica la versión del evento que contiene el campo de carga.

  • Duration, una cadena que especifica el nombre del campo de carga.

  • Multiplicador. WPA requiere que la duración esté en nanosegundos. El multiplicador predeterminado es 1000000 (un millón), que convertirá milisegundos en nanosegundos.

Si define una duración para el punto inicial, la duración se resta del punto de detención. Del mismo modo, si define una duración para el punto de detención, la duración se agrega al punto inicial.

Ejemplo

En el ejemplo siguiente se define una región que se detiene cuando se inicia otra región. Para calcular el punto de partida, restamos una duración de nuestro punto de detención. La duración se encuentra en el campo de carga HiberHiberFileTime. A continuación, multiplicamos la duración en 1.000.000 para convertirla en nanosegundos y restarla del punto de detención.

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

Regiones basadas en otras regiones

Puede definir una región cuyos puntos de inicio y detención estén definidos por otras regiones mediante un nodo Region dentro del nodo Start o Stop . Este nodo Region tiene un atributo obligatorio, RegionGuid, que especifica el GUID de la región de destino.

De forma predeterminada, una región cuyo punto de partida se basa en otra región se iniciará cuando se detenga la región de punto de partida. Del mismo modo, una región cuyo punto de detención se basa en otra región se detendrá cuando se inicie la región de punto de detención. Puede invalidar este comportamiento predeterminado agregando un atributo opcional, Endpoint, al nodo Región. El punto de conexión puede tener un valor de Start o Stop y especifica qué punto de conexión de la región se va a usar para el evento de inicio o detención.

Ejemplo

La siguiente definición de región contiene puntos de inicio y detención definidos por otras regiones:

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

Regiones que son contenedores de otras regiones

Las regiones que contienen otras regiones se denominan contenedores. Los contenedores se inician cuando se inicia la primera instancia de una región independiente y se detienen cuando se detiene la última instancia. Estas regiones no tienen ningún otro atributo.

RegionRoot es un contenedor para todas las regiones que defina. Por lo tanto, RegionRoot se inicia cuando se inicia la primera instancia de una región y se detiene cuando se detiene la última instancia de una región.

Para definir una región de contenedor, simplemente defina una región sin un punto de partida o un punto de detención.

Ejemplo

En el ejemplo siguiente, los suscriptores para crear sesión son un contenedor para los suscriptores secundarios de crear sesión. Tenga en cuenta que los suscriptores para crear sesión no tienen un punto de partida ni un punto de detención. Se iniciará cuando se inicie la primera instancia de una región secundaria y se detendrá cuando se detenga la última instancia de una región secundaria.

<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 de campos de carga para identificar eventos

A menudo, las propiedades del identificador de evento (id. de proceso, identificador de subproceso e identificador de actividad) no son suficientes para identificar escenarios específicos. Por ejemplo, cuando se inicia un servicio, se desencadena un evento genérico que podría no identificar qué servicio se inició. Cuando esto ocurre, debe confiar en los campos de carga útil para obtener información adicional. En este caso, uno de los campos adicionales debe incluir el nombre del servicio. Puede usar esta información para especificar aún más los puntos de inicio y detención de la región.

Para usar campos de carga como identificadores de eventos adicionales, agregue uno o varios nodos PayloadIdentifier a un nodo Start o Stop .

El nodo PayloadIdentifier tiene los siguientes atributos:

  • FieldName (obligatorio), el nombre del campo de carga.

  • FieldValue (obligatorio), el valor de la carga útil.

  • FieldValueRelationship (opcional). Use IsEqual para especificar que el evento debe contener el valor de carga. Use DoesNotContain para especificar que el evento no debe contener el valor de carga. Si no se especifica este atributo, el valor predeterminado es IsEqual.

Nota

Los campos de carga distinguen mayúsculas de minúsculas y la definición XML debe coincidir completamente con el valor de carga. Por ejemplo, si un campo de carga tiene un valor de 00000, la definición de región también debe especificarse 00000 como valor de carga.

Ejemplo

El ejemplo siguiente contiene nodos PayloadIdentifier para el punto inicial y el punto de detención:

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

Eventos coincidentes para regiones

WPA coincide con los eventos iniciales con la detención de eventos en áreas de formulario en un proceso denominado coincidencia de eventos. En el nivel de evento, WPA intenta coincidir con un único evento de inicio o detención en función de su identificador de proveedor, identificador de evento, versión de evento y cualquier campo de carga adicional especificado.

La coincidencia también se puede extender al nivel de región, donde se pueden especificar criterios que deben cumplirse mediante los puntos de inicio y detención. En el nivel de región, puede requerir que ambos puntos tengan identificadores de subprocesos coincidentes, identificadores de proceso e identificadores de actividad. Además, también puede definir criterios de carga en el nivel de región.

Puede usar la coincidencia de nivel de región si incluye un nodo Match dentro del nodo Región . El nodo Match contiene un nodo secundario, Event, que puede tener cualquier combinación de los atributos siguientes:

  • TID="true" : se requieren identificadores de subprocesos coincidentes

  • PID="true" : se requieren identificadores de proceso coincidentes

  • AID="true" : se requieren identificadores de actividad coincidentes.

El nodo Event puede tener un nodo secundario Payload opcional que contenga un atributo FieldName . Este nodo requiere que los nodos de inicio y detención contengan valores de carga coincidentes para el FieldName especificado.

Como alternativa, el nodo Payload también puede contener un atributo opcional TargetFieldName. Si se especifica este atributo, FieldName corresponde a un campo de carga solo en el nodo inicial, mientras que TargetFieldName corresponde a un campo de carga en el nodo de detención.

Ejemplo

En el ejemplo siguiente se forma una región cuando el evento de inicio contiene un campo de carga, SubscriberName, cuyo valor coincide con el de un campo de carga, Client, en el nodo de detención. Los eventos de inicio y detención también deben tener identificadores de subprocesos coincidentes.

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

Filtrado de una región basada en una condición

WPA puede incluir o excluir una región basada en una condición, o desencadenador, que puede ser un evento u otra región. El desencadenador se especifica en un elemento Filter y la región que contiene Filter es el destino.

Si el desencadenador es una región, Filter debe contener el identificador de región.

Si el desencadenador es un evento, Filter debe contener un elemento Event con el ProviderId del proveedor ETW y uno o varios de los atributos siguientes: Id, Version, OpCode y Type.

El identificador y la versión se describen anteriormente en Tipos de región. OpCode es el valor que elija. El tipo especifica el modo de filtrado de la región de destino, incluida o excluida en función de las condiciones descritas en la tabla siguiente.

Tipo de filtro Descripción
Fuera Excluya la región de destino cuando se encuentre el evento o la región desencadenadores.
Puesto Excluya la región de destino cuando se produjo el destino después del evento o región de desencadenamiento más reciente.
OutPrev Excluya la región de destino cuando se produjo el destino antes del primer evento de desencadenamiento o región.
En Incluya la región de destino solo cuando se encuentre el evento desencadenador o la región.
InPost Incluya la región de destino solo cuando se produjo después del evento o región de desencadenamiento más reciente.
InPrev Incluya la región de destino solo cuando se produjo antes del primer evento de desencadenamiento o región.

Relaciones de elementos primarios y secundarios

Puede definir una región dentro de otra para crear una relación de elementos primarios y secundarios. Para que una región sea primaria, debe tener una hora de inicio anterior o igual que la hora de inicio de la región secundaria. También debe tener un tiempo de detención posterior o igual que el tiempo de detención de la región secundaria. Si no se cumplen estas condiciones, no se puede formar una relación de elementos primarios y secundarios.

Para especificar criterios adicionales para una región primaria, use el nodo primario dentro de un nodo Match . El nodo primario tiene los mismos atributos y nodos secundarios que el nodo Event usado en la coincidencia de nivel de región. Puede especificar que las regiones primarias y secundarias deben tener el mismo identificador de subproceso, identificador de proceso, identificador de actividad y cualquier número de campos de carga coincidentes.

Al usar campos de carga, si especifica solo el atributo FieldName , las regiones primarias y secundarias deben tener valores de carga coincidentes para ese campo. Si también especifica el atributo TargetFieldName , el atributo TargetFieldName se aplica al elemento primario, así como al secundario, lo que significa que la región secundaria debe tener un valor de carga para el campo FieldName que coincida con el valor de carga del campo TargetFieldName en el elemento primario.

Si un elemento secundario tiene más de un elemento primario potencial, se elige el elemento primario con la hora de inicio más temprana.

Ejemplo

En el ejemplo siguiente se definen criterios para un elemento primario. El elemento primario debe tener un identificador de subproceso coincidente y un valor de carga para el campo del SubscriberName elemento secundario debe coincidir con un valor para el Client campo del elemento primario.

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

Regiones de anidamiento automático

El anidamiento automático es una característica opcional que optimiza las relaciones de elementos primarios y secundarios.

Una región de anidamiento automático es aquella cuya duración está contenida en su totalidad dentro de la duración de una región del mismo nivel. Esta región se convierte efectivamente en un elemento secundario de su elemento relacionado de mayor duración.

Por ejemplo, suponga que el anidamiento automático está habilitado para las siguientes regiones:

  • Región primaria A

  • Región secundaria B1, que comienza en el momento 0 y se detiene en el momento 6

  • Región secundaria B2, que comienza en el momento 2 y se detiene en el momento 5

  • Región secundaria B3, que comienza en el momento 3 y se detiene en el momento 4

En este ejemplo, B2 se convierte en una región secundaria de B1 y B3 se convierte en una región secundaria de B2. Al crear este tipo de relación de elementos primarios y secundarios, se elige el elemento primario con la hora de inicio más cercana a la hora de inicio secundaria.

Para activar el anidamiento automático, agregue un nodo SelfNest dentro del nodo Match .

El nodo SelfNest no tiene parámetros necesarios. Sin embargo, puede usar los mismos parámetros coincidentes que se usan para crear relaciones normales entre elementos primarios y secundarios. Para obtener más información, vea Relaciones de elementos primarios y secundarios anteriormente en este tema.

Ejemplos

En el ejemplo siguiente se define una etiqueta Match que simplemente invoca el anidamiento automático:

<Match>
   <SelfNest />
</Match>

En el ejemplo siguiente se define un escenario de anidamiento automático más complejo que requiere identificadores de subprocesos coincidentes y campos de carga:

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

Nombres de instancia

Puede asignar un nombre único a cada instancia de una región coincidente mediante el nodo Nomenclatura . La nomenclatura es útil cuando tiene un gran número de instancias de la misma región o cuando necesita clasificar regiones en función de otros criterios. Los nombres de instancia se pueden basar en campos de carga o en relaciones con otras regiones.

Las instancias se pueden denominar en función de los valores de carga mediante el nodo PayloadBased dentro de un nodo de nomenclatura . El nodo PayloadBased tiene un atributo obligatorio, NameField, que especifica el campo de carga cuyos valores desea usar como nombres de instancia. Estos campos de carga pueden estar en el punto inicial o de detención de la región.

A continuación se muestra un ejemplo de una región con un nodo de nomenclatura basado en carga:

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

En el ejemplo anterior, el nodo Naming indica que el evento de inicio o de detención contiene un campo de carga denominado SubscriberName. Para cada instancia de la región que se crea, el nombre de la instancia es el valor de carga asociado.

Nota

Al asignar nombres a instancias de región, WPA comprueba primero el evento inicial del campo de carga coincidente. Si no se encuentra uno, WPA buscará el evento de detención para el campo de carga. Si no se encuentra ninguna coincidencia en ningún evento, se imprime un error en la consola.

A veces, la información de la carga no es la única información que queremos. Por ejemplo, si la información de la carga contenida es un identificador de dispositivo, es posible que deseemos volver a asignar esta información a una descripción y un nombre del dispositivo. Los atributos type admitidos son:

  • Device, asocia un nombre y una descripción.

  • GUID, asocia el GUID a la región.

  • CLSID, asocia un nombre de clase al identificador de clase.

  • PID, asocia el nombre del proceso a la región.

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

Si es posible que el valor de carga se encuentre en los puntos de inicio y detención, puede usar el atributo InstanceEndpoint opcional para especificar qué punto se va a usar. Los valores posibles para InstanceEndpoint son Start y Stop.

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

También puede asignar un nombre a una región en función de las relaciones con otras regiones. Para asociar con otra región, agregue un nodo RegionBased a un nodo de nomenclatura . El nodo RegionBased tiene cuatro atributos necesarios:

  • RegionGuid, el GUID de la región asociada.

  • Relation, un valor condicional que describe la relación entre la región que está definiendo y la región a la que está asociando. Actualmente, la única relación admitida es IsPresent, lo que significa que el condicional es true si la región asociada se encuentra en algún lugar del seguimiento.

  • IfRelationTrue, valor de cadena que se usa como nombre de instancia si la relación descrita por Relation es true.

  • IfRelationFalse, valor de cadena que se usa como nombre de instancia si la relación descrita por Relation es false.

En el ejemplo siguiente se define una región que tiene nombres basados en regiones. Si se encuentra una región con un GUID coincidente en algún lugar del seguimiento, cada instancia de Launch se denomina Warm. De lo contrario, cada instancia se denomina 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

Para ver los nombres de instancia en WPA, mantenga el mouse sobre una instancia de región en el gráfico Regiones de interés.

Metadatos

Puede agregar información adicional a una definición de región en forma de metadatos, contenida en un nodo Metadatos . Por ejemplo, puede incluir información en metadatos que explique los criterios de región para que otro usuario pueda comprender más fácilmente el propósito de la región. Los metadatos son simplemente datos adicionales: no afecta al procesamiento de regiones.

WPA agrega estos metadatos a cada instancia de región en la vista de gráfico de regiones de interés. Para ver los metadatos de los eventos coincidentes en WPA, simplemente expanda la región en la vista de gráfico y desplácese hasta los metadatos deseados. WPA asigna un número único a los metadatos y el nombre del nodo se muestra como la información de columna.

Ejemplo

En el ejemplo siguiente se incluye un nodo Metadata en la definición de región:

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

Regiones de interés

Características WPA