Commit Graph

34 Commits

Author SHA1 Message Date
Ben Marsh
235eb77726 Change to structured logging in other AutomationTool projects.
#preflight 6408c4478c0039bbf750e861

[CL 24562553 by Ben Marsh in ue5-main branch]
2023-03-08 12:43:35 -05:00
andrew grant
a3993df7e7 BenchmarkBuild
- Fix profiling of -xge and -noxge in the same pass resulting in redundant compile steps (UE-173565)
- Make -noclean also imply -nopostclean
- Add support for -ubtargs / -ubt2args / -ubt3args etc to allow profiling of different UBT args (similar to -cookargs / -cook2args etc)

Ex -

RunUAT BenchmarkBuild -project=Unreal -client -compile -ubt2args="-nodebuginfo" -ubt3args="-nopch" -ubt4args="-disableunity" -noxge

Task Unreal Build Client Win64: 00:08:12
Task Unreal Build Client Win64 (-nodebuginfo): 00:07:41
Task Unreal Build Client Win64 (-nopch): 00:13:43
Task Unreal Build Client Win64 (-disableunity): 00:22:49


#jira UE-173565
#preflight none
#rb swarm
[REVIEW] [at]eric.knapik [at]henrik.karlsson

[CL 23616624 by andrew grant in ue5-main branch]
2023-01-09 13:22:13 -05:00
andrew grant
687389742f Benchmarking script uodate -
Tidied up CSV reporting of values to be more spreadsheet friendly
Allow -AllCompile to be used independently of -editor / -client

#rb na
#preflgiht https://horde.devtools.epicgames.com/job/6312a54fab25bb91f5a7e838

[CL 21776180 by andrew grant in ue5-main branch]
2022-09-03 11:10:17 -04:00
andrew grant
499f555538 Restore 21213169
Improvements to BenchmarkBuild script.
- Added -editor-startup and -editor-game options to measure startup and startup time with -game
- Renamed -pie to -editor-pie to match other editor options-
- Allow different editor tests to use different sets of maps via -editor-startup=map2+map2, -editor-pie=map1+map2 etc
- Added AllEditor option to run all editor benchmarking
- Added -coldddc-noshared DDC option
- BenchmarkBuild now defaults to cleaning each targets after benchmarking its build time to save disk space (disable with -nopostclean)
- Moved Editor benchmark tests into separate files and reduced some duplicated code
- Updated help info

Other
- Fixed UAT GetProjectProperties returning inaccurate values if called twice with different platforms
- Doubled number of UBT logs that can be generated from a single UAT script
- Allow scripts to call UnrealBuild.CleanWithUBT to perform cleanup
- Simplified a lot of code

#rb na

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 21213895 via CL 21213903 via CL 21213910 via CL 21214414 via CL 21214472
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21214930 by andrew grant in ue5-main branch]
2022-07-22 00:56:39 -04:00
brandon boswell
338ca5c885 Back out changelist 21213169
#ROBOMERGE-AUTHOR: brandon.boswell
#ROBOMERGE-SOURCE: CL 21213801 via CL 21213879 via CL 21213889 via CL 21214176 via CL 21214241
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21214665 by brandon boswell in ue5-main branch]
2022-07-22 00:13:12 -04:00
andrew grant
2a13ce4d7c Improvements to BenchmarkBuild script.
- Added -editor-startup and -editor-game options to measure startup and startup time with -game
- Renamed -pie to -editor-pie to match other editor options
- Allow different editor tests to use different sets of maps via -editor-startup=map2+map2, -editor-pie=map1+map2 etc
- Added AllEditor option to run all editor benchmarking
- Added -coldddc-noshared DDC option
- BenchmarkBuild now defaults to cleaning each targets after benchmarking its build time to save disk space (disable with -nopostclean)
- Moved Editor benchmark tests into separate files and reduced some duplicated code
- Updated help info

Other

- Fixed UAT GetProjectProperties returning inaccurate values if called twice with different platforms
- Doubled number of UBT logs that can be generated from a single UAT script
- Allow scripts to call UnrealBuild.CleanWithUBT to perform cleanup
- Simplified a lot of code

#rb na

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 21213169 via CL 21213174 via CL 21213179 via CL 21214155 via CL 21214226
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21214663 by andrew grant in ue5-main branch]
2022-07-22 00:12:59 -04:00
andrew grant
72c05ae78b Fixed up Engine BenchmarkBuild and BuildTarget scripts for some UE5 / VK changes,
- Changes argument for building vanilla UE targets from "UE4" to "Unreal"
- Improved code that detects the project target to build to deal with projects that have multiple "Editor" targets
- Fixed issue where -noxge would cause -cook tasks not to be queued if there was no warm/hot/cold DDC argument
- Made -noxge the default if no -xge arg is specified

#rb pat.swanson

#ROBOMERGE-OWNER: andrew.grant
#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 18531909 via CL 18531922 via CL 18531923 via CL 18531933 via CL 18531940 via CL 18532363 via CL 18532390 via CL 18532802 via CL 18533930
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18534124 by andrew grant in ue5-release-engine-test branch]
2022-01-06 14:16:53 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
joe kirchoff
fdc401e569 BenchmarkBuild: Save TaskTime in the event of an exception
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 17124340 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17124361 by joe kirchoff in ue5-release-engine-test branch]
2021-08-10 17:00:30 -04:00
joe kirchoff
cbe8e1006b BenchmarkBuild: Record build time when task fails
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 17108690 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v854-17104634)

