Hello GitHub

This commit is contained in:
Howard Wolosky
2019-01-28 16:24:37 -08:00
parent 456fe5e355
commit c13b8a099e
822 changed files with 276650 additions and 75 deletions

View File

@@ -0,0 +1,40 @@
<?xml version="1.0"?>
<!--
This file defines a table of preformance configuration for use with
TAEF Table Based Data-driven Testing.
This table specifies we will run the test three times (each iteration has a
unique name to identify the scenario) with different parameters each time.
We use the same region file for WinPerf but we specify different WPR profiles
to capture ETW events from different providers, focusing on responsiveness for
launch runs and on memory for one diagnostic memory run.
The warm run is the one we are primarily interested in for startup performance.
-->
<Data>
<Table Id="PerformanceConfigurations">
<Row Name="Cold"
WinPerf.FriendlyAutomationName="AppLifecycle_Responsiveness_Cold"
WinPerf.Iterations="1"
WinPerf.WPRProfile="Config\AppLifecycle.Profile.wprp"
WinPerf.WPRProfileId="AppLifecycle.Responsiveness.Diagnostic.Verbose.File"
WinPerf.Regions="Config\AppLifecycle.Regions.xml">
</Row>
<Row Name="Warm"
WinPerf.FriendlyAutomationName="AppLifecycle_Responsiveness_Warm"
WinPerf.Iterations="10"
WinPerf.WPRProfile="Config\AppLifecycle.Profile.wprp"
WinPerf.WPRProfileId="AppLifecycle.Responsiveness.Diagnostic.Verbose.Memory"
WinPerf.Regions="Config\AppLifecycle.Regions.xml">
</Row>
<Row Name="Memory"
WinPerf.FriendlyAutomationName="AppLifecycle_Memory"
WinPerf.Iterations="1"
WinPerf.WPRProfile="Config\AppLifecycle.Profile.wprp"
WinPerf.WPRProfileId="AppLifecycle.Memory.Diagnostic.Verbose.File"
WinPerf.Regions="Config\AppLifecycle.Regions.xml">
</Row>
</Table>
</Data>

View File

