What′s New in dotTrace

This page guides you through notable updates in recent dotTrace releases. Highlights include support for Visual Studio / JetBrains Rider and simplified profiling of async code.

Download dotTrace

Free trial for 10 days of actual use

Improved Linux and macOS support

Improved Linux and macOS support 2020.1

  • Now, you can profile .NET Core applications on macOS and Linux using the Tracing profiling mode. To do this, you should use either JetBrains Rider or dotTrace command-line profiler.
  • Now, you can attach the profiler to running processes on Linux.
Next Important Call

Next Important Call 2020.1

Now, you can navigate through Call Tree using the Next Important Call action. Press Ctrl+Shift+Right and dotTrace will navigate you to a node that is most relevant for further analysis (for example, a node with high own execution time).

The feature is available in dotTrace Standalone (both Performance Viewer and Timeline Viewer), in Visual Studio, and JetBrains Rider.

Support for .NET Core on macOS and Linux

Support for .NET Core on macOS and Linux 2019.3

dotTrace 2019.3 supports sampling profiling of .NET Core projects on Linux and macOS. Note that only projects targeting .NET Core 3.1 are fully supported. Because of some .NET Core limitations, profiling of projects targeting .NET Core 3.0 or earlier may have some issues: in rare cases, the profiled application may hang or crash.

To profile .NET Core applications on Linux and macOS, you should use JetBrains Rider or dotTrace command-line tools.

Command-line profiler on macOS and Linux

Command-line profiler on macOS and Linux 2019.3

The command-line profiler finally comes to macOS and Linux. dotTrace.sh has the same functionality as its Windows counterpart and is distributed as a .tar.gz archive and as a NuGet package.

Call tree flame graph 2019.3

Find slowest methods in just a glance with the call tree flame graph. Note that the graph is available only in the Timeline Viewer.

Timeline filters in Rider

Timeline filters in Rider 2019.2

dotTrace in Rider gets the full set of Timeline filters making it easier to analyze Timeline profiling snapshots in place.

Improved .NET Core 3.0 support

Improved support for .NET Core 3.0 applications 2019.2

  • dotTrace is able to attach to .NET Core 3.0 Preview 7 processes.
  • ASP.NET Core 3.0 Preview 7 is supported.
Various improvements

Various improvements and changes 2019.2

  • You can set environment variables for any application type.
  • ASP.NET Core support in Visual Studio is improved: different hosting models are correctly supported, browser settings and Enable SSL are taken into account when starting a profiling session, and more.
  • Profiling API gets the ability to detach from the profiled process.
  • Silverlight and WebDev applications are no longer supported.

Support for macOS and Linux in JetBrains Rider 2019.1

If you use JetBrains Rider, you can run dotTrace on macOS and Linux to profile Mono and Unity applications.

Profiling Mono and Unity applications

Profiling Mono and Unity applications 2019.1

dotTrace lets you profile Mono 5.10 or later and Unity 2018.3 or later applications on Windows, macOS, and Linux.

New profiling API

New profiling API 2019.1

As you might know, dotTrace includes the profiling API that is used to control profiling sessions right from the code of your application. In 2019.1, we have rewritten this API from scratch to make it more user-friendly:

  • We got rid of the state machine.
  • We reduced a number of methods you have to use. Thus, to start profiling, simply call MeasureProfiler.StartCollectingData(). To stop collecting data and save a snapshot, call MeasureProfiler.SaveData().
  • The API is available as a NuGet package.
Command-line profiler improvements

Command-line profiler improvements 2019.1

The dotTrace command-line profiling tools get improved:

  • The start and attach commands now accept advanced profiling parameters, like time measurement type and others.
  • The Reporter.exe tool accepts the --save-signature argument that allows you to distinguish overloaded methods in the final report.

JetBrains Rider integration 2018.3

In addition to Visual Studio, now dotTrace is a part of the JetBrains Rider IDE on Windows. You can configure and run profiling sessions, get snapshots, and analyze them in the built-in viewer.

Improved memory allocations filter

Improved .NET Memory Allocations filter 2018.3

Timeline Viewer gets a new subfilter that allows you to analyze how the allocated memory is distributed between the objects of a certain type.

Download dotTrace

Free trial for 10 days of actual use