Performance profiling of .NET code
The goal of performance profiling is to find the cause of performance issues 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 dotTrace 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.
Installation and licensing
dotTrace and dotMemory are provided as a single bundled plugin for JetBrains Rider, which is added and enabled automatically during the IDE installation. If you want to disable the plugin, open the Plugins settings page Ctrl+Alt+S, switch to the Installed tab and clear the checkbox next to dotTrace and dotMemory.
Note that the dotTrace and dotMemory plugin is available in Rider only for the owners of dotUltimate or All Products Pack subscriptions.
Supported CPU architectures
CPU | Standalone | Command-line tool | Profiler in JetBrains Rider |
---|---|---|---|
x86, x64 |
|
| Windows, Linux, macOS: x64 only |
ARM |
|
| Windows, Linux, macOS: arm64 only |
Supported frameworks for x86 and x64 CPUs
Windows | macOS | Linux | |
---|---|---|
Native | Available in: JetBrains Rider, Visual Studio, standalone, console tool Supported profiling types: Timeline. | |
.NET Framework 1.0 – 4.8 | Available in: JetBrains Rider, Visual Studio, standalone, console tool Supported profiling types: Timeline, Sampling, Tracing, Line-by-Line. Notes:
| |
.NET Core 1.0 – 3.1 .NET 5 – 7 | Available in: JetBrains Rider, Visual Studio, standalone, console tool Supported profiling types: Timeline, Sampling, Tracing, Line-by-Line. Notes:
| Available in: JetBrains Rider, standalone, console tool Supported profiling types: Timeline, Sampling, Tracing. Notes:
|
Mono 5.10 and later | Available in: JetBrains Rider, Visual Studio, standalone, console tool Supported profiling types: Timeline. | Available in: JetBrains Rider, standalone, console tool Supported profiling types: Timeline. Notes:
|
Mono Unity 2018.3 and later | Available in: JetBrains Rider, Visual Studio, standalone, console tool Supported profiling types: Timeline. | Available in: JetBrains Rider, standalone, console tool Supported profiling types: Timeline. Notes:
|