dotTrace 2023.3 Help

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

dotTrace in JetBrains Rider

x86, x64

  • Windows: x86 and x64

  • Linux: x64 only. Only Alpine 3.13–3.15 is supported

  • macOS: x64

See details

  • Windows: x86 and x64

  • Linux (glibc and musl-based): x64 only

  • macOS: x64

Windows, Linux, macOS: x64 only

ARM

  • Windows: arm32 and arm64. Windows 11: .NET 5.0–7.0 only

  • Linux (glibc-based only): arm64 only

  • macOS: arm64 (Apple Silicon). macOS 12 Monterey and later: .NET 6.0–7.0 only

  • Windows: arm64 only

  • Linux (musl-based): arm64 only

  • Linux (glibc-based): arm32 and arm64. GLIBC_2.23 or later

  • macOS: arm64 (Apple Silicon). macOS 12 Monterey and later: .NET 6.0–7.0 only

Windows, Linux, macOS: arm64 only

Supported frameworks for x86 and x64 CPUs

Windows

macOS | Linux

Native

Supported

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

Supported profiling types: Timeline.

Not available

.NET Framework 1.0 – 4.8

Supported

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

Supported profiling types: Timeline, Sampling, Tracing, Line-by-Line.

Notes:

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

Not available

.NET Core 1.0 – 3.1

.NET 5 – 7

Supported

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

Supported profiling types: Timeline, Sampling, Tracing, Line-by-Line.

Notes:

  • You can attach only to .NET Core 3.x or .NET 5+ processes.

Supported

Available in: JetBrains Rider, standalone, console tool

Supported profiling types: Timeline, Sampling, Tracing.

Notes:

  • 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 is possible:

    • On Linux: only for .NET Core 3.0 or later.

    • On macOS: only for .NET 5 or later.

Mono 5.10 and later

Supported

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

Supported profiling types: Timeline.

Supported

Available in: JetBrains Rider, standalone, console tool

Supported profiling types: Timeline.

Notes:

  • Only 64-bit processes can be profiled.

  • Attaching to running Mono processes is not possible.

Mono Unity 2018.3 and later

Supported

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

Supported profiling types: Timeline.

Supported

Available in: JetBrains Rider, standalone, console tool

Supported profiling types: Timeline.

Notes:

  • Attaching to running Unity processes is not possible.

Get started

  • If you are 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 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 the 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.

Last modified: 23 November 2023