@@ -0,0 +1,526 @@
<!--
This WPRP (WPR profile) contains the App Life Cycle settings for Mobile and Client Performance Gates (MPG and CPG).
Since the appcycle automations are currently still separate, any changes here should be made in two places to keep these wprp's in sync.
CPG: base\PerfTest\MemRe\AppLifecycle\Common\AppLifeCycle.wprp
MPG: wm\src\tools\Product\DH\Test\PerfWorkloads\AppLifeCycle\AppLifeCycle.wprp
Prefixes in the WPRP:
SC_ - System Collector controlling kernel event tracing
EC_ - Event Collector controlling user mode event tracing
SP_ - System Provider
EP_ - Event Provider
There are two separate traces - Responsiveness and Memory.
Within that, we have Light tracing which is for official gating metrics/traces, and we have Verbose tracing, which is for Diagnostic metrics\traces.
-->
<WindowsPerformanceRecorder Version="1.0" Comments="Test" Company="Microsoft Corporation" Copyright="Microsoft Corporation">
<Profiles>
<!-- BufferSizes are in KB in WPRP -->
<!-- System Collectors -->
<SystemCollector Id="SC_Responsiveness.LowCost.Light" Name="NT Kernel Resposiveness Logger LowCost Light">
<BufferSize Value="1024" />
<Buffers Value="3" PercentageOfTotalMemory="true" MaximumBufferSpace="30" />
</SystemCollector>
<SystemCollector Id="SC_Responsiveness.LowCost" Name="NT Kernel Resposiveness Logger LowCost">
<BufferSize Value="1024" />
<Buffers Value="35" />
</SystemCollector>
<SystemCollector Id="SC_Responsiveness.HighCost.Verbose" Name="NT Kernel Resposiveness Logger HighCost Verbose">
<BufferSize Value="1024" />
<Buffers Value="7" PercentageOfTotalMemory="true" MaximumBufferSpace="140" />
</SystemCollector>
<SystemCollector Id="SC_Memory.LowCost.Light" Name="NT Kernel Memory Logger LowCost Light">
<BufferSize Value="1024" />
<Buffers Value="35" />
</SystemCollector>
<SystemCollector Id="SC_Memory.HighCost.Verbose" Name="NT Kernel Memory Logger LowCost Light">
<BufferSize Value="1024" />
<Buffers Value="75" />
</SystemCollector>
<!-- Event Collectors -->
<EventCollector Id="EC_Responsiveness.LowCost.Light" Name="User Session Logger LowCost Light">
<BufferSize Value="1024" />
<Buffers Value="2" PercentageOfTotalMemory="true" MaximumBufferSpace="20"/>
</EventCollector>
<EventCollector Id="EC_Responsiveness.LowCost.Light.UTC" Name="User Session Logger LowCost Light UTC">
<BufferSize Value="1024"/>
<Buffers Value="5"/>
</EventCollector>
<EventCollector Id="EC_Responsiveness.LowCost" Name="User Session Logger LowCost">
<BufferSize Value="1024" />
<Buffers Value="15" />
</EventCollector>
<EventCollector Id="EC_Responsiveness.HighCost.Verbose" Name="User Session Logger Higcost Verbose">
<BufferSize Value="1024" />
<Buffers Value="3" PercentageOfTotalMemory="true" MaximumBufferSpace="60" />
</EventCollector>
<EventCollector Id="EC_Memory.LowCost.Light" Name="User Session Logger LowCost Light">
<BufferSize Value="1024" />
<Buffers Value="30" />
</EventCollector>
<!-- System Providers for collecting kernel events. -->
<SystemProvider Id="SP_Responsiveness.Light">
<Keywords Operation="Add">
<Keyword Value="CompactCSwitch"/>
<Keyword Value="CSwitch"/>
<Keyword Value="DiskIO"/>
<Keyword Value="ProcessThread"/>
<Keyword Value="Loader"/>
</Keywords>
</SystemProvider>
<SystemProvider Id="SP_Responsiveness" Base="SP_Responsiveness.Light">
<Keywords Operation="Add">
<Keyword Value="HardFaults"/>
<Keyword Value="MemoryInfo"/>
<Keyword Value="ReadyThread"/>
<Keyword Value="SampledProfile"/>
<Keyword Value="Session"/>
<Keyword Value="VAMap"/>
<Keyword Value="DPC"/>
<Keyword Value="Power"/>
</Keywords>
<Stacks Operation="Add">
<Stack Value="CSwitch"/>
<Stack Value="ReadyThread"/>
<Stack Value="SampledProfile"/>
</Stacks>
</SystemProvider>
<SystemProvider Id="SP_Memory.Light" Base="SP_Responsiveness.Light" >
<Keywords Operation="Add">
<Keyword Value="Memory"/>
<Keyword Value="MemoryInfo"/>
<Keyword Value="HardFaults"/>
<Keyword Value="ReferenceSet"/>
<Keyword Value="VirtualAllocation"/>
</Keywords>
</SystemProvider>
<SystemProvider Id="SP_Memory" Base="SP_Responsiveness" >
<Keywords Operation="Add">
<Keyword Value="FootPrint"/>
<Keyword Value="Memory"/>
<Keyword Value="MemoryInfoWS"/>
<Keyword Value="ReferenceSet"/>
<Keyword Value="VirtualAllocation"/>
</Keywords>
<Stacks Operation="Add">
<Stack Value="HeapCreate" />
<Stack Value="ImageLoad" />
<Stack Value="PageAccess" />
<Stack Value="PageAccessEx" />
<Stack Value="PagefileMappedSectionCreate" />
<Stack Value="PagefileMappedSectionDelete" />
<Stack Value="PageRangeAccess" />
<Stack Value="PageRangeRelease" />
<Stack Value="PageRelease" />
<Stack Value="PageRemovedfromWorkingSet" />
<Stack Value="VirtualAllocation" />
<Stack Value="VirtualFree" />
</Stacks>
</SystemProvider>
<!-- Start - AppLaunch.wprp -->
<EventProvider Id="EP_UTC" Name="UTC" NonPagedMemory="true" Level="4" />
<EventProvider Id="EP_Microsoft-WindowsPhone-AppPlatProvider" Name="3C42000F-CC27-48C3-A005-48F6E38B131F" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_XNA" Name="CD698436-A3E3-4607-BB60-0BAC4D765B59" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_TaskHost" Name="5CBDF2A5-7290-4ACC-B8A7-9BA285BEBC39" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-WindowsPhone-Silverlight" Name="AA087E0E-0B35-4e28-8F3A-440C3F51EEF1" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Device-Health-Etw" Name="F7A8FD9F-8FFD-482f-86C0-4C19240F334C" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-WindowsMobile-Compositor" Name="85FFFBA1-CF12-402c-B9B3-29A3217BB007" Level="5">
<Keywords>
<Keyword Value="0xfffffff" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-WindowsMobile-Splash" Name="872c8950-0def-4d5b-83f6-57dd027f88ce" Level="4">
<Keywords>
<Keyword Value="0xfffffff" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-WindowsMobile-UIXMobile" Name="0C0FFEE0-F4B1-4F4D-B591-FB3175B13413">
<Keywords>
<Keyword Value="0xE" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-WindowsMobile-StartMenu" Name="BECF83FD-D220-4b19-B7C1-C9127307F6B1" Level="5">
<Keywords>
<Keyword Value="0xfffffff" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Kernel-EventTracing" Name="b675ec37-bdb6-4648-bc92-f3fdc74d3ca2" Level="5">
<Keywords>
<Keyword Value="0x50" />
</Keywords>
<CaptureStateOnSave>
<Keyword Value="0x50" />
</CaptureStateOnSave>
</EventProvider>
<EventProvider Id="EP_Microsoft-WindowsPhone-MobileUI" Name="F243DC34-205E-4d34-94CA-36E8C0859787" Level="5">
<Keywords>
<Keyword Value="0xfffffff" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Kernel-Process" Name="2839ff94-8f12-4e1b-82e3-af7af77a450f" NonPagedMemory="true" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-TestExecution" Name="Microsoft-Windows-TestExecution" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft.Windows.WinPerf" Name="BE6F04EA-3488-4543-8082-24843EAEC303" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Shell-Launcher" Name="*Microsoft-Windows-Shell-Launcher" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Immersive-Shell" Name="315A8872-923E-4EA2-9889-33CD4754BF64" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-XAML-Light" Name="531A35AB-63CE-4BCF-AA98-F88C7A89E455" Level="4" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-XAML-Verbose" Name="531A35AB-63CE-4BCF-AA98-F88C7A89E455" Level="5" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-ProcessLifetimeManager" Name="*Microsoft.Windows.ProcessLifetimeManager" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Desktop-ApplicationFrame" Name="678e492b-5de1-50c5-7219-ae4aa7d6a141" Level="5" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Microsoft-Phone-AppLifecycle" Name="f623a8ef-84da-4640-8917-fd5b0f847f28" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-WindowsPhone-CoreUIComponents" Name="a0b7550f-4e9a-4f03-ad41-b8042d06a2f7" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-AppModel-Exec" Name="EB65A492-86C0-406A-BACE-9912D595BD69" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft.Windows.ActivationManager" Name="cf7f94b3-08dc-5257-422f-497d7dc86ab3">
<Keywords>
<Keyword Value="0x0" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-WindowsMobile-ExecManLogPublisher" Name="82c8ad90-5f3c-11be-bd9a-85bb5f50dfa4" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Shell-CortanaSearch" Name="E34441D9-5BCF-4958-B787-3BF824F362D7" >
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Dwm-Core" Name="9e9bba3c-2e38-40cb-99f4-9e8281425164" Level="4" >
<Keywords>
<Keyword Value="0x2000C"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-ImageLoad" Name="2cb15d1d-5fc1-11d2-abe1-00a0c911f518" >
<Keywords>
<Keyword Value="0x10"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-AppLifeCycle-UI" Name="ee97cdc4-b095-5c70-6e37-a541eb74c2b5" Level="5">
<Keywords>
<Keyword Value="0x400000000000"/>
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-AppLifeCycle" Name="ef00584a-2655-462c-bc24-e7de630e7fbf">
<Keywords>
<Keyword Value="0x0000000000000"/>
</Keywords>
<CaptureStateOnSave>
<Keyword Value="0x0000000000000"/>
</CaptureStateOnSave>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Kernel-Power" Name="331C3B3A-2005-44C2-AC5E-77220C37D6B4" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0xA4"/>
</Keywords>
<CaptureStateOnSave Timeout="0">
<Keyword Value="0xA4"/>
</CaptureStateOnSave>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Kernel-Processor-Power" Name="0f67e49f-fe51-4e9f-b490-6f2948cc6027" NonPagedMemory="true" EventKey="true" Level="4">
<Keywords>
<Keyword Value="0xC2"/>
</Keywords>
<CaptureStateOnSave Timeout="0">
<Keyword Value="0xC2"/>
</CaptureStateOnSave>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Kernel-Pep" Name="5412704E-B2E1-4624-8FFD-55777B8F7373" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
<CaptureStateOnSave Timeout="0">
<Keyword Value="0x0"/>
</CaptureStateOnSave>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Kernel-Acpi" Name="C514638F-7723-485B-BCFC-96565D735D4A" Level="5" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
<CaptureStateOnSave>
<Keyword Value="0x0"/>
</CaptureStateOnSave>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-UserModePowerService" Name="CE8DEE0B-D539-4000-B0F8-77BED049C590" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0x0"/>
</Keywords>
<CaptureStateOnSave Timeout="0">
<Keyword Value="0x0"/>
</CaptureStateOnSave>
</EventProvider>
<EventProvider Id="EP_Microsoft.ClipC" Level="0" Name="ed0c10a5-5396-4a96-9ee3-6f4aa0d1120d" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0x200000000000" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft.ClipSp" Level="0" Name="b4b126de-32fe-4591-9ac5-b0778d79a0e7" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0x200000000000" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft.ClipSvc" Level="0" Name="b94d76c5-9d56-454a-8d1b-6ca30898160e" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0x200000000000" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft.Windows.LicenseManager.Telemetry" Level="0" Name="af9f58ec-0c04-4be9-9eb5-55ff6dbe72d7" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0x200000000000" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Win32k" Level="0" Name="8c416c79-d49b-4f01-a467-e56d3aa8234c" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0x26A000" />
</Keywords>
</EventProvider>
<EventProvider Id="EP_Microsoft-Windows-Kernel-Prefetch" Level="0" Name="Microsoft-Windows-Kernel-Prefetch" NonPagedMemory="true" EventKey="true">
<Keywords>
<Keyword Value="0x0" />
</Keywords>
</EventProvider>
<!-- End - AppLaunch.wprp -->
<Profile Id="AppLifecycle.Responsiveness.Light.File" LoggingMode="File" Name="AppLifecycle.Responsiveness" DetailLevel="Light" Description="App lifecycle responsiveness light to file">
<Collectors>
<SystemCollectorId Value="SC_Responsiveness.LowCost.Light">
<SystemProviderId Value="SP_Responsiveness.Light" />
</SystemCollectorId>
<EventCollectorId Value="EC_Responsiveness.LowCost.Light">
<EventProviders>
<EventProviderId Value="EP_Microsoft-Windows-TestExecution" />
<EventProviderId Value="EP_Microsoft.Windows.WinPerf" />
<EventProviderId Value="EP_Microsoft-Windows-Immersive-Shell"/>
<EventProviderId Value="EP_Microsoft-Windows-AppLifeCycle" />
<EventProviderId Value="EP_Microsoft-Windows-Shell-Launcher" />
<EventProviderId Value="EP_Microsoft-Windows-XAML-Light" />
<EventProviderId Value="EP_Microsoft-Windows-AppLifeCycle-UI" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Process" />
<EventProviderId Value="EP_Microsoft-Windows-Shell-CortanaSearch"/>
<EventProviderId Value="EP_Microsoft-Windows-AppModel-Exec"/>
<EventProviderId Value="EP_Microsoft.Windows.ActivationManager" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-EventTracing" />
<EventProviderId Value="EP_Microsoft-Windows-Desktop-ApplicationFrame" />
<EventProviderId Value="EP_XNA" />
<EventProviderId Value="EP_TaskHost" />
<EventProviderId Value="EP_Device-Health-Etw" />
<EventProviderId Value="EP_Microsoft-Microsoft-Phone-AppLifecycle"/>
<EventProviderId Value="EP_Microsoft-WindowsPhone-CoreUIComponents"/>
<EventProviderId Value="EP_Microsoft-WindowsPhone-AppPlatProvider" />
<EventProviderId Value="EP_Microsoft-WindowsPhone-Silverlight" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-Splash" />
</EventProviders>
</EventCollectorId>
<EventCollectorId Value="EC_Responsiveness.LowCost.Light.UTC">
<EventProviders>
<EventProviderId Value="EP_UTC"/>
</EventProviders>
</EventCollectorId>
</Collectors>
</Profile>
<Profile Id="AppLifecycle.Responsiveness.Diagnostic.Verbose.File" Base="AppLifecycle.Responsiveness.Light.File" LoggingMode="File" Name="AppLifecycle.Responsiveness.Diagnostic" DetailLevel="Verbose" Description="App lifecycle responsiveness verbose to file">
<Collectors Operation="Add">
<SystemCollectorId Value="SC_Responsiveness.LowCost">
<SystemProviderId Value="SP_Responsiveness" />
</SystemCollectorId>
<EventCollectorId Value="EC_Responsiveness.LowCost">
<EventProviders>
<EventProviderId Value="EP_Microsoft-Windows-XAML-Verbose" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-ExecManLogPublisher"/>
<EventProviderId Value="EP_Microsoft-WindowsMobile-Compositor" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-UIXMobile" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-StartMenu" />
<EventProviderId Value="EP_Microsoft-WindowsPhone-MobileUI" />
</EventProviders>
</EventCollectorId>
</Collectors>
</Profile>
<Profile Id="AppLifecycle.Responsiveness.Diagnostic.Verbose.Memory" Base="AppLifecycle.Responsiveness.Light.File" LoggingMode="Memory" Name="AppLifecycle.Responsiveness.Diagnostic" DetailLevel="Verbose" Description="App life cycle responsiveness verbose to memory">
<Collectors>
<SystemCollectorId Value="SC_Responsiveness.HighCost.Verbose">
<SystemProviderId Value="SP_Responsiveness"/>
</SystemCollectorId>
<EventCollectorId Value="EC_Responsiveness.HighCost.Verbose">
<EventProviders>
<EventProviderId Value="EP_Microsoft-Windows-ProcessLifetimeManager" />
<EventProviderId Value="EP_Microsoft-Windows-Shell-CortanaSearch"/>
<EventProviderId Value="EP_Microsoft-WindowsMobile-ExecManLogPublisher"/>
<EventProviderId Value="EP_Microsoft-WindowsMobile-Compositor" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-UIXMobile" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-StartMenu" />
<EventProviderId Value="EP_Microsoft-WindowsPhone-MobileUI" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Power" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Processor-Power" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Pep" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Acpi" />
<EventProviderId Value="EP_Microsoft-Windows-UserModePowerService" />
<EventProviderId Value="EP_Microsoft-Windows-Dwm-Core" />
<EventProviderId Value="EP_Microsoft-Windows-ImageLoad" />
<EventProviderId Value="EP_Microsoft.ClipC" />
<EventProviderId Value="EP_Microsoft.ClipSp" />
<EventProviderId Value="EP_Microsoft.ClipSvc" />
<EventProviderId Value="EP_Microsoft.Windows.LicenseManager.Telemetry" />
<EventProviderId Value="EP_Microsoft-Windows-Win32k" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Prefetch" />
</EventProviders>
</EventCollectorId>
</Collectors>
</Profile>
<Profile Id="AppLifecycle.Memory.Light.File" LoggingMode="File" Name="AppLifecycle.Memory" DetailLevel="Light" Description="App lifecycle memory light to file">
<Collectors>
<SystemCollectorId Value="SC_Memory.LowCost.Light">
<SystemProviderId Value="SP_Memory.Light" />
</SystemCollectorId>
<EventCollectorId Value="EC_Memory.LowCost.Light">
<EventProviders>
<EventProviderId Value="EP_Microsoft-Windows-TestExecution" />
<EventProviderId Value="EP_Microsoft.Windows.WinPerf" />
<EventProviderId Value="EP_Microsoft-Windows-Immersive-Shell"/>
<EventProviderId Value="EP_Microsoft-Windows-AppModel-Exec"/>
<EventProviderId Value="EP_Microsoft.Windows.ActivationManager" />
<EventProviderId Value="EP_Microsoft-Windows-AppLifeCycle" />
<EventProviderId Value="EP_Microsoft-Windows-AppLifeCycle-UI" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-EventTracing" />
<EventProviderId Value="EP_Microsoft-Windows-Desktop-ApplicationFrame" />
<EventProviderId Value="EP_XNA" />
<EventProviderId Value="EP_TaskHost" />
<EventProviderId Value="EP_Device-Health-Etw" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-ExecManLogPublisher"/>
<EventProviderId Value="EP_Microsoft-Microsoft-Phone-AppLifecycle"/>
<EventProviderId Value="EP_Microsoft-WindowsPhone-CoreUIComponents"/>
<EventProviderId Value="EP_Microsoft-WindowsPhone-AppPlatProvider" />
<EventProviderId Value="EP_Microsoft-WindowsPhone-Silverlight" />
<EventProviderId Value="EP_Microsoft-Windows-XAML-Light" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-Splash" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Prefetch" />
</EventProviders>
</EventCollectorId>
<EventCollectorId Value="EC_Responsiveness.LowCost.Light.UTC">
<EventProviders>
<EventProviderId Value="EP_UTC"/>
</EventProviders>
</EventCollectorId>
</Collectors>
</Profile>
<Profile Id="AppLifecycle.Memory.Diagnostic.Verbose.File" Base="AppLifecycle.Memory.Light.File" LoggingMode="File" Name="AppLifecycle.Memory.Diagnostic" DetailLevel="Verbose" Description="App lifecycle memory verbose to file">
<Collectors Operation="Add">
<SystemCollectorId Value="SC_Memory.HighCost.Verbose">
<SystemProviderId Value="SP_Memory" />
</SystemCollectorId>
<EventCollectorId Value="EC_Memory.LowCost.Light">
<EventProviders>
<EventProviderId Value="EP_Microsoft-Windows-Shell-Launcher" />
<EventProviderId Value="EP_Microsoft-Windows-XAML-Verbose" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Power" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Processor-Power" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Pep" />
<EventProviderId Value="EP_Microsoft-Windows-Dwm-Core" />
<EventProviderId Value="EP_Microsoft-Windows-ImageLoad" />
<EventProviderId Value="EP_Microsoft-Windows-Kernel-Process" />
<EventProviderId Value="EP_Microsoft-Windows-Shell-CortanaSearch"/>
<EventProviderId Value="EP_Microsoft-WindowsMobile-Compositor" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-UIXMobile" />
<EventProviderId Value="EP_Microsoft-WindowsMobile-StartMenu" />
<EventProviderId Value="EP_Microsoft-WindowsPhone-MobileUI" />
<EventProviderId Value="EP_Microsoft-Windows-ProcessLifetimeManager" />
</EventProviders>
</EventCollectorId>
</Collectors>
</Profile>
</Profiles>
<TraceMergeProperties>
<TraceMergeProperty Id="TraceMerge_Default" Name="TraceMerge_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>

