microsoft / microsoft/microsoft-performance-toolkit-sdk
SDK should support exposing DataSourceInfo via Engine
@mslukebo is already working on this.
Since Apr 29, 2022.
- Dominant language
- C#
- Stars
- 239
- Forks
- 78
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 2
Description
Is your feature request an entirely new concept?
Not a new concept but DataSourceInfo is key to the timeline in the UI and understanding the data time bounds. Exposing this so we can both show this to the user (same as ETL files) as well as use it for later checking and Unit Tests (for example to check if all timestamps are in the bounds of the DataSourceInfo )
Is your feature request related to an existing component?
yes, DataSourceInfo
Is your feature request related to a problem? Please describe.
This is related to tracking down a bug I experienced where UI showed say 1 row, but the raw data via QueryOutput show 100 rows. Turns out there was a bug in calculating relative timestamps where event timestamp was out of bounds of DataSourceInfo. Having DataSourceInfo would allow us to check this.
Also, Perfetto tooling has a page or so of code to calculate the trace start date and how long the trace is src. This is based on various bit of data in the trace, the trace bounds, clock snapshots, and even Chromium metadata. At the end of the data when we calculate DataSourceInfo I would like to show to the user.
- Trace start time (UTC & local)
- Trace stop time (UTC & local)
- Trace metadata which led to the trace start/stop decisions (trace bounds, snapshots, Chromium metadata above)
Describe the solution you'd like
Expose DataSourceInfo off of RuntimeExecutionResults
Describe alternatives you've considered
We would have to plumb DataSourceInfo into our Cookers via PerfettoSourceParser and then query the cooker directly which is additional complications / steps above using RuntimeExecutionResults.QueryOutput<ProcessedEventData...
Additional context
FYI @mslukebo as we discussed this
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.