One of the most difficult things about our job is trying to decipher why Visual Studio is slow for a customer. Often it starts with a vague complaint (e.g. "Visual Studio is sluggish") which we then have to narrow down to a particular action that's slow, and try and get a profile. Then we have to look through a large profile and figure out which code is running slower than it should be and why. Sometimes the problem is CPU intensive, sometimes it's disk or network, sometimes it's a different program altogether that just happens to be slow. I know the process is just as frustrating for customers, who have to try and figure out just where it is slow and get us a profile. And of course, if VS is just a little bit slow, then it's often much easier to live with it than go through the hassle of trying to help us isolate it.
That's why I'm pleased to announce that we now have a better approach. Visual Studio Perf Watson is now available for download and use with VS2010 SP1. If you download and install Perf Watson it does everything for you (and us). Here's how it works:
- Perf Watson monitors VS to make sure it is responsive.
- If VS goes unresponsive for more than 2 seconds, Perf Watson grabs a stack frame.
- Perf Watson then times how long it takes for VS to become responsive again.
- Perf Watson then takes the stack information along with the total time of the hang and sends it to Microsoft.
- We take the data and load it into a database.
- We analyze the data to see which call stacks are causing the longest hangs that impact the most customers, and then we log bugs on those.
- Since we have call stacks, the bugs tend to be very actionable.
- Since the data comes from real customers, with hit counts and severity information, we have no trouble prioritizing these performance hangs appropriately - we know exactly what they're costing you.
We've been using Perf Watson internally for a while now, and we've been able to identify and fix a lot of problems just based on our internal product usage. We've also seen some nice correlation between issues raised by Perf Watson and issues found through other analysis. This correlation helps us know that we're on the right track and gives extra weight to getting these issues resolved.
But our usage patterns aren't the same as yours. Everyone uses VS a little bit differently. That's why we're excited to put Perf Watson in your hands so that we can get an accurate picture of the performance issues you're running into, with strong metrics and data to back up the work we need to do.
I hope you'll decide to download and install Perf Watson.