Just a quick post about being more specific about what data you collect ...

The Performance Tools are an integrated part of Visual Studio Team System, but they are also exposed as command line tools.

One of these tools - vsinstr.exe is used to insert timing probes into your binary.  These probes report information to us that we use to gather performance-related data about your functions.

By default, vsinstr.exe will instrument all of the methods in all of the classes for a given assembly. This may not always be what you want to do.

vinstr.exe has a /include flag that allows you to specify only the functions that you want to include in your data collection.

/include can be specified any number of times and uses a syntax of:

         /include:[namespace].<class name>::<method name>

You can of course specify nested namespaces - we currently have a bug where we don't handle nested classes correctly.

Once you have instrumented your binary with /include, you can collect data by launching your Performance Session using VS or manually executing your application.