We’re going through some transitional pains because we’re migrating from one doc publishing platform to another. Some times you have to go on a hunt to find the “new” version of the docs. For perf analysis, it starts here: https://docs.microsoft.com/en-us/windows-hardware/test/wpt/
The names are a jumble (typical Microsoft, etc.) WPT is the entire bundle. WPR is the part that collects traces, and WPA is the GUI to analyze them. WPT also includes xperf.exe if you want it, but xperf is indeed deprecated. WPA can do anything that xperf can do. If you’re going to spend time learning something, learn WPA. If you already have xperf skills and don’t want anyone to rock your boat, well, xperf is still there & still works.
Stackwalking is not a hassle on recent kernels. Several years ago, the kernel learned how to dynamically toggle whether stacks and unwind data are paged out. So when WPR starts a trace session, it pins everything in memory, and stack traces “just work”.
WPT is still supported, it still gets new features, and I personally still use it routinely do to my job. IMHO, it’s an awesome tool. It definitely supports stack walking: by default, it’ll collect a stack backtrace 1000 times a second on every processor. Once you get the hang of WPA, you can organize these stacks into a tree view, a flame graph, or (if you want to do your own data processing) just a flat array of 1000’s of callstacks.
Does the stack walk feature allow you to do something similar to a normal code profiler?
Yes, although I’m not sure what counts as “normal” VS’s built-in native code profiler is way behind WPA for CPU analysis, but much further ahead for heap footprint analysis. (And even more so for its managed code profiler.) Intel has a cool profiler, but it runs out into the architectural details of your processor, so I’d be hesitant to call that tool “normal”. There’s old-timey tools like kernrate, which WPA can replicate, but WPA integrates so much more information into your workbench that it’s not even the same league. Linux “perf” has a few neat features that WPA doesn’t, but they both do the same basic stackwalking + profiling.