- Merge displayed event names if they're too close together, respecting priority (priority is implicit based on param order)
- Display nearby event names in an interactive panel alongside stats
- Truncate displayed events on the graph to 32 characters
Note: you can pass -showAllEvents to disable the new merging/truncation behaviour
[CL 34447676 by ben woodhouse in ue5-main branch]
- Fix a bug in variable resolution for array variables where the whole field would be replaced instead of just the variable
- Replace variables which fail to resolve with an empty string instead of leaving the variable name in place. This is easier for calling code to detect and handle
- Add a graceful failures in a few places to allow us to generate a report if variables fail to resolve
[CL 34155759 by ben woodhouse in ue5-main branch]
#rb ben.woodhouse, kaleb.morris
#tests Built in Release and tested both standalone and via PRS
[RN] PerfReportTool v4.236.0 Added Wildcard Stat support to BoundedStatSummary. This allows ReportTypes.xml to specify '*' for generated columns in a summary table
[FYI] richard.smith
[CL 33652701 by matt harris in ue5-main branch]
- 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]
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]