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.