Commit Graph

25 Commits

Author SHA1 Message Date
tyler staples
d2ddfa358a PerfReportTool - Add support for date formats and disabling column word wrap.
#rb ben.woodhouse

[CL 24905945 by tyler staples in ue5-main branch]
2023-04-03 22:30:12 -04:00
ben woodhouse
0e7d1d7ea0 PerfReportTool - Add -summaryTableXmlRowSortAppend arg to allow appending values to a summary table's row sort list via the commandline
[CL 24136498 by ben woodhouse in ue5-main branch]
2023-02-11 12:25:29 -05:00
ben woodhouse
f7cd8f51d5 PerfReportTool: add -summaryTableXmlAppend arg for appending stats/metrics to the end of a summary table's filter list via the commandline. This allows us to append multiple stats (-summaryTableXmlSubst only supports one stat per substitution)
[CL 24092968 by ben woodhouse in ue5-main branch]
2023-02-09 00:36:36 -05:00
tyler staples
3b43312f37 PerfReportTool - Add support for regression and other column filters.
+ Additional column filters can now be created by implementing ISummaryTableColumnFilter and adding it to the list in Program.MakeAdditionalColumnFilters.
+ Moved stat threshold checks into an additional filter.
+ Added a column filter to hide metadata columns.
+ Added a column filter to only show columns where the most recent build has regressed by more than a given threshold.
+ You can now use 'debugShowFilteredColumns' to have columns be grayed out instead of removed. Hovering over them will show the reason they were filtered out (which filter and the reason). This is for debugging purposes and sanity checks to make sure you're not missing important information, especially when iterating on new filters. Some additional settings were added to SummaryTableColumn to support this.
+ Filters can also mark individual cells as 'invalid' to indicate they are not taken into consideration for that filter. These are grayed out with a tooltip when debugShowFilteredColumns is enabled. Currently this does not work in collated views.
+ Added the ability to set tooltips for column headers.
+ Added the ability to add a color modifier for the entire column or individual cells.

#rb ben.woodhouse

[CL 22890943 by tyler staples in ue5-main branch]
2022-11-01 16:30:42 -04:00
tyler staples
b02c452ae8 PerfReportTool - Update budget colour scheme to match auto as it's much easier on the eyes.
#rb ben.woodhouse

[CL 22798511 by tyler staples in ue5-main branch]
2022-10-26 19:10:45 -04:00
tyler staples
c94b11439d PerfReportTool - Add support for colourThreshold overrides in summaryTableColumnFormatInfo.
This allows setting colourThresholds globally for an entire column, overriding other settings.

Also added support for specifiying the actual colours and if they should be lerped between or not.
Note: lerpColours isn't currently serialized to prc files.

#rb ben.woodhouse

[CL 22712141 by tyler staples in ue5-main branch]
2022-10-22 15:34:08 -04:00
tyler staples
d49dd7aded PerfReportTool - Add support for showing value buckets in columns.
This allows you to define a list of value thresholds for a column and the bucket names that correspond with each threshold. When present the corresponding bucket name will be displayed in the column instead of/with the value.

#rb ben.woodhouse

[CL 22670762 by tyler staples in ue5-main branch]
2022-10-20 16:47:38 -04:00
tyler staples
ed4771efaa Fixed inconsistencies with -colorizeTable and it not correctly overriding the colorMode set in the summary table xml.
+ 'default' now only exists as an argument and not an actual state as default means use what is defined in the summary table xml file.
+ Removed the 'Default' TableColorizeMode value and added a 'Budget' value which represents budget coloring.

#rb ben.woodhouse

[CL 22662548 by tyler staples in ue5-main branch]
2022-10-20 13:44:01 -04:00
ben woodhouse
fe8e2509aa PerfReportTool 4.94.2 - Fix diff row bug which caused an extra all-zero row to be created for every diff row added. This was breakng automatic colorization, causing all previous rows to be red
[CL 21500256 by ben woodhouse in ue5-main branch]
2022-08-22 21:35:10 -04:00
ben woodhouse
a3c3ea66e9 PerfReportTool 4.91 - replace autoColorize bool xml param with colorizeMode, which can be default, auto or off (new option). Add equivalent commandline param (-colorizeTable)
- Adding a diff row no longer disables colorization (unless colorizeMode is explicitly set to off)
- More formatting improvements for transposed tables

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21238557 via CL 21238558 via CL 21239577
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21239660 by ben woodhouse in ue5-main branch]
2022-07-26 17:00:58 -04:00
ben woodhouse
458e3e3917 PerfReportTool - more formatting improvements
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21237283 via CL 21237284 via CL 21237285
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21237312 by ben woodhouse in ue5-main branch]
2022-07-25 20:11:06 -04:00
ben woodhouse
c3331cec01 PerfReportTool 4.90 - Improve column formatting. Remove hacky min-width calculation and just rely on CSS no-wrap.
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21236844 via CL 21236845 via CL 21236850
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21236864 by ben woodhouse in ue5-main branch]
2022-07-25 15:56:41 -04:00
ben woodhouse
4a7608d6cb Reduce thresholds for diff column colourization
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21236790 via CL 21236792 via CL 21236794
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21236805 by ben woodhouse in ue5-main branch]
2022-07-25 15:40:56 -04:00
ben woodhouse
c516a018ef PerfReportTool 4.89 - Transposed summary table and diff row/column support
- Add support for transposed summary tables with -transposeTable or -transposeCollatedTable. Html will be transposed on write.
- Add Diff row support with -addDiffRows. This overrides disables automatic colouring for readability. If -transposeTable is specified, the diff rows become diff columns. Diff text is colorized based on a percentage of the max of the two diffs.
- Various fixes and cleanup for summary table writing. Added HtmlTable helper to assist with HTML table formatting and output.


