Click here to Skip to main content
15,868,016 members
Articles / Web Development / ASP.NET
Article

The Simple And Super Fast Profiler For .NET

2 Nov 20065 min read 57.9K   27   9
Convenience, speed, and ease of use set dotTrace Profiler apart from the many profiling tools built for the Microsoft .NET platform. dotTrace lets you locate performance bottlenecks in your application, optimize memory usage, or find memory leaks – faster than you could ever imagine.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

Image 1This is a showcase review for our sponsors at CodeProject. These reviews are intended to provide you with information on products and services that we consider useful and of value to developers.

Inroduction

JetBrains dotTrace is the complete profiling solution for .NET. It profiles:

  • the performance of .NET Framework 1.1 and 2.0 applications
  • the memory usage of .NET Framework 2.0 applications
  • ASP.NET applications running on Internet Information Server
  • Windows services

Convenience, speed and ease of use set dotTrace Profiler apart from the many profiling tools built for the Microsoft .NET platform. dotTrace lets you locate performance bottlenecks in your application, optimize memory usage, or find memory leaks – faster than you could ever imagine.

Detailed profiling results are conveniently stored in snapshots for easy inspection at any time, not just when you are profiling. Multiple snapshots can be taken and opened at the same time, letting you compare performance snapshots. A special memory profiling mode enables examining the difference between two application memory states. The friendly program interface features effective navigation, easy filtering, smart search options and a handy source view.

dotTrace Profiler Features

Memory profiling

With dotTrace you can quickly profile the memory usage of your .NET applications (framework 2.0 only). The profiling process is not only simple but fast, too. A wealth of profiling data is accurately recorded and presented in the form of memory snapshots, allowing thorough analysis of memory issues.

Image 2

Versatile memory profiling modes

Depending on your profiling needs, you can either dump memory at any time during profiling OR mark the start and the end of a time interval to see the difference between two application memory states.

Image 3

Convenient data representation

Each memory snapshot holds a wealth of data on all objects allocated in memory, from the roots to every single object allocated or deleted at any time during the profiling session.

A number of views are available to you for examining and analyzing memory snapshots, including Class List, Namespace Tree, Outgoing references, Shortest root path, and Allocation Tree. You can also focus on any subsystem of your application by opening it in a separate tab.

Find objects by class (Ctrl+N)

To help you locate a particular class of objects in memory, dotTrace provides the rapid Find objects by class search feature. The use of wildcards and CamelCase abbreviations is supported for faster search results.

Image 4

Performance profiling

dotTrace provides an extremely fast way to profile the performance of .NET applications (frameworks 1.x or 2.0).

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.

Image 5

Performance snapshot comparison

dotTrace is able to compare any two performance snapshots of the same application. It generates a comparison snapshot which shows the difference in the number of calls and times consumed by each function. Comparison snapshots can be viewed and analyzed the same way as regular performance snapshots.

Quick Info

You can look up Quick Info on any function from the Call Tree view. The lookup window provides a summary of function statistics with respect to the selected call and to all calls in the current tab.

Image 6

Filtering

You can apply predefined and customizable filter patterns to focus on the functions most important to you. Filter out system calls and other nonessential functions with a combination of different Hide filters. Emphasize specific functions of selected classes with one or more Show filters.

Folding and advanced filtering

dotTrace 2.0 makes it much easier to see all the data you want to see and none that you don't.

  • Fold filtered calls
  • Fold recursive calls
  • Hide functions that consumed 0% of root time

Find function

Quickly locate functions and navigate to them. Optimize the way you like to search: type in the function name or use the provided list of namespaces and classes to go through the hierarchy.

Image 7

General Features

Fastest profiling

dotTrace decisively outperforms its in-class competitors. This fact alone ensures that you save valuable time with its profiling speed and ease of use.

Source view

dotTrace automatically locates the underlying source code for selected functions.

Image 8

If your solution is currently opened, click the quick link in Source View to navigate to the corresponding source file in Visual Studio.

Multiple snapshots

dotTrace easily handles multiple snapshots, providing you with all-around profiling convenience. You can generate an unlimited number of snapshots during a single profiling session, as well as open several snapshots at the same time.

Profiling ASP.NET applications

dotTrace easily profiles ASP.NET applications running on IIS, versions 5.x and 6.0. Simply specify the start page URL of your web application and profile it the same way as a desktop program.

Windows services profiling

dotTrace lets you easily profile Windows services. Just select the service from the list of all available Windows services and profile it the same way as web applications.

Integration with Visual Studio

  • Run dotTrace from Visual Studio — you can profile the StartUp project of your solution in Visual Studio.
  • Open a file from dotTrace in Visual Studio — if your solution is opened in Visual Studio, you can click a quick link in Source View to navigate to the corresponding source file in Visual Studio.

Command line options

You can profile applications, open snapshots and generate reports from any batch script by using the command line options provided with dotTrace.

Profiling API

Use advanced profiling scenarios by controlling profiling functions from within the application being profiled, with the help of our Profiling API.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Czech Republic Czech Republic
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
This is a Organisation (No members)


Comments and Discussions

 
Questionthe file not exists? Pin
hernaldo.gonzalez10-Mar-20 4:58
hernaldo.gonzalez10-Mar-20 4:58 
GeneraldotTrace hangs when profiling a Win. App Pin
Alan Gold13-Apr-07 3:57
Alan Gold13-Apr-07 3:57 
Please refer to the similar problems documented in JetBrains' forum for dottrace. I'm stuck and don't know if JetBrains will figure out a solution. I'm big fan of JetBrains' products, but this time it seems that dottrace got serious issues.

Thanks.
GeneralFixed a long time ago Pin
Obfuscator, JetBrains16-May-07 3:05
Obfuscator, JetBrains16-May-07 3:05 
QuestionWhy not use the CLR Profiler? Pin
M.K.A. Monster3-Dec-06 1:17
M.K.A. Monster3-Dec-06 1:17 
AnswerRe: Why not use the CLR Profiler? Pin
Kevin McFarlane17-Dec-06 8:53
Kevin McFarlane17-Dec-06 8:53 
GeneralRe: Why not use the CLR Profiler? Pin
Vertyg012-Feb-07 20:20
Vertyg012-Feb-07 20:20 
GeneralRe: Why not use the CLR Profiler? Pin
Kevin McFarlane13-Feb-07 3:24
Kevin McFarlane13-Feb-07 3:24 
GeneralRe: Why not use the CLR Profiler? Pin
Vasudevan Deepak Kumar31-Mar-07 4:58
Vasudevan Deepak Kumar31-Mar-07 4:58 
GeneralRe: Why not use the CLR Profiler? Pin
Kevin McFarlane31-Mar-07 7:10
Kevin McFarlane31-Mar-07 7:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.