Extending the Profiler in Visual Studio 2010 through the SDK RRS feed

  • Question

  • This is a follow up from the thread here. Chao suggested that I ask this question in the VS2010 RC Forums.

    I am new to writing Visual Studio extensions so please pardon me if some of the terms I used are not "right".

    My high-level goal is to use information from the new built-in Visual Studio profiler (Performance Wizard) to detect possible performance issues, suggest a list of possible source code transformations and semi-automatically perform those transformations as refactorings. The detect and suggest parts have been implemented by quite a few other products including VTune and Acumem. The transformation part has usually only been implemented by some auto-tuners for very specific domains e.g. matrix multiplication, signal processing, etc. I am trying to combine the two to improve performance in parallel programs. I can provide more details as needed, but how much I can accomplish is based on how much I can reuse from the VS profiler.

    My specific questions:

    1. Can I extend the profiler using the VS 2010 SDK? For instance, I would like to create new profiling sessions, run them and analyze the data collected. I've tried looking at the SDK reference but I am not sure which classes are appropriate.

    2. With this data, I would also like to transform existing source code (say in C#). Some transformations that are possible include specifying padding attributes, aligning code, and splitting data structures. Are there
      • any program analysis frameworks for C# that I can hook into to analyze the code for legal transformations?
      • any refactoring toolkit in VS 2010 that I can use to adhere to the refactoring conventions (precondition check, postcondition check, dialog boxes, etc)

    Thank you.

    Wednesday, April 7, 2010 9:19 PM