View File

@@ -0,0 +1,364 @@
<# // Copyright (c) Microsoft Corporation. All rights reserved. #>
<#@ template language="C#" hostspecific="True" #>
<#@ output extension=".xml" #>
<# // Set options specific to your app here
var options = new {
RegionPrefix = "Calculator",
ImageFileName = "Calculator.exe",
PackageFamilyName = "Microsoft.WindowsCalculator",
FirstView = "ms-resource:///Files/Views/MainPage.xbf"
};
#>
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<!--
Based on:
\base\PerfTest\MemRe\AppLifecycle\Common\Regions\Regions_Calculator.xml Regions_Calculator.xml
This is a regions of interest file that can be used by WPA to get a quick overview of the time
spent on a set of operations called "regions".
A region is defined as the combination of a Start and a Stop event.
This file contains regions that are of interest for the startup of a UWP app.
The first region "<#= options.RegionPrefix #>_AppLifecycle" is defined by the Start and Stop event of the test.
Subsequent regions are defined as children of this region to make sure we are only tracking
events that occurred during the test.
The events that are defined as Start and Stop events must come from an event provider that is enabled for the
trace that is being analyzed. For WinPerf, that means that the WPR Profile must have these providers enabled.
-->
<?Copyright (c) Microsoft Corporation. All rights reserved.?>
<InstrumentationManifest>
<Instrumentation>
<Regions>
<RegionRoot Guid="{7e8672b5-efe5-4862-90f3-944f136d6c75}"
Name="<#= options.RegionPrefix #>_AppLifeCycle Region Root"
FriendlyName="Root">
<Region Guid="{cf6c4996-1dc8-4fc5-b275-7a7051376f77}"
Name="<#= options.RegionPrefix #>_AppLifeCycle"
FriendlyName="Application Life Cycle Test">
<Start>
<!-- Microsoft-Windows-TestExecution\RunTest_TestRunScope\win:Start -->
<Event Provider="{70d27130-f2f3-4365-b790-d31223254ef4}" Name="RunTest_TestRunScope" Opcode="1"/>
<!-- Match the name of the test we are running. -->
<PayloadIdentifier FieldName="Name" FieldValue="Calculator.PerfTests.AppLifecycleTests.*" FieldValueRelationship="RegEx"/>
</Start>
<Stop>
<!-- Microsoft-Windows-TestExecution\RunTest_TestRunScope\win:Stop -->
<Event Provider="{70d27130-f2f3-4365-b790-d31223254ef4}" Name="RunTest_TestRunScope" Opcode="2"/>
<!-- Match the name of the test we are running. -->
<PayloadIdentifier FieldName="Name" FieldValue="Calculator.PerfTests.AppLifecycleTests.*" FieldValueRelationship="RegEx"/>
</Stop>
<Naming>
<PayloadBased NameField="Name"/>
</Naming>
<Region Guid="{b18b32ec-6796-43e1-802f-aec9aea5eb28}"
Name="<#= options.RegionPrefix #>_Launch_ProcessStart"
FriendlyName="Process Started">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="<#= options.PackageFamilyName #>.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<Event Provider="{2839ff94-8f12-4e1b-82e3-af7af77a450f}" Name="ProcessStarted" Version="0" />
<PayloadIdentifier FieldName="ImageFileName" FieldValue=".*<#= options.ImageFileName #>" FieldValueRelationship="RegEx" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{b1e4255d-131c-4ea8-899d-30b7345bf7d3}"
Name="<#= options.RegionPrefix #>_Launch_UIThreadStart"
FriendlyName="UI Thread Started">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="<#= options.PackageFamilyName #>.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<!-- Ideally use actual thread start event, for now it's just close, using InitializeCore -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="31" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{38084b96-d955-4603-a2c7-2720195ce160}"
Name="<#= options.RegionPrefix #>_Launch_InitializeCore"
FriendlyName="Create XAML Core">
<Start>
<!-- Initialize Core Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="31" Version="0" />
</Start>
<Stop>
<!-- Initialize Core Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="32" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{cc909ec4-17c0-4cd9-9a83-293e06e0dc72}"
Name="<#= options.RegionPrefix #>_Launch_CreateDevice"
FriendlyName="Create Graphics Device">
<Start>
<!-- Create Device Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="76" Version="0" />
</Start>
<Stop>
<!-- Create Device Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="77" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{0ed49a01-2604-499e-8003-0878b3b3c61e}"
Name="<#= options.RegionPrefix #>_Launch_CreateResourceManager"
FriendlyName="Create Resource Manager">
<Start>
<!-- Create Resource Manager Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="463" Version="0" />
</Start>
<Stop>
<!-- Create Resource Manager Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="464" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{365920df-10e7-4b6e-8dcb-e769844ac11f}"
Name="<#= options.RegionPrefix #>_Launch_CreateWindow"
FriendlyName="Create Window">
<Start>
<!-- Create Window Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="29" Version="0" />
</Start>
<Stop>
<!-- Create Window Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="30" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{09995446-0266-4a34-aa39-d99467dfe85d}"
Name="<#= options.RegionPrefix #>_Launch_InitializeTheme"
FriendlyName="Initialize Theme Resources">
<Start>
<!-- Theme Changed Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="457" Version="0" />
</Start>
<Stop>
<!-- Theme Changed Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="458" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{a2fdff0b-75c8-440d-bb55-b87a3c60d55f}"
Name="<#= options.RegionPrefix #>_Launch_NavToFirstFrame"
FriendlyName="XAML Navigate To First Frame Drawn">
<Start>
<!-- Parse XAML -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="1" Version="0" />
<PayloadIdentifier FieldName="URI" FieldValue="<#= options.FirstView #>" />
</Start>
<Stop>
<!-- Frame Drawn -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="65" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
<Match>
<Event PID="true"/>
</Match>
</Region>
<Region Guid="{ffc47f79-2d90-470a-bfde-0d075972f23b}"
Name="<#= options.RegionPrefix #>_ApplicationActivate"
FriendlyName="Application Activate">
<Start>
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="5901" Version="1" />
</Start>
<Stop>
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="5902" Version="1" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{b0c74cf1-16fc-4a33-ba7e-2169727a08d7}"
Name="<#= options.RegionPrefix #>_Launch_SplashScreen"
FriendlyName="Splash Screen Dismissed">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="<#= options.PackageFamilyName #>.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<!-- NavigationServerTask_SplashScreenDismissed -->
<Event Provider="{a0b7550f-4e9a-4f03-ad41-b8042d06a2f7}" Id="1572" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{a1648637-d5ec-46d2-9655-a26d00a35764}"
Name="<#= options.RegionPrefix #>_Launch_UIResponsive"
FriendlyName="UI Responsive">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="<#= options.PackageFamilyName #>.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<Event Provider="{EF00584A-2655-462C-BC24-E7DE630E7FBF}" Name="ModernAppLaunch_UIResponsive" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{74d63c4e-7dd7-4ff6-9ee8-adb462c1c101}"
Name="<#= options.RegionPrefix #>_Launch_VisibleComplete"
FriendlyName="Visible Complete">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="<#= options.PackageFamilyName #>.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<Event Provider="{EF00584A-2655-462C-BC24-E7DE630E7FBF}" Name="ModernAppLaunch_VisibleComplete" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{ec31fb10-992b-438b-8c9e-42454f4b2e5a}"
Name="<#= options.RegionPrefix #>_Suspend"
FriendlyName="Suspended">
<Start>
<!-- Microsoft-Windows-Immersive-Shell\PerfTrack_PLM_SuspendApplication\win:Start -->
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="2450" Version="1" />
<PayloadIdentifier FieldName="PsmKey" FieldValueRelationship="RegEx" FieldValue="<#= options.PackageFamilyName #>.*" />
</Start>
<Stop>
<!-- Microsoft-Windows-Immersive-Shell\PerfTrack_PLM_SuspendApplication\win:Stop -->
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="2451" Version="1" />
<PayloadIdentifier FieldName="AppUserModelId" FieldValue="<#= options.PackageFamilyName #>.*" FieldValueRelationship="RegEx" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{83735b08-b17e-48cf-82f1-02cb08e45597}"
Name="<#= options.RegionPrefix #>_Resume"
FriendlyName="Resumed">
<Start>
<!-- Microsoft-Windows-Immersive-Shell\PerfTrack_PLM_ResumeApplication_EndToEnd\win:Start -->
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="11118" Version="0" />
<PayloadIdentifier FieldName="PsmKey" FieldValueRelationship="RegEx" FieldValue="<#= options.PackageFamilyName #>.*" />
</Start>
<Stop>
<!-- Microsoft-Windows-Immersive-Shell\PerfTrack_PLM_ResumeApplication_EndToEnd\win:Stop -->
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="11119" Version="0" />
<PayloadIdentifier FieldName="AppUserModelId" FieldValue="<#= options.PackageFamilyName #>.*" FieldValueRelationship="RegEx" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName><#= options.ImageFileName #></WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
</Region>
</RegionRoot>
</Regions>
</Instrumentation>
</InstrumentationManifest>

