Traces generated by collect-linux in #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
|
SampleProfilerThreadTimeComputer computer = new(eventLog, symbolReader) |
|
{ |
|
IncludeEventSourceEvents = false // SpeedScope handles only CPU samples, events are not supported |
|
}; |
|
computer.GenerateThreadTimeStacks(stackSource); |
and
|
SampleProfilerThreadTimeComputer computer = new(eventLog, symbolReader); |
|
|
|
computer.GenerateThreadTimeStacks(stackSource); |
, 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
Traces generated by
collect-linuxin #5570 do not collect samples fromMicrosoft-DotNETCore-SampleProfiler.dotnet-trace convertanddotnet-trace reportboth generate thread time stacks assuming samples from SampleProfilerdiagnostics/src/Tools/dotnet-trace/TraceFileFormatConverter.cs
Lines 81 to 85 in fcb028b
diagnostics/src/Tools/dotnet-trace/CommandLine/Commands/ReportCommand.cs
Lines 56 to 58 in fcb028b
Instead,
collect-linuxcan collect thread time perf_event samples with--profile thread-time. So to add support for the new collect-linux traces,convertandreportshould probably be updated to use https://github.com/microsoft/perfview/blob/main/src/TraceEvent/Computers/ThreadTimeComputer.cs when that's released