Commit Graph

148 Commits

Author SHA1 Message Date
michael atchison
6e3e668f8b Update analytics user id and crash reporting user id when the epic account id for the running process changes.
[REVIEW] [at]patrick.laflamme, [at]wes.hunt, [at]eric.day
#preflight 63f065463c1eb56f0516c03e

[CL 24355926 by michael atchison in ue5-main branch]
2023-02-22 00:22:48 -05:00
yohann dossantos
59b5769eca -Text font size changes in Text Box (Multy-Line) widget applies only after moving the text widget
It was the initial bug, but while looking at it, I noticed that the MultilineEditableTextBox was containing both a Font via FEditableTextBoxStyle, and another one via FTextBlockStyle, thus being error prone / inconsistent.
In order to fix the underlying issue (in addition to fix the initial bug), I removed the Font from FEditableTextBoxStyle, and moved the FTextBlockStyle from MultilineEditableTextBox to FEditableTextBoxStyle.
It solves the duplication issue and so make it clear where the Font should be set/read from.
However, as the text block style is now embedded in the editable text box style, it cannot be initialized the exact same way, and I had to do some changes to ensure there was no regression, by configuring various FEditableTextBoxStyle in some style files. I also change the default value for TextBlockStyle to better match our default theme.

-Default font is not set for text widgets.
EditableWidget: ensure to have a default font, and to set the style when calling SynchronizeProperties to ensure it reacts directly without having to force a refresh (by moving the widget for instance)

Bonus:
-Move to cpp some private methods that where 'forced' inline (and we were using function pointer on them). It will avoid some noise in public interface and speed up iteration / compile time when playing with them.

#jira UE-96464
#jira UE-137126

[RN] MultilineEditableTextBox was containing both a Font via FEditableTextBoxStyle, and another one via FTextBlockStyle, thus being error prone / inconsistent.The Font from FEditableTextBoxStyle has been removed, and the FTextBlockStyle moved from MultilineEditableTextBox to FEditableTextBoxStyle. It solves the duplication issue and so make it clear where the Font should be set/read from.
However, as the FTextBlockStyle is now embedded in the FEditableTextBoxStyle, it cannot be initialized the exact same way, and you can now configure the FTextBlockStyle of FEditableTextBoxStyle when creating one from scratch, by calling SetTextStyle on it.


Test
- created a Widget blueprint with different editable types combination: multiline or single line, box or no box.
    -Validated that everything was reacting live as expected now.
    -Created a blue print to set the text style and validated it was working.
    -Create data with old version, then open it with updated version to validate that the visual was still the same and deprecation of style working as expected.
-checked different places in the editor using variation of editable text to ensure they were behaving as before (detail view, console command entry, comment on blueprint node).
#preflight 63344b9f110bb3721ef8aa77

[CL 22232366 by yohann dossantos in ue5-main branch]
2022-09-28 17:59:29 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
patrick laflamme
6f5ba2331d Added a command line option to CrashReportClient to disable the 'Submit and Restart' button in case the application doesn't want to be automaticaly restarted.
#rb Chris.Gagnon, Johan.Berg
#preflight 629f7017617cbe81d32add99

#ushell-cherrypick of 20541559 by Patrick.Laflamme
#preflight 629fbb4b521254896f6c2c43

#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 20546605 via CL 20546619 via CL 20546630 via CL 20546644 via CL 20546648
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20552343 by patrick laflamme in ue5-main branch]
2022-06-08 02:02:29 -04:00
lauren barnes
53488dc718 Updating CrashReportClient style to only use images from certain folders, and moving developer tool style setup to individual style classes.
#jira UE-152623
#rb Josh.Adams, Patrick.Boutot, Patrick.Laflamme, Louise.Rasmussen
#preflight 628d6c5faf7a2e956b8de990

