Skip to content

Conversation

mdh1418
Copy link
Member

@mdh1418 mdh1418 commented Aug 7, 2025

Summary

Add new collect-linux verb to utilize new user_events based event tracing.


Internal previews

📄 File 🔗 Preview link
docs/core/diagnostics/dotnet-trace.md dotnet-trace performance analysis utility

@mdh1418 mdh1418 requested review from tommcdon and a team as code owners August 7, 2025 20:53
@dotnetrepoman dotnetrepoman bot added this to the August 2025 milestone Aug 7, 2025
@mdh1418 mdh1418 marked this pull request as draft August 7, 2025 21:16
@mdh1418 mdh1418 force-pushed the diagnostics_dotnet_trace_collect_linux branch from bc293c0 to e1a3ec7 Compare August 7, 2025 21:19
- **perf**: Use `perf list user_events*` to see available events
- **System monitoring tools**: Any tool that can consume Linux tracepoints

### Examples
Copy link
Member

Choose a reason for hiding this comment

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

Lower in this doc are some examples of using dotnet-trace collect in various situations. No need just yet, but we'd probably want to update or add to those examples for the collect-linux functionality once we've clarified what it will be.

Copy link
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 issues. Other issues are also a high priority. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@mdh1418 mdh1418 force-pushed the diagnostics_dotnet_trace_collect_linux branch from 728afed to 26adb7b Compare September 2, 2025 18:43
@mdh1418 mdh1418 marked this pull request as ready for review September 2, 2025 18:59
@noahfalk noahfalk changed the title [Diangostics][dotnet-trace] Add collect-linux verb [Diagnostics][dotnet-trace] Add collect-linux verb Sep 3, 2025
When `--profiles`, `--clrevents`, and `--providers` aren’t specified, `collect-linux` enables the default `profile` providing the comprehensive composition:

- `dotnet-common` — lightweight .NET runtime diagnostics.
- `dotnet-thread-time` — runtime thread stack sampling.
Copy link
Member

Choose a reason for hiding this comment

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

These events aren't useful under user_events because we aren't including managed stack traces in the event data we report to the kernel. We shouldn't include this in the default. We might even want to include a warning if someone tried to turn this on explicitly with the --profile option.

Copy link
Member Author

Choose a reason for hiding this comment

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

Removed from the collect-linux set of profiles. I think we will need some specifier for dotnet-trace list-profiles to delimit which profiles are valid for collect vs collect-linux.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants