Introduction
dotTrace is arguably the most convenient tool for .NET performance profiling.
dotTrace lets you find performance bottlenecks in a variety of .NET applications, including applications based on .NET Framework, .NET Core, .NET, Mono, and the Unity version of Mono.
For more information about dotTrace system requirements, refer to this page.
dotTrace versions
dotTrace is available in different forms:
As a standalone application
As a console (command-line) tool
Integrated in Microsoft Visual Studio
Integrated in JetBrains Rider *
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:
|
Get started
If you're new to performance profiling or dotTrace, start with Basics. Profiling Types.
For more information about performing main profiling scenarios, refer to How To.
If you need more information on the profiling process (running and configuring a profiling session, getting snapshots, and so on), start with Run Profiling.
The details on performance snapshots analysis are covered in Analyze Profiling Results in Performance Viewer (Deprecated).
Since version 6.0, dotTrace provides a completely new way of profiling applications — timeline profiling. This method lets you collect temporal data about your application. This way of profiling is extremely helpful when you need to analyze UI freezes, sync delays, excessive garbage collections, file I/O, and other interval events. For more information about analyzing timeline profiling snapshots, refer to Analyze Profiling Results.