This is a tool I first heard of at the MVP Summit and was really excited about, but back then it wasn’t yet released or public. It has beeb available for a while now, however unfortunately I found this our lately.
I am very excited about this because it allows me to see how long the UI thread is working on other things and easily send that feedback back to Microsoft to analyze for future versions. In v2010 there’s still plenty of situations where I have roll my thumbs, while the UI is not responding to my commands – not always due to Visual Studio itself, sometimes due to the add-ins I use. Most commonly experienced and known is the build activity and pre-build/post-build event activities. Don’t get me wrong – v2010 is better than v2008 on this, however not perfect.
Anyway – what is this PerfWatson? Lots of people might know the original Watson from Microsoft as the tool that collects error information, symptoms and sends them to Microsoft for analysis. PerfWatson is a similar tool that monitors Visual Studio for UI latency (how long the UI thread has been frozen/occupied with non UI activities) and if it has been busy for more than 2 seconds, it will collect a minidump for Visual Studio and send the information to Microsoft for analysis so the future Visual Studio versions would have far better UI responsiveness and flow.
You can download them from following links:
The PerfWatson is the monitoring platform for Visual Studio (the one that monitors and collects the minidump/info and offers to send it to Microsoft) and the PerfWatson Monitor offers a nice UI to see the current latency of UI thread. Its more of a geeky tool :)
Some sample screens from my daily encounters with the tool. Notice the number is showing latency in milliseconds. As soon as it goes over 2 sec, things go red.
The normal graphic – or Green behavior (good):
Some of red graphs I’ve had. The memory numbers are resharpers – not PerfWatson’s:
And one with Resharper v6 doing it’s magic:
My next post will offer some guidance on how to analyze Visual Studio memory consumption and some tips to improve performance on 32bit system. I still run half of my developments on 32bit machine and it can be a pain!