Commit Graph

194 Commits

Author SHA1 Message Date
steve robb
f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
steve robb
f3624fbcbc Replaced UE_NORETURN with [[noreturn]].
Replaced PLATFORM_COMPILER_HAS_DECLTYPE_AUTO blocks.
Replaced PLATFORM_COMPILER_HAS_FOLD_EXPRESSIONS blocks.

[CL 30600164 by steve robb in ue5-main branch]
2024-01-12 14:20:07 -05:00
mark lintott
997b39095e Fix for AnalyticsTracer shutdown to properly end the open spans
[CL 30394832 by mark lintott in ue5-main branch]
2023-12-19 10:36:39 -05:00
mark lintott
6e838f66c0 Studio Telemetry Update:
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]
2023-12-19 06:42:52 -05:00
mark lintott
ae0e1db18a Pushed Set/GetDefaultAttributes into IAnalyticsProvider
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]
2023-12-08 11:57:27 -05:00
robert millar
3cc6c3af19 Re-implement re-entrancy check using thread-local bool.
#rb Matt.Peters

[CL 29962798 by robert millar in ue5-main branch]
2023-11-28 12:20:24 -05:00
mark lintott
b99d530ce0 Moved EpicStudioAnalytics plugin to StudioTelemetry which is now public facing.
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]
2023-11-23 07:06:10 -05:00
marc audy
a88b71c8b7 Fix/silence C4702 warnings
#rnx

[CL 29883627 by marc audy in ue5-main branch]
2023-11-22 01:04:15 -05:00
matt peters
2f2ce2f130 TelemetryRouter: Temporarily disable ReentrancyGuard until we have time to make it threadsafe.
#rnx
#rb logan.buchy

[CL 29876376 by matt peters in ue5-main branch]
2023-11-21 17:56:59 -05:00
lorry li
f7ee29e5fe Resubmit after: //Fortnite/Main/... changelist 29101420
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]
2023-10-27 08:42:11 -04:00
wes hunt
c6408e7334 Change analytics testing to not spew warnings if the flush takes too long. Still spews info logging to help profilers track down responsible parties. Will spew warnings when payloads are too large because those issues should be addressed immediately in any tool.
#jira UE-197708
[FYI] Matt.Peters
#tests Compile

[CL 29166462 by wes hunt in ue5-main branch]
2023-10-26 22:26:56 -04:00
bob tellez
549b6f8bc8 [Backout] - CL29087771
[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]
2023-10-25 16:43:47 -04:00
lorry li
c6aee9025c 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 29087807 by lorry li in ue5-main branch]
2023-10-25 10:01:09 -04:00
matt peters
44783d48cd AnalyticsProviderETEventCache: Change the automation test from SmokeFilter (runs early on startup) to EngineFilter (runs only when requested). In monolithic editor configurations, running at SmokeFilter time occurs before StartupModule is called, and the test requires some code from StartupModule.
#jira UE-197708
#rnx
#rb Matt.Peters

[CL 29044243 by matt peters in ue5-main branch]
2023-10-24 08:59:56 -04:00
matt peters
926355f7f8 AnalyticsProviderETEventCache: Add more feedback to the warning message "EventCache took too long to flush."
#jira UE-197708
#rnx
#rb Wes.Hunt

[CL 28980900 by matt peters in ue5-main branch]
2023-10-20 16:43:43 -04:00
matt peters
5183f1b598 Analytics: Set PayloadFlushTimeSecForWarning to a larger value when running in commandlets because hitches in commandlets are unimportant.
#rnx
#rb Wes.Hunt

[CL 27171750 by matt peters in ue5-main branch]
2023-08-17 09:56:59 -04:00
robert millar
8fa30b3f98 Add size validation to sometimes catch copy-pasted guids in telemetry event declarations.
Use FMemoryView instead of const void*.

#rb none

[CL 26924675 by robert millar in ue5-main branch]
2023-08-08 14:29:17 -04:00
francis hurteau
562b56049f Fix for Analytics tick float overflow, restore original intent
#rb Rex.Hill

[CL 26688683 by francis hurteau in ue5-main branch]
2023-07-28 17:30:10 -04:00
michael atchison
5140f3d6c8 Add support for comments in the default http user agent string.
[REVIEW] [at]lorry.li, [at]eric.day

[CL 26498012 by michael atchison in ue5-main branch]
2023-07-20 17:21:44 -04:00
robert millar
166dac7f56 [Backout] - CL26359042
[FYI] robert.millar
Original CL Desc
-----------------------------------------------------------------
Version of ProvideTelemetry taking a lambda to avoid calculating some statistics if they aren't necessary.

#rb none

[CL 26362037 by robert millar in ue5-main branch]
2023-07-01 00:23:21 -04:00
robert millar
05d889052f Version of ProvideTelemetry taking a lambda to avoid calculating some statistics if they aren't necessary.
#rb none

[CL 26359099 by robert millar in ue5-main branch]
2023-06-30 19:00:39 -04:00
robert millar
4facb7ef60 Add -telemetrytesting command line argument as an easier-to-remember version of analyticsdisablecaching
#rb wes.hunt

[CL 26275487 by robert millar in ue5-main branch]
2023-06-27 19:36:19 -04:00
robert millar
5805d87cef Router object to connect telemetry producers with consumer that can aggregate, filter, format and send telemetry to endpoints.
#rb logan.buchy

[CL 26248327 by robert millar in ue5-main branch]
2023-06-26 19:04:16 -04:00
henrik karlsson
5db685f97d [Engine]
* 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]
2023-06-17 18:13:06 -04:00
logan buchy
8cb8cff1ba Feedback changes to Collections telemetry
* Moved workflow tracking of collection manipulations up one level to target user interaction only
* Added create/destroy collection workflows
* Remove hand-holding utilities aimed to ease verbosity of telemetry event generation

#rb wes.hunt
#jira UE-155132
#preflight 6463b34f063e77985c259c71

[CL 25492328 by logan buchy in ue5-main branch]
2023-05-16 13:02:13 -04:00