View File

@@ -0,0 +1,353 @@
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<!--
Based on:
\base\PerfTest\MemRe\AppLifecycle\Common\Regions\Regions_Calculator.xml Regions_Calculator.xml
This is a regions of interest file that can be used by WPA to get a quick overview of the time
spent on a set of operations called "regions".
A region is defined as the combination of a Start and a Stop event.
This file contains regions that are of interest for the startup of a UWP app.
The first region "Calculator_AppLifecycle" is defined by the Start and Stop event of the test.
Subsequent regions are defined as children of this region to make sure we are only tracking
events that occurred during the test.
The events that are defined as Start and Stop events must come from an event provider that is enabled for the
trace that is being analyzed. For WinPerf, that means that the WPR Profile must have these providers enabled.
-->
<?Copyright (c) Microsoft Corporation. All rights reserved.?>
<InstrumentationManifest>
<Instrumentation>
<Regions>
<RegionRoot Guid="{7e8672b5-efe5-4862-90f3-944f136d6c75}"
Name="Calculator_AppLifeCycle Region Root"
FriendlyName="Root">
<Region Guid="{cf6c4996-1dc8-4fc5-b275-7a7051376f77}"
Name="Calculator_AppLifeCycle"
FriendlyName="Application Life Cycle Test">
<Start>
<!-- Microsoft-Windows-TestExecution\TE_TestRun\win:Start -->
<Event Provider="{065903c1-4883-4fb8-b163-d02bd5efc74c}" Id="7" Version="0" />
<!-- Match the name of the test we are running. -->
<PayloadIdentifier FieldName="Name" FieldValue="Calculator.PerfTests.AppLifecycleTests.*" FieldValueRelationship="RegEx"/>
</Start>
<Stop>
<!-- Microsoft-Windows-TestExecution\TE_TestRun\win:Stop -->
<Event Provider="{065903c1-4883-4fb8-b163-d02bd5efc74c}" Id="8" Version="0" />
<!-- Match the name of the test we are running. -->
<PayloadIdentifier FieldName="Name" FieldValue="Calculator.PerfTests.AppLifecycleTests.*" FieldValueRelationship="RegEx"/>
</Stop>
<Naming>
<PayloadBased NameField="Name"/>
</Naming>
<Region Guid="{b18b32ec-6796-43e1-802f-aec9aea5eb28}"
Name="Calculator_Launch_ProcessStart"
FriendlyName="Process Started">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="Microsoft.WindowsCalculator.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<Event Provider="{2839ff94-8f12-4e1b-82e3-af7af77a450f}" Name="ProcessStarted" Version="0" />
<PayloadIdentifier FieldName="ImageFileName" FieldValue=".*Calculator.exe" FieldValueRelationship="RegEx" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{b1e4255d-131c-4ea8-899d-30b7345bf7d3}"
Name="Calculator_Launch_UIThreadStart"
FriendlyName="UI Thread Started">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="Microsoft.WindowsCalculator.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<!-- Ideally use actual thread start event, for now it's just close, using InitializeCore -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="31" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{38084b96-d955-4603-a2c7-2720195ce160}"
Name="Calculator_Launch_InitializeCore"
FriendlyName="Create XAML Core">
<Start>
<!-- Initialize Core Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="31" Version="0" />
</Start>
<Stop>
<!-- Initialize Core Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="32" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{cc909ec4-17c0-4cd9-9a83-293e06e0dc72}"
Name="Calculator_Launch_CreateDevice"
FriendlyName="Create Graphics Device">
<Start>
<!-- Create Device Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="76" Version="0" />
</Start>
<Stop>
<!-- Create Device Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="77" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{0ed49a01-2604-499e-8003-0878b3b3c61e}"
Name="Calculator_Launch_CreateResourceManager"
FriendlyName="Create Resource Manager">
<Start>
<!-- Create Resource Manager Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="463" Version="0" />
</Start>
<Stop>
<!-- Create Resource Manager Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="464" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{365920df-10e7-4b6e-8dcb-e769844ac11f}"
Name="Calculator_Launch_CreateWindow"
FriendlyName="Create Window">
<Start>
<!-- Create Window Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="29" Version="0" />
</Start>
<Stop>
<!-- Create Window Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="30" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{09995446-0266-4a34-aa39-d99467dfe85d}"
Name="Calculator_Launch_InitializeTheme"
FriendlyName="Initialize Theme Resources">
<Start>
<!-- Theme Changed Start -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="457" Version="0" />
</Start>
<Stop>
<!-- Theme Changed Stop -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="458" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{a2fdff0b-75c8-440d-bb55-b87a3c60d55f}"
Name="Calculator_Launch_NavToFirstFrame"
FriendlyName="XAML Navigate To First Frame Drawn">
<Start>
<!-- Parse XAML -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="1" Version="0" />
<PayloadIdentifier FieldName="URI" FieldValue="ms-resource:///Files/Views/MainPage.xbf" />
</Start>
<Stop>
<!-- Frame Drawn -->
<Event Provider="{531A35AB-63CE-4BCF-AA98-F88C7A89E455}" Id="65" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
<Match>
<Event PID="true"/>
</Match>
</Region>
<Region Guid="{ffc47f79-2d90-470a-bfde-0d075972f23b}"
Name="Calculator_ApplicationActivate"
FriendlyName="Application Activate">
<Start>
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="5901" Version="1" />
</Start>
<Stop>
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="5902" Version="1" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{b0c74cf1-16fc-4a33-ba7e-2169727a08d7}"
Name="Calculator_Launch_SplashScreen"
FriendlyName="Splash Screen Dismissed">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="Microsoft.WindowsCalculator.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<!-- NavigationServerTask_SplashScreenDismissed -->
<Event Provider="{a0b7550f-4e9a-4f03-ad41-b8042d06a2f7}" Id="1572" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{a1648637-d5ec-46d2-9655-a26d00a35764}"
Name="Calculator_Launch_UIResponsive"
FriendlyName="UI Responsive">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="Microsoft.WindowsCalculator.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<Event Provider="{EF00584A-2655-462C-BC24-E7DE630E7FBF}" Name="ModernAppLaunch_UIResponsive" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{74d63c4e-7dd7-4ff6-9ee8-adb462c1c101}"
Name="Calculator_Launch_VisibleComplete"
FriendlyName="Visible Complete">
<Start>
<!-- Use AAMShim_ActivationStart instead of AppLaunch_UserClick as we don't lanch from Start -->
<Event Provider="{cf7f94b3-08dc-5257-422f-497d7dc86ab3}" Name="AAMShim_ActivationStart" />
<PayloadIdentifier FieldName="AppId" FieldValue="Microsoft.WindowsCalculator.*" FieldValueRelationship="RegEx" />
</Start>
<Stop>
<Event Provider="{EF00584A-2655-462C-BC24-E7DE630E7FBF}" Name="ModernAppLaunch_VisibleComplete" Version="0" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{ec31fb10-992b-438b-8c9e-42454f4b2e5a}"
Name="Calculator_Suspend"
FriendlyName="Suspended">
<Start>
<!-- Microsoft-Windows-Immersive-Shell\PerfTrack_PLM_SuspendApplication\win:Start -->
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="2450" Version="1" />
<PayloadIdentifier FieldName="PsmKey" FieldValueRelationship="RegEx" FieldValue="Microsoft.WindowsCalculator.*" />
</Start>
<Stop>
<!-- Microsoft-Windows-Immersive-Shell\PerfTrack_PLM_SuspendApplication\win:Stop -->
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="2451" Version="1" />
<PayloadIdentifier FieldName="AppUserModelId" FieldValue="Microsoft.WindowsCalculator.*" FieldValueRelationship="RegEx" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
<Region Guid="{83735b08-b17e-48cf-82f1-02cb08e45597}"
Name="Calculator_Resume"
FriendlyName="Resumed">
<Start>
<!-- Microsoft-Windows-Immersive-Shell\PerfTrack_PLM_ResumeApplication_EndToEnd\win:Start -->
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="11118" Version="0" />
<PayloadIdentifier FieldName="PsmKey" FieldValueRelationship="RegEx" FieldValue="Microsoft.WindowsCalculator.*" />
</Start>
<Stop>
<!-- Microsoft-Windows-Immersive-Shell\PerfTrack_PLM_ResumeApplication_EndToEnd\win:Stop -->
<Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="11119" Version="0" />
<PayloadIdentifier FieldName="AppUserModelId" FieldValue="Microsoft.WindowsCalculator.*" FieldValueRelationship="RegEx" />
</Stop>
<Naming>
<PrependParentName />
</Naming>
<Metadata>
<WinperfWPAPreset.1>CPU</WinperfWPAPreset.1>
<WinperfWPAPreset.1.ProcessName>Calculator.exe</WinperfWPAPreset.1.ProcessName>
<WinperfWPAPreset.2>Commit</WinperfWPAPreset.2>
<WinperfWPAPreset.2.ProcessName>Calculator.exe</WinperfWPAPreset.2.ProcessName>
</Metadata>
</Region>
</Region>
</RegionRoot>
</Regions>
</Instrumentation>
</InstrumentationManifest>