#ROBOMERGE-OWNER: lauren.barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20366551 via CL 20368551 via CL 20369147 via CL 20369164
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20370889 by lauren barnes in ue5-main branch]
2022-05-25 16:27:45 -04:00
Devin Doucette
3045e3c75f Logging: Changed CanBeUsedOnPanicThread() to return false by default
The previous default of CanBeUsedOnAnyThread() proved unsafe since some output devices can safely be used on any thread but cannot safely be used during a crash. CanBeUsedOnAnyThread() was used pre-5.1 to control serialization to an output device during a crash, but optimizations in 5.1 have uncovered that some of these were never safe.

#preflight 62856506614041edb7a6de4b
#rb Zousar.Shaker
#rnx

[CL 20280354 by Devin Doucette in ue5-main branch]
2022-05-19 10:39:18 -04:00
geoff evans
1981b2f5f3 StallDetector support for Linux
### Features

This change enables the StallDetector watchdog in Editor to submit reports to crashreporter about threads violating instrumented deadlines in the source code. This feature was available prior on Windows, and this change adds Linux support.

### Notes

New APIs:
ReportStall()
CaptureThreadPortableCallStack()

Many APIs are updated from purely "Ensure" naming to more general naming. Stalls are more like Ensures than crashes, and so the appropriate renames to make the code readable and clear have been made. In some places Ensure is replaced with the clearer: Continuable Event nomenclature.

### Testing

I synthesized an ensure on Linux, and did the same for a stall. I then compared crash report XML file to make sure they contain accurate data in the callstack, portable callstack, and other fields in the report. I also noted that the stall information was showing as expected in the crash reporter.

#rb brandon.schaefer, francis.hurteau
#jira UETOOL-3336
#preflight 625e20d2804460ab0fea3277

[CL 19911608 by geoff evans in ue5-main branch]
2022-04-25 19:19:04 -04:00
Devin Doucette
292008ea35 Logging: Replaced GLog->PanicFlush() with GLog->Panic()
Panic allows only one thread to become the panic thread. In panic mode, logs are only sent to panic-safe output devices. Each call to Panic flushes buffered logs to panic-safe output devices, and flushes panic-safe output devices.

#jira UE-147152
#preflight 62424814292f228e09d8a612
#rb Zousar.Shaker
#fyi Brandon.Schaefer

[CL 19545093 by Devin Doucette in ue5-main branch]
2022-03-29 13:31:48 -04:00
wes hunt
b14fc01621 Fix FGenericCrashContext::Initialize() to initialize the GameName to UE-ProjectName instead of UE5-GameName
#ROBOMERGE-AUTHOR: wes.hunt
#ROBOMERGE-SOURCE: CL 19472252 via CL 19472515 via CL 19472553 via CL 19488666 via CL 19488781
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)

[CL 19489780 by wes hunt in ue5-main branch]
2022-03-23 20:34:22 -04:00
Andriy Tylychko
2a295eb685 deprecated FTicker and family and replaced by thread-safe FTSTicker
#jira UE-120090
#rb francis.hurteau

[CL 17176325 by Andriy Tylychko in ue5-main branch]
2021-08-16 11:05:18 -04:00
Patrick Laflamme
ac8bb6f139 Fixed hang in crash reporter client when reporting bug in unattended mode.
- Ensured the new FTSTicker get ticked when running CRC in unattended mode.

#rb Jerome.Delattre
#fyi Dmytro.vovk

[CL 17157164 by Patrick Laflamme in ue5-main branch]
2021-08-12 15:33:43 -04:00
Patrick Laflamme
24bc1477ae Removed CrashReportClient analytic field 'MonitorQueryingPipe' that was temporary added to verify if CRC crashed while reading the pipe.
- The data show no evidence that CRC is crashing there. Capturing this state is I/O expensive and not required moving forward.

#jira UETOOL-4042 Inspect UE5/Main analytics for CRC crashes
#rb Jamie.Dale

[CL 17116844 by Patrick Laflamme in ue5-main branch]
2021-08-10 10:57:38 -04:00
aurel cordonnier
d17d20ca36 Merge from Release-Engine-Test @ 16758890 to UE5/Main
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719 (and Release-17.00 @ 16658211)

