Xperf is part of the Microsoft Windows Performance Toolkit, and has functionality similar to that of Shark, oprofile, and (for some things) dtrace/Instruments. For stack walking, Windows Vista or higher is required; I haven't tested it at all on XP.
Download from here: http://msdn.microsoft.com/en-us/performance/default.aspx
Symbol Server Setup
You'll want to set these two environment variables:
You can replace c:\symbols with another directory, which will be used as the cache for downloaded symbols.
All these tools will live, by default, in C:\Program Files\Microsoft Windows Performance Toolkit. Either run these commands from there, or add the directory to your path. You will need to use an elevated command prompt to start or stop profiling.
Start recording data:
xperf -on latency -stackwalk profile
"Latency" is a special provider name that turns on a few predefined kernel providers; run "xperf -providers k" to view a full list of providers and groups. You can combine providers, e.g. "xperf -on DiagEasy+FILE_IO". "-stackwalk profile" tells xperf to capture a stack for each PROFILE event; you could also do "-stackwalk profile+file_io" to capture a stack on each cpu profile tick and each file io completion event.
xperf -d out.etl
The MSDN "Starting a Trace" page goes over this in more detail, as well as has good explanations of how to use xperfview. I'm not going to repeat it here, because I'd be using essentially the same screenshots, so go look there.
For More Information
Microsoft's documentation for xperf is pretty good; there is a lot of depth to this tool, and you should look there for more details.