Commit Graph

27 Commits

Author SHA1 Message Date
joe kirchoff
371a0b161c Remove some unacceptable words
#rnx
#jira UE-202331

[CL 30243579 by joe kirchoff in ue5-main branch]
2023-12-11 13:47:35 -05:00
josh adams
e94ead8457 - Replaced System.Environment.MachineName (and System.Net.Dns.GetHostName()) with Unreal.MachineName, since Environment.MachineName is capped at 15 characters, and not every machine name is that short. Uses System.Net.Dns.GetHostName() internally unless is throws an exception, then it falls back to Env.MachineName
#rb adam.kinge, joe.kirchoff

[CL 29712082 by josh adams in ue5-main branch]
2023-11-14 09:40:24 -05:00
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
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
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
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
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
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
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
andrew grant
838844b46c Simplified ddc options in the benchmark script due to the rapidly growing number of flags.
[FYI] josh.engbretson


#ROBOMERGE-SOURCE: CL 12094798 via CL 12094804 via CL 12094805 via CL 12094808
#ROBOMERGE-BOT: (v657-12064184)

[CL 12094810 by andrew grant in Main branch]
2020-03-09 17:03:55 -04:00
andrew grant
4c702f2cc4 BenchmarkBuild changes to explore DDC optimizations further.
Added NoDDC option for PIE tests.

ColdDDC option no longer nukes the local DDC, instead a temporary path is used.

Reworked PIE / Cook tests to rely more on a common base class functionality.


#rb swarm
#tests ran BenchmarkBuild with different options


#ROBOMERGE-SOURCE: CL 12056559 via CL 12056560 via CL 12056561 via CL 12056562
#ROBOMERGE-BOT: (v656-11643781)

[CL 12056563 by andrew grant in Main branch]
2020-03-08 19:25:07 -04:00
andrew grant
32101cfc29 Added PIE option to benchmark script
#ROBOMERGE-SOURCE: CL 12000189 via CL 12000732 via CL 12002271 via CL 12005776
#ROBOMERGE-BOT: (v656-11643781)

[CL 12048174 by andrew grant in Main branch]
2020-03-07 05:47:20 -05:00
andrew grant
7b12578a61 Cleaned up benchmark script.
Added EditorStartup test



#ROBOMERGE-SOURCE: CL 11943314 via CL 11944263 via CL 11944396 via CL 11944577
#ROBOMERGE-BOT: (v656-11643781)

[CL 11947228 by andrew grant in Main branch]
2020-03-05 13:50:48 -05:00
andrew grant
d9b5eaf2ba Add Thread_UseAllCpuGroups to UnrealBuildTool config to enable UBT to use both CPU groups on high-core systems such as 64-core ThreadRippers.
See - https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/thread-useallcpugroups-element

Also added MaxParallelActions command-line flag to UBT that can be used to restrict the number of cores used for local (e.g. nonxge).

Added -cores=X+Y=Z option to benchmark script for profiling

#rb swarm
[at]ben.marsh
#jira nojira

#ROBOMERGE-SOURCE: CL 11845433 in //UE4/Release-4.25/... via CL 11845441
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11845479 by andrew grant in Main branch]
2020-03-02 15:50:41 -05:00
andrew grant
f3a5ae1ad4 Added coldcook option to Benchmark script. Removes local DDC content prior to cooking
#jira #rb na

#ROBOMERGE-SOURCE: CL 11806356 in //UE4/Release-4.25/... via CL 11806357
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11806358 by andrew grant in Main branch]
2020-03-01 14:49:53 -05:00