Windows has really nice tracing and WPA is pretty powerful. I've not yet seen a tool that is similarly easy to use on Linux. You can get most of the raw data from perf, but the tooling for analyzing the data isn't as good. I'd love to hear about a tool that for Linux allows doing Dawson's wait analysis easily if anyone knows of one.
I agree about the lack of source - it's really nice to be able to see exactly what the kernel is doing on Linux.