dotnet / dotnet/diagnostics

[dotnet-trace] Convert and Report not compatible with collect-linux traces

Open
#5,610 0 comments 0 reactions 1 assignee Claimed by @mdh1418 View on GitHub
enhancement
Dominant language
C++
Stars
1.3k
Forks
404
Avg merge
2d 3h
Merged PRs (30d)
38

Description

Traces generated by `collect-linux` in https://github.com/dotnet/diagnostics/pull/5570 do not collect samples from `Microsoft-DotNETCore-SampleProfiler`. `dotnet-trace convert` and `dotnet-trace report` both generate thread time stacks assuming samples from SampleProfiler https://github.com/dotnet/diagnostics/blob/fcb028b0c776e72f2cdaa9b4a841dd69e72f6bf0/src/Tools/dotnet-trace/TraceFileFormatConverter.cs#L81-L85 and https://github.com/dotnet/diagnostics/blob/fcb028b0c776e72f2cdaa9b4a841dd69e72f6bf0/src/Tools/dotnet-trace/CommandLine/Commands/ReportCommand.cs#L56-L58, so both verbs will result in empty thread time stacks.

Instead, `collect-linux` can collect thread time perf_event samples with `--profile thread-time`. So to add support for the new collect-linux traces, `convert` and `report` should probably be updated to use https://github.com/microsoft/perfview/blob/main/src/TraceEvent/Computers/ThreadTimeComputer.cs when that's released

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.