Original CL Desc
-----------------------------------------------------------------
Move the initial declaration of ::BlockUntilFlushed from IAnalyticsProviderET to it's parent class IAnalyticsProvider and improve the documentation showing the difference between ::FlushEvents and ::BlockUntilFlushed.
#rb mark.lintott
#rnx
[CL 31207392 by paul chipchase in ue5-main branch]
Added IAnalyticsTracer and IAnalyticsSpan interface that superseeds the FFlowTracker
StudioTelemetry no longer uses FFLowTracker and uses the simpler IAnalyticsTracer API instead inspired by OpenTelemetry Tracer/Span model.
Deprecated FFLowTracker as of 5.4
Added lots of documentation to the StudioTelemetry plugin code.
Moved creation of the AnalyticsProviderLog to the public BaseEngine.ini so it can be used as a public facing example. This will simply write out a JSON file to the Saved/Telemetry folder and overwrite it per session
Added new callbacks for PIE so that we can decopule when a PIE work has been created and is ready from when ALL PIE worlds have been created and are ready which makes TimeToPIE accurate for all projects.
Rolled in some shutdown recommendations from Paul.Chipchase.
Various fixes and improvements to the JSON file logigng example. Now works correctly with Tableau import.
#rb Eric.Knapik, Wes.Hunt, paul.chipchase
[CL 30391931 by mark lintott in ue5-main branch]
Fixed up FileLogging, AnalyticsSwrve and AnalyticsMulticast to implement the IAnalyticsProvider changes to Set/GetDefaultAttributes
Replaced dependency on IAnalyticsProviderET with IAnalyticsProvider in Studio Telemetry
Added Dynamic Analytics Provider Module Loading support. Replaced hard coded provider creation with dynamic IAnalyticsModule interface through modules
Added AnalyticsLog module as an example for 3rd parties to add custom, data driven IAnalyticsProviders to Studio Telemetry
Updated the ini files to use ProviderModule as the factory type for Porivder creation
[FYI] wes.hunt
[CL 30212753 by mark lintott 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]
Make retry system don't rely on Tick from game thread;
Make http tests can run with retry system enabled/disabled.
#jira UE-163631
[REVIEW] [at]michael.atchison [at]michael.kirzinger
#rb [at]michael.atchison, [at]michael.kirzinger
#tests Passed WebTests, also tried on Windows to reach main menu
[CL 29180201 by lorry li in ue5-main branch]
[FYI] lorry.li
Original CL Desc
-----------------------------------------------------------------
Make retry system don't rely on Tick from game thread;
Make http tests can run with retry system enabled/disabled.
#jira UE-163631
[REVIEW] [at]michael.atchison [at]michael.kirzinger
#rb [at]michael.atchison, [at]michael.kirzinger
#tests Passed WebTests, also tried on Windows to reach main menu
[CL 29101454 by bob tellez in ue5-main branch]
Make http tests can run with retry system enabled/disabled.
#jira UE-163631
[REVIEW] [at]michael.atchison [at]michael.kirzinger
#rb [at]michael.atchison, [at]michael.kirzinger
#tests Passed WebTests, also tried on Windows to reach main menu
[CL 29087807 by lorry li in ue5-main branch]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds
[CL 26082269 by henrik karlsson in ue5-main branch]
Added correct PIE Flow and SubFlow tracking
Added WorldStreaming tracking
Fixed several bugs in Flow Tracker
Added ThreadId to SubFlow and FLow types
#rb logan.buchy
#preflight 6447bbddf030f684d583ac14
[CL 25195293 by mark lintott in ue5-main branch]
High Level Vision:
https://docs.google.com/document/d/13R4nJ2UNMJZlf6JCjYssFMSY-5CrURazE4tqxW77yBw/edit#heading=h.bpycydduomgi
Details of changes:
Removed "most" references to FStudioAnalytics from Engine code.
Deprecated use of FStudioAnalytics::FireEvent_Loading(), will deprecate FStudioAnalytics in due course.
Added FAnalyticsFlowTracker to the engine code base based on the flow system used in UEFN.
Added explicit DDC Resource and DDC Summary events to track DDC usage by resource type.
Moved common Editor analytics callbacks into EpicStudioAnalytics plugin
Added a variety of delegates to the engine code to so that analytics capture can be defined in the plugin code or within the game code instead of the engine code ( eg. load map, editor initialization, cooking, slow task )
Added JSON serializer for analytics events to provide facility to capture analytics in restriced environments ( eg. UEFN CookWorker ). Though this fetaure is not enabled yet.
This will temporarily break Loading and Cooking analytics for Lyra, ShooterGame, CitySample but not Fortnite or UEFN. The remainder will need to be "fixed up" in UE5/Main once the changes have propogated (stakeholders have been notified)
[FYI] zousar.shaker, devin.doucette, eric.knapik, francis.hurteau
#rb wes.hunt
#preflight 643e45150a5a4b944e603be8
[CL 25083739 by mark lintott in ue5-main branch]