<?xml version="1.0" encoding="utf-8" standalone='yes'?>
<WindowsPerformanceRecorder Version="1.0" Author="Ecosystem OEM Solutions" Team="Ecosystem OEM Solutions" Comments="Test" Company="Microsoft Corporation" Copyright="Microsoft Corporation" Tag="FAS">
    <Profiles>

        <!-- System Collector -->
        <SystemCollector Id="SystemCollector_WPRIELaunchInFile" Base="SystemCollector_WPRSystemCollectorInFile" Name="NT Kernel Logger" Realtime="false">
            <BufferSize Value="1024"/>
        </SystemCollector>

      <!-- System Provider -->
      <SystemProvider Id="AdditionalMemoryProviders">
        <Keywords Operation="Add">
          <Keyword Value="FootPrint"/>
          <Keyword Value="MemoryInfo"/>
          <Keyword Value="MemoryInfoWS"/>
          <Keyword Value="Pool"/>
          <Keyword Value="HiberRundown"/>
        </Keywords>
      </SystemProvider>

        <!-- These are the relavent tracing options for minifilters -->

        <EventProvider Id="EventProvider_Microsoft-Windows_Kernel-Power" Name="Microsoft-Windows-Kernel-Power" NonPagedMemory="true">
            <Keywords>
                <Keyword Value="0x0"/>
              </Keywords>
        </EventProvider>
        <EventProvider Id="EventProvider_Microsoft-Windows_Kernel-Process" Name="Microsoft-Windows-Kernel-Process" />

        <EventProvider Id="EventProvider_Microsoft-Windows-BootUX" Name="Microsoft-Windows-BootUX">
            <Keywords>
                <Keyword Value="0x0"/>
            </Keywords>
        </EventProvider>

        <EventProvider Id="EventProvider_PerfTrack_IEFRAME" Name="b2a40f1f-a05a-4dfd-886a-4c4f18c4334c"/>
        <EventProvider Id="EventProvider_PerfTrack_MSHTML" Name="ffdb9886-80f3-4540-aa8b-b85192217ddf"/>

        <EventProvider Id="EventProvider_Microsoft-Windows-AssessmentExecutionEngine" Name="Microsoft-Windows-AssessmentExecutionEngine" />

        <EventProvider Id="EventProvider_Microsoft-Windows-Win32k" Name="Microsoft-Windows-Win32k" NonPagedMemory="true">
            <Keywords>
                <Keyword Value="0x00002000"/>
            </Keywords>
        </EventProvider>

        <!-- IE profile has 1 profile - added minifilter tracing to it -->
        
        <Profile Id="IEProfile.Verbose.File" Name="IEProfile" Description="Microsoft Internet Explorer Assessment Profile - MiniFilter" DetailLevel="Verbose" Base="InternetExplorer.Verbose.File" LoggingMode="File">
            <Collectors Operation="Add">
                <SystemCollectorId Value="SystemCollector_WPRIELaunchInFile">
                    <SystemProviderId Value="SystemProvider_Minifilter" />
                </SystemCollectorId>
                <EventCollectorId Value="EventCollector_WPREventCollectorInFile">
                    <BufferSize Value="1024"/>
                    <EventProviders>
                        <EventProviderId Value="EventProvider_PerfTrack_IEFRAME" />
                        <EventProviderId Value="EventProvider_PerfTrack_MSHTML" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows_Kernel-Power" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows_Kernel-Process" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Win32k"/>
                    </EventProviders>
                </EventCollectorId>
            </Collectors>
        </Profile>

        <!--  Standby, shutdown, Hiberate Profiles -->
        
        <!--  Standby does not have analysis trace, so no minifilter -->
        
        <Profile Id="StandbyHibernateProfile.Light.File" Name="StandbyProfile" Description="Standby transition" DetailLevel="Light" Base="BaseOnOff.Light.File" LoggingMode="File">
            <Collectors Operation="Add">
                <EventCollectorId Value="EventCollector_WPROnOffInFile">
                    <EventProviders Operation="Add">
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Kernel-Power" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Subsys-Csr" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Wininit" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Winsrv" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Win32k"/>
                    </EventProviders>
                </EventCollectorId>
            </Collectors>
        </Profile>

        <Profile Id="StandbyHibernateProfile.Verbose.File" Name="StandbyProfile" Description="Standby transition" DetailLevel="Verbose" Base="BaseOnOff.Verbose.File" LoggingMode="File">
            <Collectors Operation="Add">
                <EventCollectorId Value="EventCollector_WPROnOffInFile">
                    <EventProviders Operation="Add">
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Kernel-Power" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Subsys-Csr" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Wininit" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Winsrv" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-AssessmentExecutionEngine" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Win32k"/>
                    </EventProviders>
                </EventCollectorId>
            </Collectors>
        </Profile>

        <!-- Hybrid boot does have analysis trace, it has minifilter tracing added -->

        <Profile Id="HybridBootProfile.Light.File" Name="HybridBootProfile" Description="Fast Startup transition" DetailLevel="Light" Base="BootProfile.Light.File" LoggingMode="File">
            <Collectors Operation="Add">
                <EventCollectorId Value="EventCollector_WPROnOffInFile">
                    <EventProviders Operation="Add">
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Kernel-Power" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Subsys-Csr" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Wininit" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Winsrv" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-BootUX" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Win32k"/>
                    </EventProviders>
                </EventCollectorId>
            </Collectors>
        </Profile>

        <Profile Id="HybridBootProfile.Verbose.File" Name="HybridBootProfile" Description="Fast Startup transition" DetailLevel="Verbose" Base="BootProfile.Verbose.File" LoggingMode="File">
            <Collectors Operation="Add">
                <SystemCollectorId Value="SystemCollector_WPRIELaunchInFile">
                    <SystemProviderId Value="SystemProvider_Minifilter" />
                </SystemCollectorId>
                <EventCollectorId Value="EventCollector_WPROnOffInFile">
                    <EventProviders Operation="Add">
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Kernel-Power" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Subsys-Csr" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Wininit" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Winsrv" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-BootUX" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-AssessmentExecutionEngine" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Win32k"/>
                    </EventProviders>
                </EventCollectorId>
            </Collectors>
        </Profile>

      <Profile Id="HybridBootProfileWithMemory.Verbose.File" Name="HybridBootProfileWithMemory" Description="Fast Startup transition" DetailLevel="Verbose" Base="HybridBootProfile.Verbose.File" LoggingMode="File">
        <Collectors Operation="Add">
          <SystemCollectorId Value="SystemCollector_WPRSystemCollectorInFile">
            <SystemProviderId Value="AdditionalMemoryProviders" />
          </SystemCollectorId>
        </Collectors>
      </Profile>

        <Profile Id="HybridBootProfileWithIO.Verbose.File" Name="HybridBootProfileWithIO" Description="Fast Startup transition" DetailLevel="Verbose" Base="BootProfileWithIO.Verbose.File" LoggingMode="File">
            <Collectors Operation="Add">
                <EventCollectorId Value="EventCollector_WPROnOffInFile">
                    <EventProviders Operation="Add">
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Kernel-Power" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Subsys-Csr" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Wininit" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Winsrv" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-BootUX" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Win32k"/>
                    </EventProviders>
                </EventCollectorId>
            </Collectors>
        </Profile>

        <!-- Shutdown does have analysis trace - however not targetted as minifilter assessment yet -->

        <Profile Id="ShutdownProfile.Light.File" Name="ShutdownProfile" Description="Shutdown transition" DetailLevel="Light" Base="BaseOnOff.Light.File" LoggingMode="File">
            <Collectors Operation="Add">
                <EventCollectorId Value="EventCollector_WPROnOffInFile">
                    <EventProviders Operation="Add">
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Kernel-Power" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Subsys-Csr" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Wininit" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Winsrv" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Win32k"/>
                    </EventProviders>
                </EventCollectorId>
            </Collectors>
        </Profile>

        <Profile Id="ShutdownProfile.Verbose.File" Name="ShutdownProfile" Description="Shutdown transition" DetailLevel="Verbose" Base="BaseOnOff.Verbose.File" LoggingMode="File">
            <Collectors Operation="Add">
                <EventCollectorId Value="EventCollector_WPROnOffInFile">
                    <EventProviders Operation="Add">
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Kernel-Power" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Subsys-Csr" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Wininit" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Winsrv" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Win32k"/>
                    </EventProviders>
                </EventCollectorId>
            </Collectors>
        </Profile>

        <Profile Id="ShutdownProfileWithIO.Verbose.File" Name="ShutdownProfileWithIO" Description="Shutdown transition" DetailLevel="Verbose" Base="BaseOnOffWithIO.Verbose.File" LoggingMode="File">
            <Collectors Operation="Add">
                <EventCollectorId Value="EventCollector_WPROnOffInFile">
                    <EventProviders Operation="Add">
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Kernel-Power" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Subsys-Csr" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Wininit" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Winsrv" />
                        <EventProviderId Value="EventProvider_Microsoft-Windows-Win32k"/>
                    </EventProviders>
                </EventCollectorId>
            </Collectors>
        </Profile>

    </Profiles>

    <!-- Trace Merge -->
    
    <TraceMergeProperties>
        <TraceMergeProperty Id="FASTraceMerge_Default" Name="FASTraceMerge_Default" Base="">
            <DeletePreMergedTraceFiles Value="true"/>
            <CustomEvents>
                <CustomEvent Value="ImageId"/>
                <CustomEvent Value="BuildInfo"/>
                <CustomEvent Value="VolumeMapping"/>
                <CustomEvent Value="EventMetadata"/>
                <CustomEvent Value="PerfTrackMetadata"/>
                <CustomEvent Value="WinSAT"/>
                <CustomEvent Value="NetworkInterface"/>
            </CustomEvents>
        </TraceMergeProperty>
    </TraceMergeProperties>
</WindowsPerformanceRecorder>