Hello Tony,
The command wpr -profiles
lists the predefined profiles (the same as the list in the WPR UI) and wpr -profiledetails CPU
(for example) gives an overview of what is collected by the profile. wpr -exportprofile CPU cpu.wprp
exports the profile, which can then be edited.
For sample profiling, the minimum set of keywords for use with WPA is Loader, ProcessThread and SampledProfile; the minimum set of stacks is SampledProfile.
None of the EventProvider items are needed (although some might be useful if focusing on .NET or JScript code).
Starting from cpu.wprp and removing what I think is not essential gives:
<WindowsPerformanceRecorder Version="1.0">
<Profiles>
<SystemCollector Id="WPR_initiated_WprApp_WPR_System_Collector" Name="WPR_initiated_WprApp_WPR System Collector">
<BufferSize Value="1024" />
<Buffers Value="813" />
</SystemCollector>
<SystemProvider Id="WPR_initiated_WprApp_WPR_System_Collector_Provider">
<Keywords>
<Keyword Value="Loader" />
<Keyword Value="ProcessThread" />
<Keyword Value="SampledProfile" />
</Keywords>
<Stacks>
<Stack Value="SampledProfile" />
</Stacks>
</SystemProvider>
<Profile Id="CPU.Verbose.Memory" Name="CPU" Description="RunningProfile:CPU.Verbose.Memory" LoggingMode="Memory" DetailLevel="Verbose">
<Collectors>
<SystemCollectorId Value="WPR_initiated_WprApp_WPR_System_Collector">
<SystemProviderId Value="WPR_initiated_WprApp_WPR_System_Collector_Provider" />
</SystemCollectorId>
</Collectors>
</Profile>
</Profiles>
</WindowsPerformanceRecorder>
If something useful seems to be missing when analysing with WPA, then just add back items that seem possibly relevant and then collect new data.
Let us know about the reliability of capturing profiling data - I am still intrigued by what you are observing.
Gary