JetBrains dotTrace is the complete profiling solution for .NET. It profiles:
the performance of .NET Framework 1.1, 2.0 and 3.x applications the memory usage of .NET Framework 2.0 and 3.x applications ASP.NET applications running on Internet Information Server & ASP.NET Development Server Windows services Convenience and ease of use set dotTrace Profiler apart from the many profiling tools built for the Microsoft .NET platform.
The friendly program interface features effective navigation, easy filtering, smart search options and handy source preview. Its speed and efficiency also cannot go unmentioned: dotTrace decisively outperforms the great majority of its in-class competitors
Convenient data representation A number of informative views (Call Tree, Hot Spots and more) allow convenient inspection of profiling data stored in snapshots. The importance of each function call is represented with descriptive icons, along with precise Execution times and other relevant information. You can open functions in individual tabs, easily navigate views with keyboard shortcuts, skip through unimportant or filtered calls, and Create profiling reports by saving any view to an external file. Sampling profiling is a profiling method which is up to 30 times FASTER than regular tracing profiling, but at the expense of lower accuracy. It is extremely useful for at least two profiling scenarios: first, quickly getting a general idea of your application's performance, and second, profiling for extensive periods of time, up to many hours long. Routine thread time is measured by a thread-specific timer which is paused when its thread is paused. Using this mode, dotTrace can measure the contribution of individual threads in multithreaded applications, reducing Interference Between threads.