[CL 17108741 by joe kirchoff in ue5-release-engine-test branch]
2021-08-09 18:24:52 -04:00
jonathan adamczewski
55f53bcc8b ExitCode:
Move enum from AutomationUtils.Automation to BuildUtilities

#jira none
#trivial
#preflight 60ca8a3d78c3b00001f86b24

#ROBOMERGE-SOURCE: CL 16701095 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16701097 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-17 01:49:34 -04:00
jonathan adamczewski
64c210d294 AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

#ROBOMERGE-SOURCE: CL 16648181 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16648203 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 18:21:35 -04:00
Brandon Schaefer
fa900c4d40 Add a command on some DDC ENV pointing out the values for Linux/Mac so its easier to grep/FIF if looking for them
#jira none
#rb none

[CL 15980789 by Brandon Schaefer in ue5-main branch]
2021-04-12 14:44:23 -04:00
Andrew Grant
5087ea59ea TL;DR
Improved behavior of PIE automation to deal with extremly long hitches and better represet the time a user is going to wait before the editor is usable.
Improved usability of BenchmarkBuild script


Changes

+ Added new automation command for waiting until average fps reaches a specified value. Using this with a conservative value is a better way of checking for interactivity than looping at shader compiles etc.
+ When Errors are added to a test as a result of logging, this itself is now logged as an error. This makes it clearer why a test may have failed despite its own checks having passed.
+ BenchmarkBuild can now just specify empty arguments for PIE/Cook tests (e.g. -PIE1_Args="") to allow comparisons between default/other.
+ Project.Maps.PIE can now take a "-maps" argument on the command line for the list of maps to test
+ Turned on AutomationController.SuppresLogErrors for Frosty to prevent errors causing errors to fail
+ Cleaned up naming for mulltiple-variations of PIE/Cook tests in BenchmarkBuild. Now use -PIE1Args, -PIE2Args etc

Fixes -

* Fixed issue in AutomationControllerManager where extreme hitching resulted in an editor test timing out due to outstanding pings being given a "TimeSince" that would exceed a timeout
* Fixed issue where bTreatLogErrorsAsTestErrors was (strangely) causing the editor to exit with a zero-error code when tests failed.
* Made FWaitForShadersToFinishCompiling automation task non-blocking to prevent timeouts. (It also checks texture compilation as the blocking version used to)
* Fixed BenchmarkBuild using the old System.Maps.PIE test that isn't enabled by default in projects
* Removed flush of shaders/textures in Project.Maps.PIE since this doesn't represent when the level is playable. Measuring this will be added as a separate test.
* Fixed issue where a user specifying a map with an extension would cause Project.Maps.PIE not to recognize the level had loaded

#rb swarm
#jira nojira

[CL 15426493 by Andrew Grant in ue5-main branch]
2021-02-16 20:13:40 -04:00
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Ben Marsh
486408b1a9 Rename UE5Editor to UnrealEditor.
#rb none
#jira UE-97600

[CL 14292067 by Ben Marsh in ue5-main branch]
2020-09-10 15:39:00 -04:00
Ben Marsh
be7034ec27 Rename UE4Editor to UE5Editor, and generated solution/projects from UE4 -> UE5.
UE4Game/Client/Server targets left intact for the time being.

#rb none

[CL 14288076 by Ben Marsh in ue5-main branch]
2020-09-10 09:10:30 -04:00
andrew grant
ab43b238ca Benchmark Tests
- made noxge apply to shader compiles
- added option to test backends
- tweaked some cleanup stuff.


#ROBOMERGE-SOURCE: CL 12486820 via CL 12486833 via CL 12486836 via CL 12486838
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12487602 by andrew grant in Main branch]
2020-03-30 12:14:01 -04:00
andrew grant
310e80eadb Benchmark script - clean S3DDC files when clean benchmarking
#rb na
#tests ran script with and without clean


#ROBOMERGE-SOURCE: CL 12368788 via CL 12368789 via CL 12368792
#ROBOMERGE-BOT: (v671-12333473)

[CL 12371015 by andrew grant in Main branch]
2020-03-23 11:02:12 -04:00
andrew grant
6da803d6e3 Benchmark build now captures logs with verbosity.
used safer means of deleting old directories



#ROBOMERGE-SOURCE: CL 12216928 via CL 12216959 via CL 12222525
#ROBOMERGE-BOT: (v663-12210973)

[CL 12222689 by andrew grant in Main branch]
2020-03-16 16:25:17 -04:00
andrew grant
c38160b487 Benchmark Script
Fixed issue when building vanilla UE4 with no project



#ROBOMERGE-SOURCE: CL 12137682 via CL 12137684 via CL 12137687 via CL 12137693
#ROBOMERGE-BOT: (v659-12123632)

[CL 12137696 by andrew grant in Main branch]
2020-03-11 15:17:54 -04:00
andrew grant
8a6195afd6 Benchmark script -
Added option to select map to PIE to
Fixed issue with clients being compiled when not specified



#ROBOMERGE-SOURCE: CL 12127450 via CL 12127660 via CL 12127677 via CL 12132848
#ROBOMERGE-BOT: (v659-12123632)

[CL 12133065 by andrew grant in Main branch]
2020-03-11 13:02:02 -04:00
andrew grant
5b553c284b Fixed option typo in benchmark script
#ROBOMERGE-SOURCE: CL 12094919 via CL 12094925 via CL 12094929 via CL 12094933
#ROBOMERGE-BOT: (v657-12064184)

[CL 12094937 by andrew grant in Main branch]
2020-03-09 17:10:02 -04:00