This 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.

  • Download dotTrace Profiler
  • What's new in version 3.0

    Performance profiling enhancements

    dotTrace 3.0 handles many more profiling scenarios, with two new profiling modes: Thread-time CPU profiling and Sampling CPU profiling. In the sampling mode, you are able to profile the performance of your application much faster, but at the expense of lower accuracy. With Thread-time profiling, you can measure the contribution of individual threads in multithreaded applications, reducing interference between threads. Other enhancements include individual tab saving and more support for filtering and folding function calls in several views.

    Memory profiling enhancements

    dotTrace 3.0 gives you another means for spotting memory leaks - finalized objects. You can now see all objects that were deleted by the finalizer and not properly disposed of in the code of your application. Among other enhancements is the possibility to merge strongly-connected objects in groups as well as navigation to classes' source in source preview. Also, information about held and reachable objects is now serialized to disk, eliminating the necessity to recompute it on each memory snapshot opening.

    Other important improvements

    With dotTrace 3.0, you can now do more with you ASP.NET applications. They can be profiled from Microsoft Visual Studio and also run using Visual Studio Development web-server (as an alternative to IIS). Individual tabs can now be saved as separate snapshots. Also, dotTrace helps you profile your older applications in those profiling modes which are not supported for the .NET 1.1 framework, by automatically creating an appropriate .config file.

    Read more >>
  • Download dotTrace Profiler
  • Default keymap
  • .NET Tools Blog
  • 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.

  • Enlarge .NET memory profiling screenshot
  • More about .NET memory profiling
  • 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.

    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.

  • More about memory snapshots
  • 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 CamelHump abbreviations is supported for faster search results.

    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.

  • Enlarge C# performance profiling screenshot
  • More about C# performance profiling
  • 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.

  • More about comparing performance snapshots
  • Quick Info

    You can look up Quick Info on any function from the Call Tree view. Just press Ctrl + Q, and the lookup window will provide a summary of function statistics with respect to the selected call and to all calls in the current tab.

    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.

  • More about filtering profiling results
  • 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
  • More about folding
  • 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.

    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.

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

  • More about viewing source code
  • 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. You can open several snapshots, one next to another, to compare and contrast them for faster, more detailed analysis.

  • More about multiple snapshots
  • 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.
  • More about integration with 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.

  • Download dotTrace Profiler
  • Default keymap
  • .NET Tools Blog
  • Web01 2.8:2023-05-13:1