JetBrains Rider 2020.2 Help

Performance Profiling of .NET Code

The goal of performance profiling is finding a cause of performance problems in an application. This includes, for example, a straightforward "what is the slowest method?" analysis, as well as more complicated analysis of performance bottlenecks related to CPU starvation, blocking garbage collection, disk I/O, and other issues.

JetBrains Rider integrates with the dotTrace profiler to provide performance profiling of .NET applications. You can use the profiler via the Performance Profiler tool window.

Limitations

Note that not all dotTrace features are yet available in JetBrains Rider. Thus, the integrated profiler provides only two views for analyzing snapshots: Call Tree and Top Methods. To get the entire feature set, you should open profiling snapshots in the standalone version of dotTrace (Windows only).

Installation and licensing

dotTrace is provided as a bundled plugin for Rider, and installed along with Rider automatically with no additional actions needed. If for some reason you want to disable dotTrace, you can do this via Rider's Plugins settings.

Note that dotTrace is available in Rider only for the owners of dotUltimate or All Products Pack subscriptions.

Supported operating systems and frameworks

WindowsmacOS | Linux
.NET Framework 1.0 – 4.8Supported

Available in: JetBrains Rider, Visual Studio, standalone, console tool

Notes:

  • You can attach only to .NET Framework 4.0 or later processes.

Not available
.NET Core 1.0 – 3.1

Supported

Available in: JetBrains Rider, Visual Studio, standalone, console tool

Notes:

  • You can attach only to .NET Core 3.0 or later processes.

Supported

Available in: JetBrains Rider, console tool

Notes:

  • Only Sampling and Tracing profiling types are supported.

  • Because of some limitations of .NET Core, there may be some issues with profiling projects that target .NET Core 3.0 or earlier. In some cases, the profiled application may hang or crash. Projects targeting .NET Core 3.1 can be profiled without any issues.

  • Attaching to running .NET Core processes (.NET Core 3.0 or later) is possible on Linux and not possible on macOS.

Mono 5.10 and later

Supported

Available in: JetBrains Rider, Visual Studio, standalone, console tool

Notes:

  • Only Timeline profiling type is supported.

Supported

Available in: JetBrains Rider, console tool

Notes:

  • Only 64-bit processes can be profiled.

  • Attaching to running Mono processes is not possible.

  • Only Timeline profiling type is supported.

Mono Unity 2018.3 and later

Supported

Available in: JetBrains Rider, Visual Studio, standalone, console tool

Notes:

  • Only Timeline profiling type is supported.

Supported

Available in: JetBrains Rider, console tool

Notes:

  • Only Timeline profiling type is supported.

  • Attaching to running Unity processes is not possible.

What can you profile with Rider

Last modified: 05 August 2020