Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The complete schema for Windows Performance Recorder (WPR) recording profiles, WPRControlProfiles.xsd, is as follows:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" xml:lang="en-us">
<xs:simpleType name="SystemKeywordEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="AllFaults"></xs:enumeration>
<xs:enumeration value="Alpc"></xs:enumeration>
<xs:enumeration value="AntiStarvation"></xs:enumeration>
<xs:enumeration value="CacheFlush"></xs:enumeration>
<xs:enumeration value="CC"></xs:enumeration>
<xs:enumeration value="ClockInterrupt"></xs:enumeration>
<xs:enumeration value="ClusterOff"></xs:enumeration>
<xs:enumeration value="CompactCSwitch"></xs:enumeration>
<xs:enumeration value="ContiguousMemorygeneration"></xs:enumeration>
<xs:enumeration value="CpuConfig"></xs:enumeration>
<xs:enumeration value="CSwitch"></xs:enumeration>
<xs:enumeration value="DiskIO"></xs:enumeration>
<xs:enumeration value="DiskIOInit"></xs:enumeration>
<xs:enumeration value="DPC"></xs:enumeration>
<xs:enumeration value="DPCQueue"></xs:enumeration>
<xs:enumeration value="Drivers"></xs:enumeration>
<xs:enumeration value="FileIO"></xs:enumeration>
<xs:enumeration value="FileIOInit"></xs:enumeration>
<xs:enumeration value="Filename"></xs:enumeration>
<xs:enumeration value="FilterIO"></xs:enumeration>
<xs:enumeration value="FilterIOFailure"></xs:enumeration>
<xs:enumeration value="FilterIOFastIO"></xs:enumeration>
<xs:enumeration value="FilterIOInit"></xs:enumeration>
<xs:enumeration value="FootPrint"></xs:enumeration>
<xs:enumeration value="KeClock"></xs:enumeration>
<xs:enumeration value="Handle"></xs:enumeration>
<xs:enumeration value="HardFaults"></xs:enumeration>
<xs:enumeration value="IdealProcessor"></xs:enumeration>
<xs:enumeration value="IdleStates"></xs:enumeration>
<xs:enumeration value="InterProcessorInterrupt"></xs:enumeration>
<xs:enumeration value="Interrupt"></xs:enumeration>
<xs:enumeration value="KernelQueue"></xs:enumeration>
<xs:enumeration value="Loader"></xs:enumeration>
<xs:enumeration value="Memory"></xs:enumeration>
<xs:enumeration value="MemoryInfo"></xs:enumeration>
<xs:enumeration value="MemoryInfoWS"></xs:enumeration>
<xs:enumeration value="NetworkTrace"></xs:enumeration>
<xs:enumeration value="Object"></xs:enumeration>
<xs:enumeration value="OpticalIO"></xs:enumeration>
<xs:enumeration value="OpticalIOInit"></xs:enumeration>
<xs:enumeration value="Pool"></xs:enumeration>
<xs:enumeration value="Power"></xs:enumeration>
<xs:enumeration value="PmcProfile"></xs:enumeration>
<xs:enumeration value="ProcessCounter"></xs:enumeration>
<xs:enumeration value="ProcessFreeze"></xs:enumeration>
<xs:enumeration value="ProcessThread"></xs:enumeration>
<xs:enumeration value="ReadyThread"></xs:enumeration>
<xs:enumeration value="ReferenceSet"></xs:enumeration>
<xs:enumeration value="Registry"></xs:enumeration>
<xs:enumeration value="RegistryHive"></xs:enumeration>
<xs:enumeration value="SampledProfile"></xs:enumeration>
<xs:enumeration value="Session"></xs:enumeration>
<xs:enumeration value="SpinLock"></xs:enumeration>
<xs:enumeration value="SplitIO"></xs:enumeration>
<xs:enumeration value="SynchronizationObjects"></xs:enumeration>
<xs:enumeration value="SystemCall"></xs:enumeration>
<xs:enumeration value="ThreadPriority"></xs:enumeration>
<xs:enumeration value="Timer"></xs:enumeration>
<xs:enumeration value="VAMap"></xs:enumeration>
<xs:enumeration value="VirtualAllocation"></xs:enumeration>
<xs:enumeration value="WakeCounter"></xs:enumeration>
<xs:enumeration value="WakeDrop"></xs:enumeration>
<xs:enumeration value="WakeEvent"></xs:enumeration>
<xs:enumeration value="WDFDPC"></xs:enumeration>
<xs:enumeration value="WDFInterrupt"></xs:enumeration>
<xs:enumeration value="HiberRundown"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SystemStackEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="AlpcClosePort"></xs:enumeration>
<xs:enumeration value="AlpcConnectFail"></xs:enumeration>
<xs:enumeration value="AlpcConnectRequest"></xs:enumeration>
<xs:enumeration value="AlpcConnectSuccess"></xs:enumeration>
<xs:enumeration value="AlpcReceiveMessage"></xs:enumeration>
<xs:enumeration value="AlpcSendMessage"></xs:enumeration>
<xs:enumeration value="AlpcUnwait"></xs:enumeration>
<xs:enumeration value="AlpcWaitForNewMessage"></xs:enumeration>
<xs:enumeration value="AlpcWaitForReply"></xs:enumeration>
<xs:enumeration value="CcCanIWriteFail"></xs:enumeration>
<xs:enumeration value="CcFlushCache"></xs:enumeration>
<xs:enumeration value="CcFlushSection"></xs:enumeration>
<xs:enumeration value="CcLazyWriteScan"></xs:enumeration>
<xs:enumeration value="CcReadAhead"></xs:enumeration>
<xs:enumeration value="CcWorkitemComplete"></xs:enumeration>
<xs:enumeration value="CcWorkitemDequeue"></xs:enumeration>
<xs:enumeration value="CcWorkitemEnqueue"></xs:enumeration>
<xs:enumeration value="CcWriteBehind"></xs:enumeration>
<xs:enumeration value="ContiguousMemoryGeneration"></xs:enumeration>
<xs:enumeration value="CacheFlush"></xs:enumeration>
<xs:enumeration value="CSwitch"></xs:enumeration>
<xs:enumeration value="DiskFlushInit"></xs:enumeration>
<xs:enumeration value="DiskReadInit"></xs:enumeration>
<xs:enumeration value="DiskWriteInit"></xs:enumeration>
<xs:enumeration value="DpcEnqueue"></xs:enumeration>
<xs:enumeration value="DpcExecute"></xs:enumeration>
<xs:enumeration value="ExecutiveResource"></xs:enumeration>
<xs:enumeration value="FileCleanup"></xs:enumeration>
<xs:enumeration value="FileClose"></xs:enumeration>
<xs:enumeration value="FileCreate"></xs:enumeration>
<xs:enumeration value="FileDelete"></xs:enumeration>
<xs:enumeration value="FileDirEnum"></xs:enumeration>
<xs:enumeration value="FileDirNotify"></xs:enumeration>
<xs:enumeration value="FileFlush"></xs:enumeration>
<xs:enumeration value="FileFSCTL"></xs:enumeration>
<xs:enumeration value="FileOpEnd"></xs:enumeration>
<xs:enumeration value="FileQueryInformation"></xs:enumeration>
<xs:enumeration value="FileRead"></xs:enumeration>
<xs:enumeration value="FileRename"></xs:enumeration>
<xs:enumeration value="FileSetInformation"></xs:enumeration>
<xs:enumeration value="FileWrite"></xs:enumeration>
<xs:enumeration value="HandleCreate"></xs:enumeration>
<xs:enumeration value="HandleClose"></xs:enumeration>
<xs:enumeration value="HandleDuplicate"></xs:enumeration>
<xs:enumeration value="HardFault"></xs:enumeration>
<xs:enumeration value="HeapAllocation"></xs:enumeration>
<xs:enumeration value="HeapCreate"></xs:enumeration>
<xs:enumeration value="HeapDestroy"></xs:enumeration>
<xs:enumeration value="HeapFree"></xs:enumeration>
<xs:enumeration value="HeapRangeCreate"></xs:enumeration>
<xs:enumeration value="HeapRangeDestroy"></xs:enumeration>
<xs:enumeration value="HeapRangeRelease"></xs:enumeration>
<xs:enumeration value="HeapRangeReserve"></xs:enumeration>
<xs:enumeration value="HeapReallocation"></xs:enumeration>
<xs:enumeration value="ImageLoad"></xs:enumeration>
<xs:enumeration value="ImageUnload"></xs:enumeration>
<xs:enumeration value="InterProcessorInterrupt"></xs:enumeration>
<xs:enumeration value="KernelQueueEnqueue"></xs:enumeration>
<xs:enumeration value="KernelQueueDequeue"></xs:enumeration>
<xs:enumeration value="MapFile"></xs:enumeration>
<xs:enumeration value="Mark"></xs:enumeration>
<xs:enumeration value="MiniFilterPreOpInit"></xs:enumeration>
<xs:enumeration value="MiniFilterPostOpInit"></xs:enumeration>
<xs:enumeration value="ObjectCreate"></xs:enumeration>
<xs:enumeration value="ObjectDelete"></xs:enumeration>
<xs:enumeration value="ObjectReference"></xs:enumeration>
<xs:enumeration value="ObjectDeReference"></xs:enumeration>
<xs:enumeration value="PageAccess"></xs:enumeration>
<xs:enumeration value="PageAccessEx"></xs:enumeration>
<xs:enumeration value="PagefaultAV"></xs:enumeration>
<xs:enumeration value="PagefaultCopyOnWrite"></xs:enumeration>
<xs:enumeration value="PagefaultDemandZero"></xs:enumeration>
<xs:enumeration value="PagefaultGuard"></xs:enumeration>
<xs:enumeration value="PagefaultHard"></xs:enumeration>
<xs:enumeration value="PagefaultTransition"></xs:enumeration>
<xs:enumeration value="PagefileBackedImageMapping"></xs:enumeration>
<xs:enumeration value="PagefileMappedSectionCreate"></xs:enumeration>
<xs:enumeration value="PagefileMappedSectionDelete"></xs:enumeration>
<xs:enumeration value="PageRangeAccess"></xs:enumeration>
<xs:enumeration value="PageRangeRelease"></xs:enumeration>
<xs:enumeration value="PageRelease"></xs:enumeration>
<xs:enumeration value="PageRemovedfromWorkingSet"></xs:enumeration>
<xs:enumeration value="PmcInterrupt"></xs:enumeration>
<xs:enumeration value="PoolAllocation"></xs:enumeration>
<xs:enumeration value="PoolAllocationSession"></xs:enumeration>
<xs:enumeration value="PoolFree"></xs:enumeration>
<xs:enumeration value="PoolFreeSession"></xs:enumeration>
<xs:enumeration value="PowerDeviceNotify"></xs:enumeration>
<xs:enumeration value="PowerDeviceNotifyComplete"></xs:enumeration>
<xs:enumeration value="PowerIdleStateChange"></xs:enumeration>
<xs:enumeration value="PowerPerfStateChange"></xs:enumeration>
<xs:enumeration value="PowerPostSleep"></xs:enumeration>
<xs:enumeration value="PowerPreSleep"></xs:enumeration>
<xs:enumeration value="PowerSessionCallout"></xs:enumeration>
<xs:enumeration value="PowerSessionCalloutReturn"></xs:enumeration>
<xs:enumeration value="PowerSetDevicesState"></xs:enumeration>
<xs:enumeration value="PowerSetDevicesStateReturn"></xs:enumeration>
<xs:enumeration value="PowerSetPowerAction"></xs:enumeration>
<xs:enumeration value="PowerSetPowerActionReturn"></xs:enumeration>
<xs:enumeration value="PowerThermalConstraint"></xs:enumeration>
<xs:enumeration value="PopSetUserPresent"></xs:enumeration>
<xs:enumeration value="ProcessCreate"></xs:enumeration>
<xs:enumeration value="ProcessDelete"></xs:enumeration>
<xs:enumeration value="ProcessFreeze"></xs:enumeration>
<xs:enumeration value="ProcessResume"></xs:enumeration>
<xs:enumeration value="SampledProfile"></xs:enumeration>
<xs:enumeration value="SampledProfileSetInterval"></xs:enumeration>
<xs:enumeration value="ReadyThread"></xs:enumeration>
<xs:enumeration value="RegistryCloseKey"></xs:enumeration>
<xs:enumeration value="RegistryCreateKey"></xs:enumeration>
<xs:enumeration value="RegistryDeleteKey"></xs:enumeration>
<xs:enumeration value="RegistryDeleteValue"></xs:enumeration>
<xs:enumeration value="RegistryEnumerateKey"></xs:enumeration>
<xs:enumeration value="RegistryEnumerateValueKey"></xs:enumeration>
<xs:enumeration value="RegistryFlush"></xs:enumeration>
<xs:enumeration value="RegistryKcbCreate"></xs:enumeration>
<xs:enumeration value="RegistryKcbDelete"></xs:enumeration>
<xs:enumeration value="RegistryOpenKey"></xs:enumeration>
<xs:enumeration value="RegistryQueryKey"></xs:enumeration>
<xs:enumeration value="RegistryQueryMultipleValue"></xs:enumeration>
<xs:enumeration value="RegistryQuerySecurity"></xs:enumeration>
<xs:enumeration value="RegistryQueryValue"></xs:enumeration>
<xs:enumeration value="RegistrySetInformation"></xs:enumeration>
<xs:enumeration value="RegistrySetSecurity"></xs:enumeration>
<xs:enumeration value="RegistrySetValue"></xs:enumeration>
<xs:enumeration value="RegistryVirtualize"></xs:enumeration>
<xs:enumeration value="RegHiveInit"></xs:enumeration>
<xs:enumeration value="RegHiveDestroy"></xs:enumeration>
<xs:enumeration value="RegHiveLink"></xs:enumeration>
<xs:enumeration value="RegHiveDirty"></xs:enumeration>
<xs:enumeration value="SplitIO"></xs:enumeration>
<xs:enumeration value="SystemCallEnter"></xs:enumeration>
<xs:enumeration value="SystemCallExit"></xs:enumeration>
<xs:enumeration value="ThreadCreate"></xs:enumeration>
<xs:enumeration value="ThreadDCEnd"></xs:enumeration>
<xs:enumeration value="ThreadDCStart"></xs:enumeration>
<xs:enumeration value="ThreadDelete"></xs:enumeration>
<xs:enumeration value="ThreadPoolCallbackCancel"></xs:enumeration>
<xs:enumeration value="ThreadPoolCallbackDequeue"></xs:enumeration>
<xs:enumeration value="ThreadPoolCallbackEnqueue"></xs:enumeration>
<xs:enumeration value="ThreadPoolCallbackStart"></xs:enumeration>
<xs:enumeration value="ThreadPoolCallbackStop"></xs:enumeration>
<xs:enumeration value="ThreadPoolCancelNtTimer"></xs:enumeration>
<xs:enumeration value="ThreadPoolClose"></xs:enumeration>
<xs:enumeration value="ThreadPoolCreate"></xs:enumeration>
<xs:enumeration value="ThreadPoolSetMaxThreads"></xs:enumeration>
<xs:enumeration value="ThreadPoolSetMinThreads"></xs:enumeration>
<xs:enumeration value="ThreadPoolSetNtTimer"></xs:enumeration>
<xs:enumeration value="ThreadPoolTimerSet"></xs:enumeration>
<xs:enumeration value="ThreadPoolTimerCancelled"></xs:enumeration>
<xs:enumeration value="ThreadPoolTimerExpirationBegin"></xs:enumeration>
<xs:enumeration value="ThreadPoolTimerExpirationEnd"></xs:enumeration>
<xs:enumeration value="ThreadPoolTimerExpiration"></xs:enumeration>
<xs:enumeration value="ThreadSetBasePriority"></xs:enumeration>
<xs:enumeration value="ThreadSetIdealProcessor"></xs:enumeration>
<xs:enumeration value="ThreadSetPriority"></xs:enumeration>
<xs:enumeration value="ThreadSetUserIdealProcessor"></xs:enumeration>
<xs:enumeration value="TimerPeriodic"></xs:enumeration>
<xs:enumeration value="TimerOneShot"></xs:enumeration>
<xs:enumeration value="UnMapFile"></xs:enumeration>
<xs:enumeration value="VirtualAllocation"></xs:enumeration>
<xs:enumeration value="VirtualFree"></xs:enumeration>
<xs:enumeration value="WakeChargeUser"></xs:enumeration>
<xs:enumeration value="WakeChargeExecution"></xs:enumeration>
<xs:enumeration value="WakeChargeKernel"></xs:enumeration>
<xs:enumeration value="WakeChargeInstrumentation"></xs:enumeration>
<xs:enumeration value="WakeReleaseUser"></xs:enumeration>
<xs:enumeration value="WakeReleaseExecution"></xs:enumeration>
<xs:enumeration value="WakeReleaseKernel"></xs:enumeration>
<xs:enumeration value="WakeReleaseInstrumentation"></xs:enumeration>
<xs:enumeration value="WakeDropUser"></xs:enumeration>
<xs:enumeration value="WakeDropExecution"></xs:enumeration>
<xs:enumeration value="WakeDropKernel"></xs:enumeration>
<xs:enumeration value="WakeDropInstrumentation"></xs:enumeration>
<xs:enumeration value="WakeEventUser"></xs:enumeration>
<xs:enumeration value="WakeEventExecution"></xs:enumeration>
<xs:enumeration value="WakeEventKernel"></xs:enumeration>
<xs:enumeration value="WakeEventInstrumentation"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LoggingModeEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="File"></xs:enumeration>
<xs:enumeration value="Memory"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DetailLevelEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="Light"></xs:enumeration>
<xs:enumeration value="Verbose"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OperationEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="Set"></xs:enumeration>
<xs:enumeration value="Add"></xs:enumeration>
<xs:enumeration value="Remove"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NameFilterOperationEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="Set"></xs:enumeration>
<xs:enumeration value="Add"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TraceMergePropertiesCustomEventsEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="None"></xs:enumeration>
<xs:enumeration value="ImageId"></xs:enumeration>
<xs:enumeration value="BuildInfo"></xs:enumeration>
<xs:enumeration value="VolumeMapping"></xs:enumeration>
<xs:enumeration value="EventMetadata"></xs:enumeration>
<xs:enumeration value="PerfTrackMetadata"></xs:enumeration>
<xs:enumeration value="WinSAT"></xs:enumeration>
<xs:enumeration value="NetworkInterface"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LastBranchFilterEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="ConditionalBranches"></xs:enumeration>
<xs:enumeration value="NearRelativeCalls"></xs:enumeration>
<xs:enumeration value="NearIndirectCalls"></xs:enumeration>
<xs:enumeration value="NearReturns"></xs:enumeration>
<xs:enumeration value="NearIndirectJumps"></xs:enumeration>
<xs:enumeration value="FarBranches"></xs:enumeration>
<xs:enumeration value="Kernel"></xs:enumeration>
<xs:enumeration value="User"></xs:enumeration>
<xs:enumeration value="StackMode"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ProcessorTraceCodeModeEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="User"></xs:enumeration>
<xs:enumeration value="Kernel"></xs:enumeration>
<xs:enumeration value="UserKernel"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ProcessorTraceBufferSizeEnumeration">
<xs:restriction base="xs:unsignedByte">
<xs:enumeration value="4"></xs:enumeration>
<xs:enumeration value="8"></xs:enumeration>
<xs:enumeration value="16"></xs:enumeration>
<xs:enumeration value="32"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="IdType">
<xs:restriction base="xs:string">
<xs:pattern value="[^:\s]+"></xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="RundownModeEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="None"></xs:enumeration>
<xs:enumeration value="Start"></xs:enumeration>
<xs:enumeration value="Stop"></xs:enumeration>
<xs:enumeration value="Both"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="SystemKeywordType">
<xs:attribute name="Value" type="SystemKeywordEnumeration" use="required"></xs:attribute>
<xs:attribute name="Strict" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="RundownOnlyMode" type="RundownModeEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:simpleType name="SystemCustomKeywordAttributeType">
<xs:restriction base="xs:string">
<xs:pattern value="0x[a-fA-F0-9]{1,8}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="HexOrDecValue">
<xs:restriction base="xs:string">
<xs:pattern value="(0[xX])?[a-fA-F0-9]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SimpleValueType">
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="1"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="SystemCustomKeywordType">
<xs:attribute name="Value" type="SystemCustomKeywordAttributeType" use="required"></xs:attribute>
<xs:attribute name="Strict" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:group name="SystemKeywordsGroup">
<xs:sequence>
<xs:element name="Keywords" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Keyword" minOccurs="1" maxOccurs="unbounded" type="SystemKeywordType"></xs:element>
<xs:element name="CustomKeyword" minOccurs="0" maxOccurs="unbounded" type="SystemCustomKeywordType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="SystemProviderKeywordsKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="SystemStackType">
<xs:attribute name="Value" type="SystemStackEnumeration" use="required"></xs:attribute>
<xs:attribute name="Strict" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="CustomStackType">
<xs:attribute name="Value" type="HexOrDecValue" use="required" />
</xs:complexType>
<xs:group name="StacksGroup">
<xs:sequence>
<xs:element name="Stacks" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Stack" type="SystemStackType" />
<xs:element name="CustomStack" type="CustomStackType" />
</xs:choice>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="SystemProviderStacksKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="EventProviderKeywordType">
<xs:attribute name="Value" type="xs:string" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="EventIdType">
<xs:attribute name="Value" type="HexOrDecValue" use="required" />
</xs:complexType>
<xs:complexType name="EventIdFilterType">
<xs:sequence>
<xs:element name="EventId" minOccurs="0" maxOccurs="64" type="EventIdType"></xs:element>
</xs:sequence>
<xs:attribute name="FilterIn" type="xs:boolean" use="required" />
<xs:attribute name="Operation" type="OperationEnumeration" use="optional" />
</xs:complexType>
<xs:group name="EventFilterGroup">
<xs:sequence>
<xs:element name="EventFilters" minOccurs="0" maxOccurs="1" type="EventIdFilterType" />
</xs:sequence>
</xs:group>
<xs:group name="StackFilterGroup">
<xs:sequence>
<xs:element name="StackFilters" minOccurs="0" maxOccurs="1" type="EventIdFilterType" />
</xs:sequence>
</xs:group>
<xs:complexType name="EventNameType">
<xs:attribute name="Value" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="NamesFilterType">
<xs:sequence>
<xs:element name="Keyword" minOccurs="0" maxOccurs="unbounded" type="EventProviderKeywordType" />
<xs:element name="EventName" minOccurs="0" maxOccurs="64" type="EventNameType"></xs:element>
</xs:sequence>
<xs:attribute name="FilterIn" type="xs:boolean" use="required" />
<xs:attribute name="Level" type="xs:unsignedByte" use="optional" />
<xs:attribute name="Operation" type="NameFilterOperationEnumeration" use="optional" />
</xs:complexType>
<xs:group name="EventNamesFilterGroup">
<xs:sequence>
<xs:element name="EventNameFilters" minOccurs="0" maxOccurs="1" type="NamesFilterType" />
</xs:sequence>
</xs:group>
<xs:group name="StackEventNamesFilterGroup">
<xs:sequence>
<xs:element name="StackEventNameFilters" minOccurs="0" maxOccurs="1" type="NamesFilterType" />
</xs:sequence>
</xs:group>
<xs:complexType name="KeywordLevelFilterType">
<xs:sequence>
<xs:element name="Keyword" minOccurs="0" maxOccurs="unbounded" type="EventProviderKeywordType" />
</xs:sequence>
<xs:attribute name="FilterIn" type="xs:boolean" use="required" />
<xs:attribute name="Level" type="xs:unsignedByte" use="optional" />
<xs:attribute name="Operation" type="NameFilterOperationEnumeration" use="optional" />
</xs:complexType>
<xs:group name="StackKeywordLevelFilterGroup">
<xs:sequence>
<xs:element name="StackKeywordLevelFilter" minOccurs="0" maxOccurs="1" type="KeywordLevelFilterType" />
</xs:sequence>
</xs:group>
<xs:simpleType name="SystemPoolTagAttributeType">
<xs:restriction base="xs:string">
<xs:minLength value="1"></xs:minLength>
<xs:maxLength value="4"></xs:maxLength>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="SystemPoolTagType">
<xs:attribute name="Value" type="SystemPoolTagAttributeType" use="required"></xs:attribute>
</xs:complexType>
<xs:group name="SystemPoolTagsGroup">
<xs:sequence>
<xs:element name="PoolTags" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="PoolTag" minOccurs="1" maxOccurs="4" type="SystemPoolTagType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="SystemProviderPoolTagsKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="HardwareCounterCounterType">
<xs:attribute name="Value" type="xs:string" use="required"></xs:attribute>
</xs:complexType>
<xs:group name="HardwareCounterCountersGroup">
<xs:sequence>
<xs:element name="Counters" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Counter" minOccurs="1" maxOccurs="unbounded" type="HardwareCounterCounterType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="HardwareCounterCountersKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:group name="HardwareCounterEventsGroup">
<xs:sequence>
<xs:element name="Events" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Event" minOccurs="1" maxOccurs="4" type="SystemStackType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="HardwareCounterEventsKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:simpleType name="CounterIntervalType">
<xs:restriction base="xs:unsignedLong">
<xs:minInclusive value="1221"/>
<xs:maxInclusive value="2147483647"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="HardwareCounterSampledCounterType">
<xs:attribute name="Value" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="Interval" type="CounterIntervalType" use="optional"></xs:attribute>
</xs:complexType>
<xs:group name="HardwareCounterSampledCountersGroup">
<xs:sequence>
<xs:element name="SampledCounters" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="SampledCounter" minOccurs="1" maxOccurs="unbounded" type="HardwareCounterSampledCounterType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="HardwareCounterSampledCountersKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="LastBranchFilterType">
<xs:attribute name="Value" type="LastBranchFilterEnumeration" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="LastBranchFilterOutType">
<xs:sequence>
<xs:element name="LastBranchFilterOut" minOccurs="0" maxOccurs="unbounded" type="LastBranchFilterType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional" />
</xs:complexType>
<xs:group name="LastBranchFiltersGroup">
<xs:sequence>
<xs:element name="LastBranchFilters" minOccurs="0" maxOccurs="unbounded" type="LastBranchFilterOutType" />
</xs:sequence>
</xs:group>
<xs:group name="LastBranchEventsGroup">
<xs:sequence>
<xs:element name="Events" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Event" minOccurs="1" maxOccurs="4" type="SystemStackType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="LastBranchEventsKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="LastBranchGroupType">
<xs:sequence>
<xs:group ref="LastBranchEventsGroup"></xs:group>
<xs:group ref="LastBranchFiltersGroup"></xs:group>
</xs:sequence>
</xs:complexType>
<xs:group name="LastBranchGroup">
<xs:sequence>
<xs:element name="LastBranch" type="LastBranchGroupType" minOccurs="0" maxOccurs="1"></xs:element>
</xs:sequence>
</xs:group>
<xs:group name="ProcessorTraceEventsGroup">
<xs:sequence>
<xs:element name="Events" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Event" minOccurs="1" maxOccurs="4" type="SystemStackType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="ProcessorTraceEventsKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="ProcessorTraceCodeModeType">
<xs:attribute name="Value" type="ProcessorTraceCodeModeEnumeration" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="ProcessorTraceBufferSizeType">
<xs:attribute name="Value" type="ProcessorTraceBufferSizeEnumeration" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="ProcessorTraceGroupType">
<xs:sequence>
<xs:element name="BufferSize" minOccurs="1" maxOccurs="1" type="ProcessorTraceBufferSizeType"></xs:element>
<xs:element name="CodeMode" minOccurs="1" maxOccurs="1" type="ProcessorTraceCodeModeType"></xs:element>
<xs:group ref="ProcessorTraceEventsGroup"></xs:group>
</xs:sequence>
</xs:complexType>
<xs:group name="ProcessorTraceGroup">
<xs:sequence>
<xs:element name="ProcessorTrace" type="ProcessorTraceGroupType" minOccurs="0" maxOccurs="1"></xs:element>
</xs:sequence>
</xs:group>
<xs:group name="EventProviderKeywordsGroup">
<xs:sequence>
<xs:element name="Keywords" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Keyword" minOccurs="1" maxOccurs="unbounded" type="EventProviderKeywordType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="EventProviderKeywordsKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:simpleType name="CaptureStateTimeoutValue">
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="4294967"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="infinite"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:attributeGroup name="CaptureStateAttributeGroup">
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
<xs:attribute name="Timeout" type="CaptureStateTimeoutValue" use="optional"></xs:attribute>
</xs:attributeGroup>
<xs:group name="EventProviderCaptureStateOnStartGroup">
<xs:sequence>
<xs:element name="CaptureStateOnStart" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Keyword" minOccurs="1" maxOccurs="unbounded" type="EventProviderKeywordType"></xs:element>
</xs:sequence>
<xs:attributeGroup ref="CaptureStateAttributeGroup"/>
</xs:complexType>
<xs:key name="EventProviderCaptureStateOnStartKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:group name="EventProviderCaptureStateOnSaveGroup">
<xs:sequence>
<xs:element name="CaptureStateOnSave" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Keyword" minOccurs="1" maxOccurs="unbounded" type="EventProviderKeywordType"></xs:element>
</xs:sequence>
<xs:attributeGroup ref="CaptureStateAttributeGroup"/>
</xs:complexType>
<xs:key name="EventProviderCaptureStateOnSaveKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:group name="EventProviderCaptureStateOnDemandGroup">
<xs:sequence>
<xs:element name="CaptureStateOnDemand" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Keyword" minOccurs="1" maxOccurs="unbounded" type="EventProviderKeywordType"></xs:element>
</xs:sequence>
<xs:attributeGroup ref="CaptureStateAttributeGroup"/>
</xs:complexType>
<xs:key name="EventProviderCaptureStateOnDemandKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
</xs:group>
<xs:attributeGroup name="SystemCollectorAttributeGroup">
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Base" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Name" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Realtime" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="HostGuestCorrelation" type="xs:boolean" use="optional"></xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="CollectorAttributeGroup">
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Base" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="Realtime" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="HostGuestCorrelation" type="xs:boolean" use="optional"></xs:attribute>
</xs:attributeGroup>
<xs:complexType name="BuffersType">
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
<xs:attribute name="Value" type="xs:decimal" use="required"></xs:attribute>
<xs:attribute name="PercentageOfTotalMemory" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="MinimumRundownSpace" type="SimpleValueType" use="optional"></xs:attribute>
<xs:attribute name="MaximumBufferSpace" use="optional">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="4294967295"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="BufferSizeType">
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
<xs:attribute name="Value" type="xs:unsignedInt" use="required"></xs:attribute>
</xs:complexType>
<xs:simpleType name="FileModeEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="Circular"></xs:enumeration>
<xs:enumeration value="Sequential"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FileMaxValue">
<xs:restriction base="xs:unsignedByte">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="16"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="MaximumFileSizeType">
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
<xs:attribute name="Value" type="xs:unsignedInt" use="required"></xs:attribute>
<xs:attribute name="FileMode" type="FileModeEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="FileMaxType">
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
<xs:attribute name="Value" type="FileMaxValue" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="StackCachingType">
<xs:attribute name="BucketCount" type="xs:unsignedInt" use="required"></xs:attribute>
<xs:attribute name="CacheSize" type="xs:unsignedInt" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="FlushTimerType">
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
<xs:attribute name="Value" type="xs:unsignedInt" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="FlushThresholdType">
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
<xs:attribute name="Value" type="xs:unsignedInt" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="BuffersPerCPUType">
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
<xs:attribute name="Value" type="xs:decimal" use="required"></xs:attribute>
</xs:complexType>
<xs:group name="SystemBufferElementGroup">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="BufferSize" type="BufferSizeType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Buffers" type="BuffersType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="StackCaching" type="StackCachingType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="MaximumFileSize" type="MaximumFileSizeType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="FileMax" type="FileMaxType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="FlushTimer" type="FlushTimerType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="FlushThreshold" type="FlushThresholdType"></xs:element>
</xs:sequence>
</xs:group>
<xs:group name="EventBufferElementGroup">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="BufferSize" type="BufferSizeType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Buffers" type="BuffersType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="StackCaching" type="StackCachingType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="MaximumFileSize" type="MaximumFileSizeType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="FileMax" type="FileMaxType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="FlushTimer" type="FlushTimerType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="FlushThreshold" type="FlushThresholdType"></xs:element>
</xs:sequence>
</xs:group>
<xs:group name="HypervisorBufferElementGroup">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="BufferSize" type="BufferSizeType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="BuffersPerCPU" type="BuffersPerCPUType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="MaximumFileSize" type="MaximumFileSizeType"></xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="FileMax" type="FileMaxType"></xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="SystemCollectorType">
<xs:group ref="SystemBufferElementGroup"></xs:group>
<xs:attributeGroup ref="SystemCollectorAttributeGroup"></xs:attributeGroup>
</xs:complexType>
<xs:complexType name="EventCollectorType">
<xs:group ref="EventBufferElementGroup"></xs:group>
<xs:attributeGroup ref ="CollectorAttributeGroup"></xs:attributeGroup>
<xs:attribute name="Private" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="ProcessPrivate" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="Secure" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="HeapEventCollectorType">
<xs:group ref="EventBufferElementGroup"></xs:group>
<xs:attributeGroup ref ="CollectorAttributeGroup"></xs:attributeGroup>
<xs:attribute name="Secure" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="HypervisorEventCollectorType">
<xs:group ref="HypervisorBufferElementGroup"></xs:group>
<xs:attributeGroup ref ="CollectorAttributeGroup"></xs:attributeGroup>
</xs:complexType>
<xs:complexType name="SystemProviderType">
<xs:sequence>
<xs:group ref="SystemKeywordsGroup"></xs:group>
<xs:group ref="StacksGroup"></xs:group>
<xs:group ref="SystemPoolTagsGroup"></xs:group>
</xs:sequence>
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Base" type="xs:string" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="ProfileSourceType">
<xs:attribute name="Name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="Event" type="HexOrDecValue" use="required"></xs:attribute>
<xs:attribute name="Unit" type="HexOrDecValue" use="optional"></xs:attribute>
<xs:attribute name="Interval" type="HexOrDecValue" use="optional"></xs:attribute>
<xs:attribute name="AllowsHalt" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="Persist" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="ExtendedBits" type="HexOrDecValue" use="optional"></xs:attribute>
</xs:complexType>
<xs:simpleType name="ProfileSourcesArchitectureEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="ARM"></xs:enumeration>
<xs:enumeration value="INTEL"></xs:enumeration>
<xs:enumeration value="AMD"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ProfileSourcesType">
<xs:sequence>
<xs:element name="ProfileSource" type="ProfileSourceType" minOccurs="1" maxOccurs="unbounded"></xs:element>
</xs:sequence>
<xs:attribute name="Architecture" type="ProfileSourcesArchitectureEnumeration" use="required"></xs:attribute>
<xs:attribute name="Family" type="xs:integer" use="optional"></xs:attribute>
<xs:attribute name="Model" type="xs:integer" use="optional"></xs:attribute>
<xs:attribute name="Stepping" type="xs:integer" use="optional"></xs:attribute>
<xs:attribute name="Description" type="xs:string" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="MicroArchitecturalConfigType">
<xs:sequence>
<xs:element name="ProfileSources" type="ProfileSourcesType" minOccurs="0" maxOccurs="unbounded"></xs:element>
</xs:sequence>
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Base" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Strict" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="MicroArchitecturalConfigIdType">
<xs:sequence>
<xs:element name="ProfileSources" type="ProfileSourcesType" minOccurs="0" maxOccurs="unbounded"></xs:element>
</xs:sequence>
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="HardwareCounterType">
<xs:sequence>
<xs:element name="MicroArchitecturalConfigId" type="MicroArchitecturalConfigIdType" minOccurs="0" maxOccurs="1"></xs:element>
<xs:group ref="HardwareCounterCountersGroup"></xs:group>
<xs:group ref="HardwareCounterEventsGroup"></xs:group>
<xs:group ref="HardwareCounterSampledCountersGroup"></xs:group>
<xs:group ref="LastBranchGroup"></xs:group>
<xs:group ref="ProcessorTraceGroup"></xs:group>
</xs:sequence>
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Base" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Strict" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="CustomFilterType">
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Type" type="HexOrDecValue" use="required" />
</xs:complexType>
<xs:complexType name="EventProviderType">
<xs:sequence>
<xs:group ref="EventProviderKeywordsGroup"></xs:group>
<xs:group ref="EventProviderCaptureStateOnStartGroup"></xs:group>
<xs:group ref="EventProviderCaptureStateOnSaveGroup"></xs:group>
<xs:group ref="EventProviderCaptureStateOnDemandGroup"></xs:group>
<xs:group ref="StacksGroup" />
<xs:group ref="EventFilterGroup" />
<xs:group ref="StackFilterGroup" />
<xs:group ref="EventNamesFilterGroup" />
<xs:group ref="StackEventNamesFilterGroup" />
<xs:group ref="StackKeywordLevelFilterGroup" />
<xs:element name="CustomFilter" type="CustomFilterType" minOccurs="0" maxOccurs="1"></xs:element>
</xs:sequence>
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="Base" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="NonPagedMemory" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="Stack" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="SID" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="TSID" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="Level" type="xs:unsignedByte" use="optional"></xs:attribute>
<xs:attribute name="CaptureStateOnly" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="Strict" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="ProcessExeFilter" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="EventKey" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="ExcludeInPrivate" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="HeapProcessIdType">
<xs:attribute name="Value" type="xs:unsignedInt" use="required"></xs:attribute>
</xs:complexType>
<xs:group name="HeapEventProcessIdsGroup">
<xs:sequence>
<xs:element name="HeapProcessIds" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="HeapProcessId" minOccurs="1" maxOccurs="2" type="HeapProcessIdType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="HeapEventProviderType">
<xs:sequence>
<xs:group ref="HeapEventProcessIdsGroup"></xs:group>
</xs:sequence>
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Base" type="xs:string" use="optional"></xs:attribute>
</xs:complexType>
<xs:group name="SystemProviderGroup">
<xs:sequence>
<xs:element name="SystemProvider" type="SystemProviderType" minOccurs="0" maxOccurs="1"></xs:element>
</xs:sequence>
</xs:group>
<xs:group name="HardwareCounterGroup">
<xs:sequence>
<xs:element name="HardwareCounter" type="HardwareCounterType" minOccurs="0" maxOccurs="1"></xs:element>
</xs:sequence>
</xs:group>
<xs:group name="EventProviderGroup">
<xs:sequence>
<xs:element name="EventProvider" type="EventProviderType" minOccurs="0" maxOccurs="unbounded"></xs:element>
</xs:sequence>
</xs:group>
<xs:group name="HeapEventProviderGroup">
<xs:sequence>
<xs:element name="HeapEventProvider" type="HeapEventProviderType" minOccurs="0" maxOccurs="1"></xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="SystemProviderIdType">
<xs:sequence>
<xs:group ref="SystemKeywordsGroup"></xs:group>
<xs:group ref="StacksGroup"></xs:group>
<xs:group ref="SystemPoolTagsGroup"></xs:group>
</xs:sequence>
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="HardwareCounterIdType">
<xs:sequence>
<xs:group ref="HardwareCounterCountersGroup"></xs:group>
<xs:group ref="HardwareCounterEventsGroup"></xs:group>
<xs:group ref="HardwareCounterSampledCountersGroup"></xs:group>
<xs:group ref="LastBranchGroup"></xs:group>
<xs:group ref="ProcessorTraceGroup"></xs:group>
</xs:sequence>
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="EventProviderIdType">
<xs:sequence>
<xs:group ref="EventProviderKeywordsGroup"></xs:group>
<xs:group ref="EventProviderCaptureStateOnStartGroup"></xs:group>
<xs:group ref="EventProviderCaptureStateOnSaveGroup"></xs:group>
</xs:sequence>
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="SystemCollectorIdType">
<xs:sequence>
<xs:group ref="SystemBufferElementGroup" minOccurs="0" maxOccurs="1"></xs:group>
<xs:element name="SystemProviderId" type="SystemProviderIdType" minOccurs="0" maxOccurs="1"></xs:element>
<xs:group ref="SystemProviderGroup" minOccurs="0" maxOccurs="1"></xs:group>
<xs:element name="HardwareCounterId" type="HardwareCounterIdType" minOccurs="0" maxOccurs="1"></xs:element>
<xs:group ref="HardwareCounterGroup" minOccurs="0" maxOccurs="1"></xs:group>
</xs:sequence>
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
</xs:complexType>
<xs:group name="EventProvidersGroup">
<xs:sequence>
<xs:element name="EventProviders" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="EventProviderId" type="EventProviderIdType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:group ref="EventProviderGroup" minOccurs="0" maxOccurs="unbounded"></xs:group>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:group name="HeapEventProvidersGroup">
<xs:sequence>
<xs:element name="HeapEventProviders" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="HeapEventProviderId" type="HeapEventProviderIdType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:group ref="HeapEventProviderGroup" minOccurs="0" maxOccurs="unbounded"></xs:group>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="EventCollectorIdType">
<xs:sequence>
<xs:group ref="EventBufferElementGroup" minOccurs="0" maxOccurs="1"></xs:group>
<xs:group ref="EventProvidersGroup"></xs:group>
</xs:sequence>
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="HeapEventProviderIdType">
<xs:sequence>
<xs:group ref="HeapEventProcessIdsGroup" minOccurs="0" maxOccurs="1"></xs:group>
</xs:sequence>
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="HeapEventCollectorIdType">
<xs:sequence>
<xs:group ref="EventBufferElementGroup" minOccurs="0" maxOccurs="1"></xs:group>
<xs:group ref="HeapEventProvidersGroup"></xs:group>
</xs:sequence>
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="HypervisorEventCollectorIdType">
<xs:sequence>
<xs:group ref="HypervisorBufferElementGroup" minOccurs="0" maxOccurs="1"></xs:group>
<xs:group ref="EventProvidersGroup"></xs:group>
</xs:sequence>
<xs:attribute name="Value" type="IdType" use="required"></xs:attribute>
</xs:complexType>
<xs:complexType name="ProblemCategoryType">
<xs:attribute name="Value" type="xs:string" use="required"></xs:attribute>
</xs:complexType>
<xs:group name="ProblemCategoriesGroup">
<xs:sequence>
<xs:element name="ProblemCategories" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ProblemCategory" minOccurs="1" maxOccurs="unbounded" type="ProblemCategoryType"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:group name="CollectorsGroup">
<xs:sequence>
<xs:element name="Collectors" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="SystemCollectorId" type="SystemCollectorIdType" minOccurs="0" maxOccurs="1"></xs:element>
<xs:element name="EventCollectorId" type="EventCollectorIdType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="HeapEventCollectorId" type="HeapEventCollectorIdType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="HypervisorEventCollectorId" type="HypervisorEventCollectorIdType" minOccurs="0" maxOccurs="unbounded"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="TraceMergePropertiesCustomEventType">
<xs:attribute name="Value" type="TraceMergePropertiesCustomEventsEnumeration"></xs:attribute>
</xs:complexType>
<xs:complexType name="DeletePreMergedTraceFilesType">
<xs:attribute name="Value" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="FileCompressionType">
<xs:attribute name="Value" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="InjectOnlyType">
<xs:attribute name="Value" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="SkipMergeType">
<xs:attribute name="Value" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
<xs:complexType name="TraceMergePropertiesType">
<xs:sequence>
<xs:element name="TraceMergeProperty" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="DeletePreMergedTraceFiles" minOccurs="0" maxOccurs="1" type="DeletePreMergedTraceFilesType"></xs:element>
<xs:element name="FileCompression" minOccurs="0" maxOccurs="1" type="FileCompressionType"></xs:element>
<xs:element name="InjectOnly" minOccurs="0" maxOccurs="1" type="InjectOnlyType"></xs:element>
<xs:element name="SkipMerge" minOccurs="0" maxOccurs="1" type="SkipMergeType"></xs:element>
<xs:element name="CustomEvents" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="CustomEvent" type="TraceMergePropertiesCustomEventType" minOccurs="1" maxOccurs="unbounded"></xs:element>
</xs:sequence>
<xs:attribute name="Operation" type="OperationEnumeration" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="TraceMergePropertyCustomEventsKey">
<xs:selector xpath="./*"></xs:selector>
<xs:field xpath="@Value"></xs:field>
</xs:key>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="Base" type="xs:string" use="optional"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProfilesType">
<xs:sequence>
<xs:element name="SystemCollector" type="SystemCollectorType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="EventCollector" type="EventCollectorType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="HeapEventCollector" type="HeapEventCollectorType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="HypervisorEventCollector" type="HypervisorEventCollectorType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="SystemProvider" type="SystemProviderType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="MicroArchitecturalConfig" type="MicroArchitecturalConfigType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="HardwareCounter" type="HardwareCounterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="EventProvider" type="EventProviderType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="HeapEventProvider" type="HeapEventProviderType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="Profile" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:group ref="ProblemCategoriesGroup"></xs:group>
<xs:group ref="CollectorsGroup"></xs:group>
<xs:element name="TraceMergeProperties" type="TraceMergePropertiesType" minOccurs="0" maxOccurs="1"></xs:element>
</xs:sequence>
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Name" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Description" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="Base" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="LoggingMode" type="LoggingModeEnumeration" use="required"></xs:attribute>
<xs:attribute name="DetailLevel" type="DetailLevelEnumeration" use="required"></xs:attribute>
<xs:attribute name="Internal" type="xs:boolean" use="optional"></xs:attribute>
<xs:attribute name="Default" type="xs:boolean" use="optional"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TransitionTagType">
<xs:restriction base="xs:string">
<xs:pattern value="[^\\/:\*\?\|\x0C\>\x22]+"></xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OnOffTransitionEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="On/Off - Boot"></xs:enumeration>
<xs:enumeration value="On/Off - FastStartup"></xs:enumeration>
<xs:enumeration value="On/Off - Shutdown"></xs:enumeration>
<xs:enumeration value="On/Off - RebootCycle"></xs:enumeration>
<xs:enumeration value="On/Off - Standby/Resume"></xs:enumeration>
<xs:enumeration value="On/Off - Hibernate/Resume"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SimpleDelayValueType">
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="1"></xs:minInclusive>
<xs:maxInclusive value="3600"></xs:maxInclusive>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="OnOffTransitionConfigurationsType">
<xs:sequence minOccurs="1" maxOccurs="6">
<xs:element name="OnOffTransitionConfiguration">
<xs:complexType>
<xs:sequence>
<xs:element name="PrepareSystem">
<xs:complexType>
<xs:attribute name="Value" type="xs:boolean" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="NumberOfRuns">
<xs:complexType>
<xs:attribute name="Value" type="SimpleValueType" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="PostBootDelay">
<xs:complexType>
<xs:attribute name="Value" type="SimpleDelayValueType" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="WakeupDelay">
<xs:complexType>
<xs:attribute name="Value" type="SimpleDelayValueType" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="TransitionTag">
<xs:complexType>
<xs:attribute name="Value" type="TransitionTagType" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="IdType" use="required"></xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="Type" type="OnOffTransitionEnumeration" use="required"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="WindowsPerformanceRecorder">
<xs:complexType>
<xs:sequence>
<xs:element name="Profiles" type="ProfilesType" minOccurs="0" maxOccurs="1"></xs:element>
<xs:element name="TraceMergeProperties" type="TraceMergePropertiesType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="OnOffTransitionConfigurations" type="OnOffTransitionConfigurationsType" minOccurs="0" maxOccurs="1"></xs:element>
</xs:sequence>
<xs:attribute name="Version" type="xs:float" use="required"></xs:attribute>
<xs:attribute name="Author" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Team" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Copyright" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Company" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Comments" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Tag" type="xs:string" use="optional"></xs:attribute>
</xs:complexType>
<xs:key name="IdKey">
<xs:selector xpath="./*/*"></xs:selector>
<xs:field xpath="@Id"></xs:field>
</xs:key>
<xs:key name="OnOffTransitionKey">
<xs:selector xpath="./OnOffTransitionConfigurations/*"></xs:selector>
<xs:field xpath="@Type"></xs:field>
</xs:key>
</xs:element>
</xs:schema>