This is being resolved by cherrypicking 19196840 by mark.lintott from UE5/Main (see original changelist details at the end of this cl description). On top of the cherrypick, there was a change made to re-use a single Http request when fetching stats. This avoids the overhead of doing name resolution repeatedly if the zen instance has a name instead of IP address.
Tested by:
- Running ShooterGame editor & observing UnrealInsights for ZenHttp_CurlPerform timers and ensuring they are not happening on the game thread when the editor is sitting idle (they are on background threads instead)
-Terminating ZenServer.exe while the editor is running and observing whether the framerate of the editor is negatively affected
#rb matt.peters
[FYI] mark.lintott
#jira UE-132849
#jira UE-143182
#lockdown aurel.cordonnier
#preflight 6220038831454c90cc13a123
Original changelist:
============
Blocking Zen HTTP stats request now runs async using futures
#rb Andriy.Tylychko
#[fyi] Zousar.Shaker
#jira UE-132849
#preflight 621e0c71e15c51d8c5bd5967
#ushell-cherrypick of 19196840 by mark.lintott
#ROBOMERGE-OWNER: zousar.shaker
#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 19234318 in //UE5/Release-5.0/... via CL 19236659
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19237357 by zousar shaker in ue5-main branch]
Re-use Curl request when gathering stats. Rate limit it to no more than 2/second. Still keeping it synchronous and blocking for now.
Avoid using "localhost" and prefer the IPV6 loopback address of [::1] to avoid name resolution penalty for localhost.
Keep DNS cache in Curl permanently for a given request.
#rb devin.doucette
#jira UE-142437
#preflight 620a7d7b6e5d06a542963178
#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18980515 in //UE5/Release-5.0/... via CL 18980843 via CL 18981187
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)
[CL 18981362 by zousar shaker in ue5-main branch]
-Enable ZenServer GC on 6 hour interval when autolaunching ZenServer
-Change default ZenServer data path to be C:\ProgramData\Epic\Zen
-Ensure when commandline changes that ZenServer is re-launched by the autolauncher
-Handle possibility of existing ZenServer being on the same port but at different data directory than the desired autolaunch target
-Handle possibility of existing ZenServer being at same data data directory but different port than the desired autolaunch target
#rb devin.doucette
#preflight 61df060bff67b6fe7abbd7a8
#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18585837 in //UE5/Release-5.0/... via CL 18585864 via CL 18585882
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)
[CL 18585919 by zousar shaker in ue5-main branch]
Removed ZenCacheStatistics from the DDC Editor Module as it is no longer required
#rb trivial
[FYI] per.larsson, devin.doucette
#preflight 61d58abec65e66487b1b2384
#ROBOMERGE-AUTHOR: mark.lintott
#ROBOMERGE-SOURCE: CL 18517627 in //UE5/Release-5.0/... via CL 18517629
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18517632 by mark lintott in ue5-release-engine-test branch]
SizeType will be deprecated in a subsequent change.
#rb Zousar.Shaker
#rnx
#preflight 61b8dde95d1b7767a13a5a70
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18456907 in //UE5/Release-5.0/... via CL 18456915
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v898-18417669)
[CL 18456926 by devin doucette in ue5-release-engine-test branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]