[Proposal] Introduce a new tool for converting traces
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 404
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 35
Description
From the user perspective, I would like to:
* be able to convert `.trace.zip` files captured with `perfcollect` to speedscope|chromium format to avoid the need of using a Windows machine while investigating .NET Core performance on Linux (cc @tmds @roji @AndyAyersMS)
* specify fold patterns. A good use case is folding `CPU_TIME` and `UNMANAGED_CODE_TIME` for `dotnet trace` captured traces (cc @swift-kim)
* specify time range to limit the size of the output file (very useful when working with chromium trace files which are VERY big, 15s of TechEmpower benchmark run on 28 core machine = 2 GB JSON file..)
The natural (and easy) choice to me would be to extend the `dotnet trace convert` command with new parameters. But in #905 @noahfalk mentioned that he would prefer to avoid adding new features to `dotnet trace` that depend on `TraceEvent` library (to be able to remove this heavy dependency in the future) so extending `dotnet trace convert` command is not an option.
So we need a new global tool for converting and filtering trace files. Since the tool will basically expose some of the PerfView features I wonder:
* where it should belong: https://github.com/dotnet/diagnostics or in https://github.com/Microsoft/perfview ?
* what would be a good name for it? (I am very open to any suggestions)
@noahfalk @brianrob what do you think?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.