Commit Graph

7 Commits

Author SHA1 Message Date
ben woodhouse
f27a3c8875 PerfReportTool 4.234.0
- 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]
2024-03-05 08:03:21 -05:00
tyler staples
a718fe697a PRS - Dynamically load graphs in generated reports
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]
2024-01-17 22:10:33 -05:00
ben woodhouse
4451ac584f PerfReportTool 4.225.0: Add support for inline graphs, so we can define graphs fully in a ReportType. This allows us to reference variables in the graph definition directly, e.g for declaring a stat string or setting a maxY which corresponds to the target FPS
[CL 30318261 by ben woodhouse in ue5-main branch]
2023-12-14 08:40:49 -05:00
ben woodhouse
932a14ce02 PerfReportTool 4.210 - Variables part 1 : Add support for metadata references in ReportTypes XML. CSV Metadata references can now be specified Report xml attributes (and values in select cases) with ${meta.KEY} syntax, e.g offsetY="${meta.minimapoffsety}". Multiple variables can be matched in a single attribute if needed, eg offsetXY="${meta.minimapoffsetx},${meta.minimapoffsety}"
Support is provided for Summary classes via XElement extension helper methods, which now take an optional XmlVariableMappings param which handles the variable resolving. GetAttribute, GetSafeAttribute and GetValue support this.
Non metadata variables are also supported in theory e.g ${MyVariable}, but support for populating these does not exist yet
Various cleanup/refactoring and fixups of old code

#tests Passes Test cases with identical results (if no changes to the XML)
[FYI] tyler.staples

[CL 29912786 by ben woodhouse in ue5-main branch]
2023-11-23 14:06:40 -05:00
ben woodhouse
8d91b3258f PerfReportTool 4.108.0 + CsvToSvg: -maxAutoMaxY support for graphs + other fixes:
- Add maxAutoMaxY param to graphs and csvToSVG params which allows us to clamp the max automatic Y to a particular value. Also:
- Fix some naming clashes when there are mulltiple graphs on a page. This was preventing us from having graphs with different sizes in a perf report
- Add -embedGraphCommandline arg to help debugging
[FYI] tyler.staples

[CL 29745624 by ben woodhouse in ue5-main branch]
2023-11-15 09:55:24 -05:00
ben woodhouse
5229ec9b03 PerfReportTool 4.72 - use CsvToSvgLib async tasks instead of processes by default (override to legacy behavior with -csvToSvgProcesses). This reduced bulk report generation from 12s to 7.7s in tests
- fix a bug in custom commandline parsing where last character would be skipped
- Update binaries for PerfReportTool, CsvToSvg, CsvToSvgLib, CsvStats

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 19781993 via CL 19781999 via CL 19782001
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19803413 by ben woodhouse in ue5-main branch]
2022-04-19 00:19:31 -04:00
ben woodhouse
d36f343a0b PerfReportTool 3.60. Refactoring:
- Split classes into separate files
- Make Summary types self-register so they're self-contained and more easily extendable
- Remove redundant XmlHelper class, convert existing usage of this to use the GetSafeAttribute method
- Output is unchanged (verified with unit tests)
#jira

#ROBOMERGE-OWNER: ben.woodhouse
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 16796904 via CL 16796908 via CL 16796909 via CL 16796910 via CL 16804496
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v836-16769935)

[CL 16804497 by ben woodhouse in ue5-main branch]
2021-07-01 13:10:28 -04:00