Commit Graph

31 Commits

Author SHA1 Message Date
Per Larsson
dc0583348b Zen - experimental web socket client
#rb paul.chipchase
#rnx
#preflight 6231d4bcac0173aa412c8706

[CL 19405005 by Per Larsson in ue5-main branch]
2022-03-16 09:17:31 -04:00
zousar shaker
625a874551 Resolve compile issue in UE Zen client caused by including an Internal header from a Public header.
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]
2022-03-02 22:10:10 -05:00
steve robb
288f3de432 Fixes for the implicit conversion of ints and chars to TCHARs in UTF-8 mode.
#rb trivial
#preflight 621ed0b4e15c51d8c5e5d081

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19219816 via CL 19220283 via CL 19220288 via CL 19223679
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19227684 by steve robb in ue5-main branch]
2022-03-02 15:30:50 -05:00
mark lintott
dc0bd9e876 Blocking Zen HTTP stats request now runs async using futures
#rb Andriy.Tylychko
#fyi Zousar.Shaker
#jira UE-132849
#preflight 621e0c71e15c51d8c5bd5967

[CL 19196840 by mark lintott in ue5-main branch]
2022-03-01 07:20:31 -05:00
Martin Ridgers
9aaaa5b445 Fixed IncludeTool warning.
#rb trivial
#rnx
#preflight 621ded73f1206ae3ea3bcc01

[CL 19196283 by Martin Ridgers in ue5-main branch]
2022-03-01 05:06:05 -05:00
Martin Ridgers
db99164288 - Enable Zen on Mac and Linux.
- Updated zenserver binaries to 4ae4f1f

#rnx
#preflight 621ddbb0313c8c01033b88ae

[CL 19195911 by Martin Ridgers in ue5-main branch]
2022-03-01 03:56:00 -05:00
steve robb
33c800a605 TEXT(""_SV) changed to TEXTVIEW("") for UTF-8 support.
#rb trivial

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19135062 via CL 19136099 via CL 19136620 via CL 19138526
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19155676 by steve robb in ue5-main branch]
2022-02-25 15:48:16 -05:00
Martin Ridgers
856328e1f4 Missing include.
#rb trivial
#preflight trivial

[CL 19032123 by Martin Ridgers in ue5-main branch]
2022-02-17 03:38:49 -05:00
zousar shaker
7846956c1b Fix bug when parsing URL for Zen containing colons (eg: ::1).
#rb devin.doucette
#jira UE-142437
#lockdown julien.marchand
#preflight 620b4e3a483ff0ae5ea7f565

#ROBOMERGE-OWNER: zousar.shaker
#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18995738 in //UE5/Release-5.0/... via CL 18996038 via CL 18996374
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18996395 by zousar shaker in ue5-main branch]
2022-02-15 10:52:53 -05:00
zousar shaker
a1f07eb040 Fix NonUnity compile error in ZenServerHttp.h.
#rb none
#jira none
#preflight none
#lockdown Aurel.Cordonnier

#ROBOMERGE-OWNER: zousar.shaker
#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18992965 in //UE5/Release-5.0/... via CL 18993161 via CL 18993193
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18996322 by zousar shaker in ue5-main branch]
2022-02-15 10:49:29 -05:00
zousar shaker
204349bdd1 Fix excessive thread spawning caused by name resolving of "localhost" at high frequency by the Zen stats code.
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]
2022-02-14 12:19:59 -05:00
Martin Ridgers
277e8c810e Moved lock file existence checks into a function. Implemented lock testing and lock file reading for POSIX-based platforms.
#rb zs
#rnx
#preflight 6204d2b3a8129f65b75563bc

[CL 18933249 by Martin Ridgers in ue5-main branch]
2022-02-10 03:58:29 -05:00
Martin Ridgers
11809b49b1 Fixed unresolved symbol errors. An inlined and exported function is very portable. MSVC respects the export, while Apple Clang favours the inline and fails on symbols the inlined body references that aren't exported.
#rb zs
#rnx
#preflight 6204cc3ca8129f65b755250a

[CL 18933112 by Martin Ridgers in ue5-main branch]
2022-02-10 03:30:55 -05:00
Matt Peters
f76045bb7e LowLevelMemTracker - add scopes for some large allocations during cooking.
#rb Devin.Doucette
#rnx
#preflight 62047a600a1c4eb68f555ba5

