Commit Graph

13 Commits

Author SHA1 Message Date
patrick laflamme
0364d01a96 #jira UE-92319 - Normal Editor shutdown can be reported as abnormal shutdown because of lock contention
- 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]
2020-04-22 10:39:52 -04:00
patrick laflamme
847fb54e89 Detected and reported if CrashReportClientEditor crashed itself and improved how Editor analytics summarize few stats:
- 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]
2020-04-14 16:52:27 -04:00
patrick laflamme
675cc37038 Prevented one CrashReportClientEditor from sending the report owned by another concurrent instance and losing the exit code.
#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]
2020-04-03 16:23:51 -04:00
Patrick Laflamme
e3298bf3f1 Fixed crash in EditorSessionSummaryWriter if the current session is not created.
- Added null check in case the session creation is delayed because the system wide lock could not be taken at init time.

Fixed the likely cause of unknown exit code reported by CrashReportClientEditor
  - Fixed EditorSessionSummarySenderto loop/wait until system wide lock could be acquired before returning if bForceSendCurrentSession is true.

#jira UE-91160 - Editor Analytics can crash if the session is created late
#rb Jamie.Dale

[CL 12446564 by Patrick Laflamme in 4.25 branch]
2020-03-26 08:27:29 -04:00
Patrick Laflamme
825c626cf9 Improved reliability of the Editor analytics.
- 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

[CL 12350899 by Patrick Laflamme in 4.25 branch]
2020-03-20 17:09:21 -04:00
Patrick Laflamme
c05f507c5e #jira UE-88250 - Crash Report Client doesn't emits EditorSummaryEvent with proper AppId/AppVersion/SessionId/UserId
- 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.

[CL 11512055 by Patrick Laflamme in 4.25 branch]
2020-02-18 15:12:36 -05:00
JeanMichel Dignard
70d074639f Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none
#rnx

[CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 13:26:18 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#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]
2019-12-26 15:32:37 -05:00
Chris Gagnon
346a4b05ea Copy up from Dev-Editor @10681378
#rb none

[CL 10837446 by Chris Gagnon in Dev-Tools-Staging branch]
2019-12-19 18:07:47 -05:00
sebastian nordgren
21b99f6f94 EditorSessionSummary's session duration is now calculated using FPlatformTime::Seconds instead of FDateTime::UtcNow() timestamps, which are not guaranteed by platforms to increase monotonically, leading to outliers with negative session durations.
#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]
2019-11-13 11:28:09 -05:00
sebastian nordgren
135f322950 Editor session summary now only writes the minimum amount of fields during a crash to cut down on memory usage.
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]
2019-10-31 05:49:24 -04:00
sebastian nordgren
b35c34e1b5 Re-added the low drive space analytics field now that the SessionSummary analytics changes have been brought back into Dev-Editor.
Edigrated changes to analytics from Dev-Core, most notably FEditorSessionSummarySender::FindCurrentSession.

#rb paul.chipchase

[CL 9730821 by sebastian nordgren in Dev-Editor branch]
2019-10-21 06:13:29 -04:00
Stefan Boberg
1f813eb516 Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb many

[CL 9405827 by Stefan Boberg in Main branch]
2019-10-03 16:26:48 -04:00