JetBrains Rider 2018.3 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.

Note that not all dotTrace features are yet available in JetBrains Rider. The integrated profiler has following limitations:

  • Only two views for analyzing snapshots are available: Call Tree and Top Methods.

  • Timeline snapshots are shown as regular (Sampling) snapshots with four basic filters available:

    • by thread,

    • by thread state,

    • by method,

    • by subsystem.

    To get all the benefits of Timeline profiling analysis (UI freezes, garbage collection, I/O operations, memory allocation, etc.), you should open the Timeline snapshots in the standalone version of dotTrace.

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 ReSharper Ultimate + Rider or All Products Pack subscriptions.

Supported OSs and frameworks

  • Operating systems:

    • Microsoft Windows

  • Frameworks:

    • .NET Framework

    • .NET Core

    • ASP.NET

    • ASP.NET Core

Last modified: 19 February 2019