[CL 18930861 by Matt Peters in ue5-main branch]
2022-02-09 21:53:31 -05:00
Martin Ridgers
a14893efb5 Implementation of the set side of Zen's NamedEvent for Linux and Mac.
#rnx
#rb zs
#preflight 6201155b6f05911039b7a56b

[CL 18884380 by Martin Ridgers in ue5-main branch]
2022-02-07 07:56:00 -05:00
Martin Ridgers
6ed0f035cf Incorrect variable name in POSIX #if/def block.
#rb trivial
#preflight none
#rnx
#rb zs

[CL 18884365 by Martin Ridgers in ue5-main branch]
2022-02-07 07:53:22 -05:00
Zousar Shaker
05614af551 Use SIO_LOOPBACK_FAST_PATH on Windows when communicating with ZenServer.
#rb per.larsson
#preflight 61fabe771a71e1f04e971c0d

[CL 18829294 by Zousar Shaker in ue5-main branch]
2022-02-02 12:30:34 -05:00
Martin Ridgers
513ab48135 POST data size was not specified correctly.
Unknown POST sizes cause later libcurl versions to add an Transfer-Encoding header which is not compatible with the Content-Length header. An exert from the libcurl docs; "without chunked transfer, you must specify the size in the request. (Since 7.66.0, libcurl will automatically use chunked encoding for POSTs if the size is unknown.) When providing data with a callback, you must transmit it using chunked transfer-encoding or you must set the size of the data with the CURLOPT_POSTFIELDSIZE"

#rb sbo
#rnx
#preflight 61f255fffc74f46b56569b47

[CL 18751364 by Martin Ridgers in ue5-main branch]
2022-01-27 03:35:48 -05:00
matt peters
1f9d37696d ZenServerHttp: Add support for rpc calls that post an FCbPackage; previously only FCbObject was supported.
#preflight 61f170657266f4e79bd44c52

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18736232 in //UE5/Release-5.0/... via CL 18736248 via CL 18736471
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18736490 by matt peters in ue5-main branch]
2022-01-26 11:29:07 -05:00
zousar shaker
45ee13242b Fix bug with ZenServer AutoLaunch port being inlined into each module. Also fixed failure to distinguish between "did not launch" and "taking long to be ready" outcomes in Zen AutoLaunch.
#rb devin.doucette
#preflight 61f16969fc74f46b563e6665

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18735750 in //UE5/Release-5.0/... via CL 18735757 via CL 18735889
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18735954 by zousar shaker in ue5-main branch]
2022-01-26 10:54:48 -05:00
per larsson
79eaa40564 Zen - updated stats response to match new Zen server binaries
#rb none
#preflight 61f1025194538e370a7b6409

#ROBOMERGE-AUTHOR: per.larsson
#ROBOMERGE-SOURCE: CL 18733465 in //UE5/Release-5.0/... via CL 18733468 via CL 18733479
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18733482 by per larsson in ue5-main branch]
2022-01-26 04:28:28 -05:00
per larsson
24a854e5f7 Support cooking to remote Zen server
#rb none
#preflight 61ea791ae71cba4d253c6919
#rnx

#ROBOMERGE-AUTHOR: per.larsson
#ROBOMERGE-SOURCE: CL 18687394 in //UE5/Release-5.0/... via CL 18687401 via CL 18687404
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18687410 by per larsson in ue5-main branch]
2022-01-21 04:24:08 -05:00
zousar shaker
072063f976 Remove coded special handling for build machines and lifetime limitation of ZenServer. Instead have build scripts that want that behavior explicitly specify it as an INI override on the commandline. Misc fixes to commandline and path consistency when launching ZenServer.
#rb devin.doucette
#preflight 61e88fb5b875abaf33357586

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18667349 in //UE5/Release-5.0/... via CL 18667373 via CL 18668165
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v901-18665521)

[CL 18668332 by zousar shaker in ue5-main branch]
2022-01-19 18:28:03 -05:00
zousar shaker
b39b133fa8 Autolaunch fixes ahead of wider ZenServer usage/rollout:
-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]
2022-01-12 12:05:55 -05:00
zousar shaker
7c93cc7d71 Ensure that zenserver is launched in ASIO mode even for licensee configurations. Avoid forced persistence of the zen data path.
#jira UE-136192
#rb devin.doucette
#preflight 61d76137932a02483cd8c2fd

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18536337 in //UE5/Release-5.0/... via CL 18536358
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18536364 by zousar shaker in ue5-release-engine-test branch]
2022-01-06 16:50:22 -05:00