- Add support for startEvent and stopEvent in graphs
- Add requiredEvents field for graphs so we can suppress graphs based on whether particular events are present
[CL 32016929 by ben woodhouse in ue5-main branch]
- Add -startEvent and -endEvent params to start and stop graphing at a particular event
- The params -startEventOffset and -endEventOffset allow you to offset the start/end by a particular number of frames
- If multiple CSVs are being processed, the data is cropped so frame counts start from zero
- The existing -maxx and -maxy parameters are relative to the adjusted CSV (e.g so -maxx=200 with -startEvent gc will capture 200 frames from the first gc)
- Fix bug with legend sorting. Frame is now always top
- Fix bug with auto Y axis scaling when a range is specified. Use the range instead of the whole CSV
Common
- Fix commandline parsing for negative numbers. Negative numbers are always recognized as values rather than param names
[FYI] tyler.staples
[CL 32016893 by ben woodhouse in ue5-main branch]
Updates the full report generation to optionally embed a url to the csvtosvg end point to create and display graphs on demand rather than generating them offline. This reduces the size of the reports by about 250x.
+ Updated GetCsvToSvgArgs to have different output formats (command line, url).
+ Added -useEmbeddedGraphUrl arg to specify inserting the url instead of fully inlining the graph. This is accompanied by -embeddedGraphUrlRoot to specify the base url to target.
+ Removed the concept and handling of external graphs as the code path wasn't used and didn't work.
+ Refactored GenerateReport to create a list of CsvSvgInfo objects to better handle the different formats (url, inline).
+ Updated command line handling to decoded − into '-' to fix an issue where negative numbers were treated as arguments.
+ Remove giant graphs from ReportTypes.xml as they're unused.
#rnx
#rb ben.woodhouse
#tests prt compare tests, manual testing
[CL 30677752 by tyler staples in ue5-main branch]
Make summaries and graphs collapsible. Summaries can start collapsed if specified in xml via the "collapsed" attribute.
Add a new HtmlSection helper class to assist with this.
We may later want to extend this functionality to add a top level hierarchy to the report, allowing us to have high level sections with multiple summaries in them.
[FYI] tyler.staples
[CL 30660748 by ben woodhouse in ue5-main branch]
This summary type sums up multiple CsvStat averages and emits the total as a SummaryTableMetric named metricName (if specified).
- Budget colors can optionally be applied to individual stats and/or the total via colourThresholds and colourThresholdsTotal nodes
- If emitStatMetrics is enabled, each stat will emit a SummaryTableMetric, named metricName/strippedStatName (with the same value as the existing CsvStatAverage element if it exists)
- Budget coloring is applied to existing CsvStatAverage elements.
- The budget for a given stat is assumed to be the first element of its colourThresholds. This value is displayed in the report
- A totalStatName attribute can be specified if a total stat already exists. If so, an "other" value will be output to the detailed summary table with the unaccounted value
- If the showTotal attribute is set to false (default: true), the total won't be shown in the detailed report
Other changes:
- Always read all CSV stat averages, regardless of whether -readAllStats is specified. -readAllStats is only now used to determine whether to show CSV stat averages in a summary table
Example:
<summary type="statBudgets" metricName="GTGameplay" title="Gamethread - Gameplay Budgets" hideStatPrefix="Exclusive/GameThread/" emitStatMetrics="1">
<colourThresholdsTotal>3,4,5,6</colourThresholdsTotal>
<colourThresholds stat="Exclusive/GameThread/Buildings">1,2,3,4</colourThresholds>
<stats>Exclusive/GameThread/Buildings,Exclusive/GameThread/Camera,Exclusive/GameThread/Curie,Exclusive/GameThread/Network*,Exclusive/GameThread/PlayerController*,Exclusive/GameThread/WorldTickMisc,Exclusive/GameThread/FlushLatentActions,Exclusive/GameThread/Tickables,Exclusive/GameThread/SyncBodies,Exclusive/GameThread/CharPhys*,Exclusive/GameThread/Character*,Exclusive/GameThread/FortPawnTickSubsystem,Exclusive/GameThread/SignificanceManager,exclusive/gamethread/vehicle*,Exclusive/GameThread/AbilityTasks,Exclusive/GameThread/Actor*,Exclusive/GameThread/HandleRPC,Exclusive/GameThread/RepNotifies,Exclusive/GameThread/TickActors,Exclusive/GameThread/Pickups,Exclusive/GameThread/ProjectileMovement,Exclusive/GameThread/TimelineComponent,Exclusive/GameThread/TimerManager,Exclusive/GameThread/FortTrainManager</stats>
</summary>
[FYI] andrew.ladenberger, michael.short
[CL 30329557 by ben woodhouse in ue5-main branch]
- Multiplier support for variables. Add multiplier="N" attribute to a variableset or variable
- FPSCharts : Compute frametime color thresholds automatically if MVP thresholds are specified and frametime is not
- Support empty color thresholds (useful if we want to clear via a variable)
- Add support for dumping the variables to the log for each CSV via -dumpVariables param
[CL 30060917 by ben woodhouse in ue5-main branch]