This adds some scalar statistics to the session summary:
* The total stall trigger count
* The total reported stalls
* The top stall name
* The top stall budget time in seconds
* The top stall cumulative overage time in seconds
* The top stall trigger count
#jira none
#rb patrick.laflamme, francis.hurteau
#preflight /job/6019a5ef797f69000126f9b6
[CL 15284567 by geoff evans in ue5-main branch]
- Count number of crashes before Analytics get initialized and report them as DelayedCrashCount field of the Editor summary session event.
#rb Jamie.Dale
[CL 15128718 by Patrick Laflamme in ue5-main branch]
- In case of contention on the system session lock, fallback on the lockless mechanism (the one use for crash/terminate) to report the shutdown (we may not save everything, but we will save the most important information)
#rb none
#lockdown cristina.riverun
#ROBOMERGE-SOURCE: CL 12974643 in //UE4/Release-4.25/... via CL 12974652 via CL 12974654
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12974660 by patrick laflamme in Main branch]
- Computed a more accurate 'idle' base on user inputs.
- Experimenting a measurement of Editor 'idle' time based on Editor process CPU usage.
- Recorded entering/exiting PIE right away rather than waiting the next 'heartbeat' up to 60 seconds.
- In case the the session creation is delayed (because contention on the session lock), don't wait up to 60 seconds to retry. Retry immediatedly at the next tick.
- Increased update rate of the session in the first minute to each second rather than each minute because lot of crashes occurs before the first minute.
#jira UE-91890 - Detect and report if CrashReportClientEditor is crashing
#rb Jamie.Dale
#lockdown cristina.riverun
#ROBOMERGE-SOURCE: CL 12751397 in //UE4/Release-4.25/... via CL 12751399 via CL 12783803
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12786319 by patrick laflamme in Main branch]
#jira none
#rb trivial
#lockdown cristina.riverun
#ROBOMERGE-SOURCE: CL 12695208 in //UE4/Release-4.25/... via CL 12695223 via CL 12695256
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v676-12543919)
[CL 12695269 by patrick laflamme in Main branch]
#jira UE-91493 - CrashReportClientEditor may send a report owned by another concurrent instance losing the exit code in the process
#rb Jamie.Dale
#ROBOMERGE-SOURCE: CL 12598059 in //UE4/Release-4.25/... via CL 12598060 via CL 12598062
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12598063 by patrick laflamme in Main branch]
#jira none
#rb none
#ROBOMERGE-SOURCE: CL 12351517 in //UE4/Release-4.25/... via CL 12351541
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v671-12333473)
[CL 12351584 by patrick laflamme in Main branch]
- Modified the Editor session to support lockless logging and corresponding analysis for concurrent events.
- Added null check EditorSessionSummaryWriter::LowDriveSpaceDetected() to prevent accessing a null session.
- Fixed CrashReportClient that could use the analytic provider outside of init/shutdow
- Fixed IdleTime reported that could be buggy if Slate did not register any interaction before a crash occurs.
#jira UE-90719 - FPlatformMisc::RequestExit() can corrupt the EditorSessionSummaryWriter
#rb Jamie.Dale
#ROBOMERGE-SOURCE: CL 12350899 in //UE4/Release-4.25/... via CL 12350910
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v671-12333473)
[CL 12350942 by patrick laflamme in Main branch]
- Used the correct analytic key to read the stored value before sending.
#rb Wes.Hunt
#ROBOMERGE-SOURCE: CL 12149938 in //UE4/Release-4.25/... via CL 12149943
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v659-12123632)
[CL 12149960 by patrick laflamme in Main branch]
- Added AppId, AppVersion and UserId as FEditorAnalyticSession members and updated FEditorSessionSummaryWriter to write them.
- Changed FEngineAnalytics::GetProvider() to return IAnalyticsProviderET rather than IAnalyticsProvider.
- Updated FEditorSessionSummarySender to embed the AppId/AppVersion/UserId as attribute when sending the summary event and also configured the AnalyticsProvider to use the SessionID/AppID/AppVersion/UserID of the event rather than the current one.
- Added a function to return the current IAnalyticProviderET configuration.
#rb Wes.Hunt
Edigrated 11445334 and 11459406.
#ROBOMERGE-SOURCE: CL 11512055 in //UE4/Release-4.25/...
#ROBOMERGE-BOT: RELEASE (Release-4.25 -> Release-4.25Plus) (v654-11333218)
[CL 11512070 by patrick laflamme in 4.25-Plus branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870584 by ryan durand in Main branch]
#jira UE-84232
#rb chris.gagnon, jamie.dale
#ROBOMERGE-SOURCE: CL 10126191 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v587-10111126)
[CL 10126225 by sebastian nordgren in Main branch]
Additionally, we now only save platform information (eg. hardware, OS versions) once per session.
#jira UE-82403
#rb brandon.schaefer
#ROBOMERGE-SOURCE: CL 9899380 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v558-9892490)
[CL 9899419 by sebastian nordgren in Main branch]