- Remove repeated log related to fetching cache stats
- Ensure that the Zen cache usage has log lines explaining the status of the caches it attempts to connect to (success or failure)
#rb Matt.Peters
[CL 30710842 by zousar shaker in ue5-main branch]
It's about 1/4 of CoreMinimal.h but rarely needed (Compression.h pulls on CriticalSection.h and Map.h that are costly).
#rb Yoan.StAmant
[CL 30683417 by aris theophanidis in ue5-main branch]
Instead of relying on a one-time blocking check with no reponse timeout, we now issue a blocking request with a 5 second idle time limit. If it fails, the store will still be created, but it will go into the same asyncronous re-evaluation loop as when performance is below the acceptable threshold and re-evaluate at 30 second intervals until both:
- Health is Ok
- Performance criteria (if any has been configured and is in use) is met
At which point it is activated. Health checks have been changed from the health/status endpoint to health/ready because we don't want to act if the server is running but not ready for requests (eg: during the time when it may be wiping data during a schema change.
The overall goal is that we don't force the entire session to execute without zenserver if zenserver was not ready at startup.
#rb Devin.Doucette
[CL 30295095 by zousar shaker in ue5-main branch]
The main cooker process sets up the environment variable UE-ZenSharedDataCacheHost as part of it's initialization so the ZenShared instance is created by the worker processes when they initialize before the redirection for the file share is detected.
In the main cooker process that env-variable is not set so it skips creating the ZenShared instance until it finds the redirection.
Renamed ICacheStoreGraph::Create -> ICacheStoreGraph::FindOrCreate to better reflect the functionality.
#rb Devin.Doucette, Zousar.Shaker
[CL 30248058 by dan engelbrecht in ue5-main branch]
1. Put a higher volume of individual cache items in a lesser amount of wall time
2. Reduce the gap in time between when a ref is put and when it is finalized during times of heavy Put workload
Along with this change there is a System.DerivedDataCache.HttpDerivedDataBackend.CacheStoreStressPut automated test (StressFilter) that puts 1000 records containing 12 byte values in each. Before this change, the test took 21 seconds to complete. It now takes 9 seconds to complete. There are opportunities to improve this further through batching.
#rb Devin.Doucette
[CL 29913201 by zousar shaker in ue5-main branch]
The intention is to provide a set of "in the box" telemetry hooks to our most common developer workflows for use internal Epic use and licensees
Moved startup of StudioTelemetry plugin much earlier to PostConfigInit stage so that sessions can start much earlier in the workflow
Added WIP Client support to telemetry plugin
Added data driven provider support for FAnlayiticProvidersET interfaces via BaseEngine.ini for common games and sample projects. Settings and URLs for EPic are only avaliable in Resttricted/NotForLicensee config folders for Lyra and Shooter game.
Added support for Horde telemetry and fixed up various problems with duplicate attributes being sent.
Added Core.VirtualAssets telemetry event
Added Core.Zen telemetry event
Added Core.IAS telemetry event
Added check for IOStoreOnDemand IsEnabled to avoid sending empty IAS events
Added FAnalyticsMulticastProvider to forward telemetry events to multiple providers contained within
Removed deprecated Fire_LoadingEvent from StudioAnalytics
[FYI] paul.chipchase
#rb Wes.Hunt
[CL 29908039 by mark lintott in ue5-main branch]