Compartir a través de


3. Definiciones de perfil

Los perfiles de grabación de Windows Performance Recorder (WPR) se almacenan en un archivo XML que tiene una extensión .wprp. Las definiciones de perfil reúnen las definiciones de recopilador y proveedor en el archivo .wprp.

Profiles

Se define un perfil de WPR mediante (<Profile> … </Profile> etiquetas XML que hacen referencia a etiquetas XML de definición de recopilador y proveedor que se definen en el mismo archivo .wprp o mediante la herencia en otro archivo .wprp. Cada etiqueta XML de definición de perfil debe tener los siguientes atributos:

  • Identificador: identificador único de la definición del perfil. Use la siguiente construcción del identificador de perfil:

    < Nombre>.<DetailLevel>.<LoggingMode>.

  • Nombre: cadena que indica el nombre del perfil.

  • DetailLevel: atributo que especifica si se usa una definición de perfil para el seguimiento de tiempo (Light) o el seguimiento de análisis (Detallado).

  • LoggingMode: atributo que especifica si el perfil registra eventos en un archivo secuencial o en búferes de memoria circular. Todos los perfiles deben tener un archivo y una versión de memoria en el mismo archivo .wprp.

  • Descripción: descripción textual del perfil que ve el usuario.

WPR admite la grabación de rendimiento para los modos de registro de archivos y memoria para cada archivo .wprp, excepto para los perfiles activados y desactivados. Debe iniciar o desactivar perfiles en un archivo, pero debe definir un archivo y una versión de memoria. Dado que una única definición de perfil solo puede admitir un modo de registro, puede haber dos o cuatro definiciones de perfil en un archivo .wprp, uno para cada combinación de modo de registro y nivel de detalle. Todas las definiciones de perfil de un único archivo .wprp deben tener el mismo atributo Name .

< Nombre>.<DetailLevel>.<LoggingMode>

En el ejemplo de código siguiente se muestra Example1.wprp. Este archivo contiene dos definiciones de perfil. Los puntos suspensivos (...) representan el cuerpo del perfil.

<Profile
  Id="Example1.Verbose.File"
  Name="Example1"
  DetailLevel="Verbose"
  LoggingMode="File"
  Description="Example1 profile">
…
</Profile>
<Profile
  Id="Example1.Verbose.Memory"
  Name="Example1"
  DetailLevel="Verbose"
  LoggingMode="Memory"
  Description="Example1 profile">
…
</Profile>

En el ejemplo de código siguiente se muestra Example2.wprp. Este archivo contiene cuatro definiciones de perfil. Los puntos suspensivos (...) representan el cuerpo del perfil.

<Profile
  Id="Example2.Verbose.File"
  Name="Example2"
  DetailLevel="Verbose"
  LoggingMode="File"
  Description="Example2 profile">
…
</Profile>
<Profile
  Id="Example2.Light.File"
  Name="Example2"
  DetailLevel="Light"
  LoggingMode="File"
  Description="Example2 profile">
…
</Profile>
<Profile
  Id="Example2.Verbose.Memory"
  Name="Example2"
  DetailLevel="Verbose"
  LoggingMode="Memory"
  Description="Example2 profile">
…
</Profile>
<Profile
  Id="Example2.Light.Memory"
  Name="Example2"
  DetailLevel="Light"
  LoggingMode="Memory"
  Description="Example2 profile">
…
</Profile>

Elemento Collectors

El elemento Collectors contiene referencias a los recopiladores de eventos y del sistema definidos previamente. Los elementos SystemCollectorId y EventCollectorId identifican estos recopiladores.

Cada elemento SystemCollectorId y EventCollectorId contiene un atributo Value obligatorio que especifica el atributo Id del recopilador que se va a usar. Cada elemento SystemCollectorId y EventCollectorId también contiene una lista de elementos SystemProviderId o EventCollectorId . Estos elementos tienen una sintaxis similar. Sin embargo, estos elementos hacen referencia a proveedores de eventos y del sistema definidos previamente.

También puede definir recopiladores y proveedores dentro de la definición de perfil.

Ejemplo de definición de perfil

En el ejemplo de código siguiente se muestra una definición de perfil completa.

<Profile
  Id="Example.Light.File"
  Name="Example"
  DetailLevel="Light"
  LoggingMode="File"
  Description="Example profile">
  <ProblemCategories> 
    <ProblemCategory
      Value="First Level Triage"/>
  </ProblemCategories> 
  <Collectors> 
    <SystemCollectorId
      Value="WPRSystemCollector">
      <!--Enables the system provider for this system collector. --> 
      <SystemProviderId
        Value="system-provider"/>
    </SystemCollectorId> 
    <EventCollectorId
      Value="WPREventCollector">
      <EventProviders> 
      <!--Enables two event providers for this event collector. --> 
        <EventProviderId
          Value="Win32K-provider"/>
        <EventProviderId
          Value="Search-Core-provider"/>
      </EventProviders> 
    </EventCollectorId> 
  </Collectors>
</Profile>

Creación de perfiles de grabación

2. Definiciones del proveedor de eventos y del sistema

Modo de registro

Nivel de detalle

ProblemCategories

SystemCollectorId

HeapEventProviderId