- Support for async calls. The downside of asynchronous code is it's extremely difficult to profile it and analyze its performance. dotTrace 2017.3 dramatically simplifies the analysis of asynchronous code. It marks all
asynccall nodes in the Call Tree and groups the corresponding
awaittime and continuation code under that node. This means that you can quickly find all "parts" of an asynchronous call in one place instead of searching in different call stacks.
- Forecasting performance in Timeline Viewer. Now, you can "forecast" application performance in the Timeline Viewer. Simply, exclude a particular method from the Call Tree and dotTrace will recalculate the entire snapshot as if there were no such a method.
- Backtraces in Methods and Subsystems (Timeline Viewer). Now, you can quickly view backtraces of a particular method right in the Methods and Subsystems without switching to the Call Tree.
- Marking user assemblies as system ones. You can mark particular user assemblies as the system ones. After that, all rules that are applied to methods from system modules will be applied to methods from this user assembly as well: e.g. the way the methods' time is calculated in Methods and Subsystems and system calls folding.
- Navigation path in Call Tree. When navigating a call tree, there was always a problem to understand how did you get to a particular function. With dotTrace 2017.2 the problem is solved: the Call Tree view shows all your transitions in the left gutter.
- Timeline profiling from the command line. The command-line profiler finally supports the Timeline profiling type.
- Profile child processes in unit tests.
Now, you can enable profiling of child processes in unit tests with a simple checkbox. Complex profiling configurations are no longer needed!
- Clear cache files. Now, you can forcibly delete snapshot-cache files using the button in dotTrace Home Preferences. This will result in slower loading of existing snapshots but will free you some disk space.
- Visual Studio 2017 support.
- Attach via drag and drop. Now, you can attach the profiler to running applications using drag and drop. Simply, drop a special icon onto the application window you want to profile.
- Open snapshot files from dotTrace Home. Now, you can open .dtp and .dtt snapshot files right from the dotTrace Home window.
- Visual Studio 2017 RC initial support.
- Subsystems in Timeline Viewer. Timeline Viewer gets one of the greatest Performance Viewer's features: Subsystems. The mechanics of Subsystems are quite simple: in most cases, each subsystem just groups calls made within a certain namespace or assembly. It is extremely useful when you need to quickly evaluate how time in a particular call subtree is distributed among various components: user and system code, WPF, LINQ, collections, strings, and more.
- Analyze native memory allocations. The Native Memory Allocation event filter allows you to see what methods are making the allocations and analyze all issues related to the native memory.
- Analyze application's debug output. The Debug Output filter can be very helpful for advanced debugging: When selected, timeline will show you only events where your application writes to the debug output, e.g. with the
- Events window. The Events tool window simply shows you event log — a list of events occurred in the profiled application: file operations, JIT, SQL queries, and more.
- Profiling of .NET Core applications. If you have .NET Core tools installed on your computer, you can profile .NET Core applications without any additional actions.
- Multiple improvements in Call Stack window.
- Folding recursive calls in Timeline Viewer. Simplify analysis of deep recursive call stacks by folding recursive calls into one node.
- Threads diagram in Visual Studio. dotTrace viewer integrated in Visual Studio gets exactly the same Threads diagram as its standalone counterpart, so, now you can use it to select threads, time range, and of course, view threads activity and filtered time intervals.
- Smart tooltips in Threads diagram. Hold the mouse cursor on any thread in Threads diagram, and a tooltip will show you detailed information about what this thread was doing at this particular time point: what method was executed, with which file the thread worked with (in case of file I/O), and other data.
- Copy entire plain list to clipboard in Performance Viewer. Now you can copy the entire content of plain list to clipboard.
- Profiled process data in the reports generated by the Reporter.exe tool. The Reporter.exe tool used to get performance data from snapshots (e.g., for profiling automation and CI) now puts additional data in its XML reports. If you build a report with the enabled
/add_process_infooption, the report will include a path to the profiled process's executable. This information is extremely helpful when profiling applications with multiple child processes.
- Integration in Visual Studio. Now, Visual Studio gets an integrated counterpart of Timeline Viewer with instant navigation from Call Tree to the source code.
- Console profiler accepts configuration via command-line arguments. As an alternative to providing profiling configuration in an XML file, you can do this via command-line arguments.
- Profiling of run configurations. dotTrace integrated in Visual Studio gets more profiling capabilities. Now, you can profile not only your startup project, but any 'run configuration' - a startup project, an arbitrary executable, or even any static method.
- Incoming HTTP requests profiling. Timeline Viewer offers the new Incoming HTTP Requests filter. Now you can get the exact data on how long a particular HTTP request is processed.
- SQL queries profiling. Timeline Viewer offers the new SQL Queries filter. Now you can get the exact data on how long a particular SQL query is executed as well as what method has run the query.
- Redesigned dotTrace Controller. dotTrace Controller is more neat and takes less space on the screen.
- Updated remote agent.
- Improved performance in Timeline Viewer.
- A completely new Timeline Profiling method that collects temporal call stack and thread state data about your application.
- Redesigned UI. Now, dotTrace interface consists of the three main components: dotTrace Home window, Performance Viewer, Timeline Viewer.
- Profiling sessions are configured and started in a new dotTrace Home window.
- More flexible subsystems. You can specify how the subsystem time should be handled: should it be shown separately, included into calling subsystems time, or not taken into account at all.
- Filtering of child processes. You can specify what child processes of an application should not be profiled.
- Attaching to .NET process
- Displaying decompiled code
- Improved remote profiling
- Simultaneous profiling of applications targeting CLR versions 2.0 and 4.0
- Support for IIS Express
- Profiling XBAP applications
- Transparent integration with Typemock Isolator
- More options in Plain List
- Support for UNC paths
- Improved Adjust Time functionality
- Threads that do message pumping are marked with special icon
- Profiling WCF applications
- More filtering to hide irrelevant calls
- Examining the performance of all public members of a specific class by opening them in a new tab
- Previewing source code for .NET Framework assemblies using source server
- Displaying IL code
- Performance improvements when processing large snapshots (especially in Plain List and Hot Spots)
- More options for performance forecasting
- Improved floating license use policy
- Improved Home tab
- New performance profiling capabilities:
- Profiling .NET Framework 4.0 applications.
- Profiling Windows Mobile applications built with .NET Compact Framework 3.5.
- Profiling Silverlight 4 applications.
- Profiling web applications deployed under IIS 7 or IIS 7.5.
- Profiling any .NET processes.
- Profiling applications remotely.
- Profiling applications line-by-line.
- A new way to measure execution time: wall time (performance counter).
- High Accuracy option to account for the time spent inside the profiler.
- Merging threads with identical names.
- Improvements in working with performance snapshots:
- Handling snapshots of up to several hundred gigabytes in size.
- A new presentation view: Overview.
- Improved speed of search and navigation including name matching.
- Improved navigation between found function calls.
- Performance forecasting
- Adding textual annotations to functions.
- Advanced filtering.
- Selective line-by-line profiling for functions or classes that you'd like to zoom into.
- Improved source code preview.
- Integration with Microsoft Visual Studio:
- Integration with Visual Studio 2005, 2008, and 2010.
- Support for more application types when you profile from Visual Studio.
- Profiling unit tests using Visual Studio, JetBrains ReSharper and dotTrace.
- Two editions: Standard and Professional.
Last modified: 13 December 2017