When the xml scheme for custom WPR profiles defines some values for keywords and stacks. Some of the values allow to make a guess what they enable others don't but you never know exaclty what it is supposed to do. If it is added to the stacks section it
should generate a call stack but it could also generate a stack if added to the Keywords section.
Examples
<stack Value="CSwitch"/>
Thread Context Switch: allows analysis of thread behavior with call stacks
<Keyword Value="Memory"/>
Memory Analysis? It also adds Thread Context Switches with call stacks but no information when memory is allocated or freed.
<?xml version="1.0" encoding="utf-8" standalone='yes'?><WindowsPerformanceRecorder Version="1.0" Author="Lars Kleen" Team="Motor" Company="Steinberg Media Technologies GmbH" Copyright="Steinberg Media Technologies GmbH" Tag="Media;Audio"><Profiles><SystemCollector Id="TestCollector" Name="NT Kernel Logger"><BufferSize Value="1024"/><Buffers Value="256"/><StackCaching CacheSize="1024" BucketCount="64"/></SystemCollector><Profile Id="SteinbergProfile.Verbose.Memory" LoggingMode="Memory" Name="SteinbergProfile" DetailLevel="Verbose" Description="Keywords Test"><ProblemCategories><ProblemCategory Value="MMCSS"/></ProblemCategories><Collectors><SystemCollectorId Value="TestCollector"><SystemProvider Id="system-provider"><Keywords><Keyword Value="Memory"/><!--<Keyword Value="SpinLock"/>--></Keywords><!--<Stacks><Stack Value="HeapAllocation"/><Stack Value="HeapCreate"/><Stack Value="HeapFree"/><Stack Value="CSwitch"/><Stack Value="HeapDestroy"/><Stack Value="PmcInterrupt"/><Stack Value="PagefaultHard"/><Stack Value="CSwitch"/><Stack Value="DpcEnqueue"/><Stack Value="DpcExecute"/><Stack Value="ReadyThread"/></Stacks>
--></SystemProvider> </SystemCollectorId></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>
My question is: Where can I find a documentation which allows me to create a custom wpr profile with keyword and/or stack entries which puts me in the position toknow (in the best case exactly) what I'm doing?