microsoft-performance-toolkit-sdk
microsoft-performance-toolkit-sdk copied to clipboard
SDK should support exposing DataSourceInfo via Engine
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