다음을 통해 공유


3. 프로필 정의

WPR(Windows Performance Recorder) 기록 프로필은 확장명이 .wprp인 XML 파일에 저장됩니다. 프로필 정의는 .wprp 파일에서 수집기 및 공급자 정의를 함께 가져옵니다.

Profiles

동일한 .wprp 파일에서 정의하는 수집기 및 공급자 정의 XML 태그를 참조하는 (<Profile> … </Profile> XML 태그를 사용하거나 다른 .wprp 파일에서 상속을 사용하여 WPR 프로필을 정의합니다. 각 프로필 정의 XML 태그에는 다음 특성이 있어야 합니다.

  • Id: 프로필 정의의 고유 식별자입니다. 다음 프로필 식별자 생성을 사용합니다.

    <이름>.<DetailLevel>.<LoggingMode>.

  • 이름: 프로필의 이름을 나타내는 문자열입니다.

  • DetailLevel: 프로필 정의가 타이밍 추적(간단함) 또는 분석 추적(자세함)에 사용되는지 여부를 지정하는 특성입니다.

  • LoggingMode: 프로필이 이벤트를 순차 파일에 기록할지 순환 메모리 버퍼에 기록할지 지정하는 특성입니다. 모든 프로필에는 파일과 동일한 .wprp 파일의 메모리 버전이 둘 다 있어야 합니다.

  • 설명: 사용자에게 표시되는 프로필에 대한 텍스트 설명입니다.

WPR은 설정/해제 프로필을 제외한 각 .wprp 파일의 파일 및 메모리 로깅 모드 모두에 대한 성능 기록을 지원합니다. 파일에 대한 프로필을 로그온/오프해야 하지만 파일과 메모리 버전을 모두 정의해야 합니다. 단일 프로필 정의는 하나의 로깅 모드만 지원할 수 있으므로 .wprp 파일에는 로깅 모드와 세부 정보 수준의 각 조합에 대해 하나씩 두 개 또는 네 개의 프로필 정의가 있을 수 있습니다. 단일 .wprp 파일의 모든 프로필 정의에는 동일한 이름 특성이 있어야 합니다.

<이름>.<DetailLevel>.<LoggingMode>

다음 코드 예제에서는 Example1.wprp를 보여 줍니다. 이 파일에는 두 개의 프로필 정의가 포함되어 있습니다. 줄임표(...)는 프로필의 본문을 나타냅니다.

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

다음 코드 예제에서는 Example2.wprp를 보여 줍니다. 이 파일에는 네 개의 프로필 정의가 포함되어 있습니다. 줄임표(...)는 프로필의 본문을 나타냅니다.

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

수집기 요소

수집기 요소에는 이전에 정의된 시스템 및 이벤트 수집기에 대한 참조가 포함되어 있습니다. SystemCollectorIdEventCollectorId 요소는 이러한 수집기를 식별합니다.

SystemCollectorIdEventCollectorId 요소에는 사용할 수집기의 ID 특성을 지정하는 필수 특성이 포함되어 있습니다. 각 SystemCollectorIdEventCollectorId 요소에는 SystemProviderId 또는 EventCollectorId 요소의 목록도 포함되어 있습니다. 이러한 요소는 구문이 유사합니다. 그러나 이러한 요소는 이전에 정의된 시스템 및 이벤트 공급자를 참조합니다.

프로필 정의 내에서 수집기 및 공급자를 정의할 수도 있습니다.

프로필 정의 예제

다음 코드 예제에서는 전체 프로필 정의를 보여 줍니다.

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

기록 프로필 작성

2. 시스템 및 이벤트 공급자 정의

로깅 모드

세부 정보 수준:

ProblemCategories

SystemCollectorId

HeapEventProviderId