[CL 16763350 by aurel cordonnier in ue5-main branch]
2021-06-23 17:51:32 -04:00
Patrick Laflamme
8064fa38b0 Added temporary diagnostic code to CrashReportClient in hopt to narrow down why it suspiciouly die often.
#rb Jamie.Dale

[CL 16640468 by Patrick Laflamme in ue5-main branch]
2021-06-11 08:51:14 -04:00
aurel cordonnier
e0ad4e25df Merge from Release-Engine-Test @ 16624776 to UE5/Main
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16625248 by aurel cordonnier in ue5-main branch]
2021-06-10 13:13:24 -04:00
David Harvey
f0ba6ecb4f adding the option to hide the 'submit and restart' crash reporter option for platforms that do not support it.
#jira UE-93432
#rnx
#rb Patrick.Laflamme

[CL 16622682 by David Harvey in ue5-main branch]
2021-06-10 09:59:32 -04:00
Patrick Laflamme
eba22612ed Updated the crash report analytic session summary version number from 4 to 5.
#rb trivial

[CL 16592549 by Patrick Laflamme in ue5-main branch]
2021-06-08 16:11:15 -04:00
Patrick Laflamme
571c8ffe14 Added analytics to report more granular metrics about CRC performance when handling crash/ensure/stall.
#rb Jamie.Dale

[CL 16570467 by Patrick Laflamme in ue5-main branch]
2021-06-07 10:37:55 -04:00
Patrick Laflamme
aa76047110 Stripped the callstack from the ensure error message when logging the ensure message in the analytics diagnostic log.
- This information is not required for analytic purpose.

#rb Jamie.Dale

[CL 16533474 by Patrick Laflamme in ue5-main branch]
2021-06-02 09:16:50 -04:00
Patrick Laflamme
ef94e39d6c UETOOL-3650 - Delete expired UECrashContext-pid.xml that could be left over by crashed/killed CRC
- Added code to run a clean up on UECrashContext-{pid}.xml files that 30 days old where the process ID (pid in the name) is not running anymore.

#rb Jamie.Dale

[CL 16522984 by Patrick Laflamme in ue5-main branch]
2021-06-01 16:55:30 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
Patrick Laflamme
9925c861ae Prevent the engine from providing all threads to CRC on stall and ensure. Only transmit the responsible thread, so that CRC doesn't need to walk all threads before resuming the engine.
- Analytics shows that CRC may takes up to 400 seconds to walk all the threads and create a minidump before responding back to the engine on the pipe to resume the crashing thread.

#rb Johan.Berg
#fyi Geoff.Evans

[CL 16483781 by Patrick Laflamme in ue5-main branch]
2021-05-27 10:10:12 -04:00
danny couture
c5710a3eba Fix non-unity build
#rb trivial
#rnx

[CL 16469067 by danny couture in ue5-main branch]
2021-05-26 10:18:35 -04:00
Patrick Laflamme
9f3f8f25e8 Removed duplicated module dependency on Analytics from CrashReportCLientEditor build script.
Added missing include in AnalyticsPropertyStore.cpp
Added ENGINE_API to expose EngineAnlytixSessionSummary publicly.
Added the longuest unattended crash report processing measured during a session to CRC summary to track how fast or how slow CRC is to manage ensures/stalls.

#rb Jamie.Dale

[CL 16404437 by Patrick Laflamme in ue5-main branch]
2021-05-20 11:39:14 -04:00
Patrick Laflamme
cb3aaf9000 Fixed analytics summary system losing type information.
- Instead of converting summary properties to string duing session aggregation, put properties in FAnalyticsEventAttribute instances to preserve the type information.
Added MonitorEngineVersion, MonitorReportCount, MonitorEnsureCount, MonitorAssertCount to CRC analytics summary.
Added MissingDataFrom to the analytics summary when the property file from a collaboration process failed to load.
Fixed the analytics summary manager to aggreage and produce a report even if the helper process data couldn't be loaded.

#rb Jamie.Dale

[CL 16382795 by Patrick Laflamme in ue5-main branch]
2021-05-19 06:22:37 -04:00