#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21236341 via CL 21236354 via CL 21236357
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21236383 by ben woodhouse in ue5-main branch]
2022-07-25 13:50:18 -04:00
ben woodhouse
5fde534a48 Add -summaryTableXmlSubst method to allow replacing of entries in a summary table. Format is <find1>=<replace1>;<find2>=<replace2>...
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21233908 via CL 21233914 via CL 21233915
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21233925 by ben woodhouse in ue5-main branch]
2022-07-23 10:30:52 -04:00
ben woodhouse
55246a4e02 PerfReportTool 3.87 - add a -summaryTableStatThreshold param to filter out columns based on a threshold. If all values are below the threshold, the column will be removed. Only applies to CsvStatAverage and SummaryTableMetric thresholds. This can also be specified in the SummaryTable XML
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21122129 via CL 21122162 via CL 21122180
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21143051 by ben woodhouse in ue5-main branch]
2022-07-17 23:54:33 -04:00
ben woodhouse
a11d307cf2 PerfReportTool 4.86 - Add maxStringLength and maxStringLengthCollated XML params to SummaryTableColumnFormatInfo so we can optionally truncate column strings.
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21070387 via CL 21070389 via CL 21070390
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21079600 by ben woodhouse in ue5-main branch]
2022-07-13 16:25:11 -04:00
ben woodhouse
d13a14629e PerfReportTool 4.85 - Add hideStatPrefix summary table XML attribute to allow hiding of stat CSV prefixes in summary tables for clearer formatting. e.g "Exclusive/"
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21035255 via CL 21035258 via CL 21035265
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21035475 by ben woodhouse in ue5-main branch]
2022-07-10 14:14:02 -04:00
ben woodhouse
0870d5705a PerfReportTool 4.84 - fix inconsistent summary table sorting with numeric values
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21035013 via CL 21035017 via CL 21035019
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21035210 by ben woodhouse in ue5-main branch]
2022-07-10 12:37:43 -04:00
ben woodhouse
dd23ecee0c PerfReportTool 4.78 - add an AutoColorize XML option for summary tables and make this behavior independent of ScrollableFormatting.
- This can be force disabled via the commandline with -autoColorize 0, or enabled with -autoColorize or -autoColorize 1
- The -reverseTable and -scrollableTable params are now also possible to force disable by specifying 0 (using a new GetOptionalBool mechanism)

[FYI] andrew.ladenberger

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 20675636 via CL 20677476 via CL 20677697
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20679317 by ben woodhouse in ue5-main branch]
2022-06-15 19:53:12 -04:00
ben woodhouse
8f29d53bc6 PerfReportTool updates to support new PerfReportServer
PerfReportTool 4.71
 - Add support for summary table link templates that can be replaced later (e.g by a web server). E.g {LinkTemplate:Csv:<CSVID>}. Pass -linkTemplates to enable. This works for Csv and Report links, as well as ExtraLinks
 - Add -csvList and -PRCList args for specifying a list of PRCs or CSVs
 - Add -summaryTableXML arg for specifying an additional XML file containing summary tables
 - Summary table titles can now be specified with -summaryTitle instead of this being automatic

All CSV tools:
 - Add response file commandline support via -response=<filename>


#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 19686909 via CL 19686925 via CL 19686934
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19687527 by ben woodhouse in ue5-main branch]
2022-04-08 11:08:05 -04:00
robert millar
5f62e8e592 Expand support for wildcard to support wildcard at start, end or both of filter string.
Fix error message on missing metadata.

#rb ben.woodhouse

#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 18412962 via CL 18413177 via CL 18413235 via CL 18434949 via CL 18437302
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18437359 by robert millar in ue5-release-engine-test branch]
2021-12-10 20:37:20 -05:00
ben woodhouse
6a9e5a715a PerfReportTool 4.62 - Make scrollableFormatting and reverseSortRows properties of the table, settable in XML. Commandline overrides still work
- Modify defined tables to use the new attributes

#ROBOMERGE-OWNER: Ben.Woodhouse
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-COMMAND: _robomerge ue5-main
#ROBOMERGE-SOURCE: CL 16797223 via CL 16797225 via CL 16797229 via CL 16797233
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v836-16769935)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 16804512 by ben woodhouse in ue5-release-engine-test branch]
2021-07-01 13:12:17 -04:00
ben woodhouse
3bce99225b Move SummaryTableElement and SummaryTableRowData into separate SummaryTableData.cs file.
This moves core data and summary table cache serialization away from the higher level summary table logic

#ROBOMERGE-OWNER: Ben.Woodhouse
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-COMMAND: _robomerge ue5-main
#ROBOMERGE-SOURCE: CL 16796939 via CL 16796941 via CL 16796946 via CL 16796948
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v836-16769935)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 16804501 by ben woodhouse in ue5-release-engine-test branch]
2021-07-01 13:10:41 -04:00
ben woodhouse
49e3a1af3f 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-COMMAND: _robomerge ue5-main
#ROBOMERGE-SOURCE: CL 16796904 via CL 16796908 via CL 16796909 via CL 16796910
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v836-16769935)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 16804496 by ben woodhouse in ue5-release-engine-test branch]
2021-07-01 13:09:53 -04:00