Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/core/diagnostics/dotnet-trace.md
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,9 @@ dotnet-trace collect
|--------------|----------------------------------------------------------|
| `dotnet-common` | Lightweight .NET runtime diagnostics designed to stay low overhead.<br>Includes GC, AssemblyLoader, Loader, JIT, Exceptions, Threading, JittedMethodILToNativeMap, and Compilation events<br>Equivalent to `--providers "Microsoft-Windows-DotNETRuntime:0x100003801D:4"`. |
| `dotnet-sampled-thread-time` | Samples .NET thread stacks (~100 Hz) to identify hotspots over time. Uses the runtime sample profiler with managed stacks. |

> [!TIP]
> The sampling rate used by `dotnet-sampled-thread-time` can be changed with the `DOTNET_EventPipeThreadSamplingRate` environment variable (value in milliseconds). This setting is process-global and affects all EventPipe sessions. See [Trace using environment variables](./eventpipe.md#trace-using-environment-variables) for details.
| `gc-verbose` | Tracks GC collections and samples object allocations. |
Comment on lines 235 to 239
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The TIP block is inserted in the middle of the Markdown table for available profiles, which terminates the table after the dotnet-sampled-thread-time row and causes the gc-verbose, gc-collect, and database rows to render outside the table. Move the TIP either inside the dotnet-sampled-thread-time cell (as inline text) or place it after the table ends so the table remains contiguous.

Copilot uses AI. Check for mistakes.
| `gc-collect` | Tracks GC collections only at very low overhead. |
| `database` | Captures ADO.NET and Entity Framework database commands. |
Expand Down
2 changes: 2 additions & 0 deletions docs/core/diagnostics/eventpipe.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ However, you can use the following environment variables to set up an EventPipe

* `DOTNET_EventPipeProcNumbers`: Set this to `1` to enable capturing processor numbers in EventPipe event headers. The default value is `0`.

* `DOTNET_EventPipeThreadSamplingRate`: Available in .NET 11+. Sets the interval, in milliseconds, for the EventPipe thread time sampling profiler. When set to `0` or omitted, the runtime uses its built-in default of 10 ms (~100 Hz). This setting is process-global and affects all EventPipe sessions, including on-demand traces started by tools such as [dotnet-trace](./dotnet-trace.md). Setting a large value reduces sampling overhead but also reduces the resolution of any trace collected during the process lifetime.
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider rephrasing "Available in .NET 11+" to a more standard version note (for example, "Available starting in .NET 11" or "Available in .NET 11 and later") to avoid the informal "+" shorthand in docs text.

Suggested change
* `DOTNET_EventPipeThreadSamplingRate`: Available in .NET 11+. Sets the interval, in milliseconds, for the EventPipe thread time sampling profiler. When set to `0` or omitted, the runtime uses its built-in default of 10 ms (~100 Hz). This setting is process-global and affects all EventPipe sessions, including on-demand traces started by tools such as [dotnet-trace](./dotnet-trace.md). Setting a large value reduces sampling overhead but also reduces the resolution of any trace collected during the process lifetime.
* `DOTNET_EventPipeThreadSamplingRate`: Available in .NET 11 and later. Sets the interval, in milliseconds, for the EventPipe thread time sampling profiler. When set to `0` or omitted, the runtime uses its built-in default of 10 ms (~100 Hz). This setting is process-global and affects all EventPipe sessions, including on-demand traces started by tools such as [dotnet-trace](./dotnet-trace.md). Setting a large value reduces sampling overhead but also reduces the resolution of any trace collected during the process lifetime.

Copilot uses AI. Check for mistakes.

* `DOTNET_EventPipeConfig`: Sets up the EventPipe session configuration when starting an EventPipe session with `DOTNET_EnableEventPipe`.
The syntax is as follows:

Expand Down
2 changes: 2 additions & 0 deletions docs/core/runtime-config/debugging-profiling.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ The following table compares perf maps and jit maps.
| **runtimeconfig.json** | N/A | N/A |
| **Environment variable** | `DOTNET_PerfMapEnabled` | `0` - disabled<br/>`1` - perf maps and jit dumps both enabled<br/>`2` - jit dumps enabled<br/>`3` - perf maps enabled |

For EventPipe-related environment variables, see [Trace using environment variables](../diagnostics/eventpipe.md#trace-using-environment-variables).

## Perf log markers

- Enables or disables the specified signal to be accepted and ignored as a marker in the perf logs.
Expand Down
Loading