Commit Graph

51 Commits

Author SHA1 Message Date
Martin Ridgers
823c1858bd Don't trace log messages unless the Log trace channel is enabled. This was incorrectly marking specs as sent even though they weren't causing some log trace events to arrive analysis side without a format string (aka spec).
#rb jb
#rnx
#jira UE-109242

[CL 16755895 by Martin Ridgers in ue5-main branch]
2021-06-23 08:49:05 -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
Jamie Dale
4afb7ce6bb Made EName an enum class to prevent implicit conversion to int
The following code would call the int overload rather than the name overload when passed an EName constant, which could easily lead to confusion and bugs:
    using FMyId = uint8;
    void DoThing(FName);
    void DoThing(FMyId);
    DoThing(NAME_Actor);

The change to use enum class requires that any code that actually deals with EName as an int (mostly internal name code and serialisation) be updated to explicitly cast, but prevents the implicit conversion that causes the issue above.

In order to preserve the NAME_X aliases that the old-style enum added to the global scope, new aliases have been added that point to the EName scoped versions. Unfortunately these can cause shadowing warnings if NAME_X is defined in the local scope, as the old-style enum used to allow that without shadowing, however there is no way to prevent this so we'll just need to fix any warnings that occur.

#rb Johan.Torp
#preflight 6087e06349a9840001414708

[CL 16126708 by Jamie Dale in ue5-main branch]
2021-04-27 10:11:18 -04:00
Martin Ridgers
b8ed8ba3d4 When capturing and reporting callstacks, use the return address of a failure instead of a count of stack frames to trim. The count approach was spread about in many places and fragile to maintain as code changed. This resulted in "noisy" callstacks with distracting boilerplate present like assert dispatch functions.
#rb brandon.schaefer,will.damon,johan.berg
#rnx

#ushell-cherrypick of 15568119 by Martin.Ridgers

[CL 15568152 by Martin Ridgers in ue5-main branch]
2021-03-02 07:48:13 -04:00
Yuriy ODonnell
7bd6551ad1 Moved MsgLogfStaticBufferGuard into a static function to make sure it is not sensitive to static initialization order.
#rb Stefan.Boberg

[CL 15320768 by Yuriy ODonnell in ue5-main branch]
2021-02-04 14:45:30 -04:00
Martin Ridgers
413b4c0b69 Marked Logging.LogMessage as unsynchronised. These trace events already have an embedded timestamp field.
#rb none
#rnx

[CL 14971404 by Martin Ridgers in ue5-main branch]
2021-01-03 12:18:21 -04:00
Martin Ridgers
321b2eb3c6 Include the instruction address where a failure (i.e. UE_LOG(fatal) or check) occurred in the FDebug::FFailureInfo.
#rb steve.robb
#rnx

[CL 14925842 by Martin Ridgers in ue5-main branch]
2020-12-15 06:58:36 -04:00
Martin Ridgers
3159b12b4c Wrapped location and expression information about checks, ensures, and fatal errors in a struct.
#rb steve.robb
#rnx

[CL 14896774 by Martin Ridgers in ue5-main branch]
2020-12-10 04:30:16 -04:00
Martin Ridgers
be972be826 Moved the Trace namespace into the UE namespace.
#rb jb
#rnx

[CL 14762673 by Martin Ridgers in ue5-main branch]
2020-11-17 06:54:28 -04:00
Martin Ridgers
889b2d647c Implementation of Trace's important events. Some events are only traced once. CPU scope names or log format strings for example. Those trace-once events get lost if a user then connects to trace late (or reconnects a second time). To combat that important events are traced to a separate stream internally so that they can be identified, cached off to one side, and resent when a connection is first established.
#rb johan.berg
#rnx

[CL 14572080 by Martin Ridgers in ue5-main branch]
2020-10-26 03:29:23 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
david harvey
38dd324fdd use PLATFORM_SUPPORTS_COLORIZED_OUTPUT_DEVICE for picking log colour. Related to CL 13111174
#rb eric.mcdaniel
#jira MTHRL-101

#ROBOMERGE-SOURCE: CL 13181957 in //UE4/Release-4.25Plus/... via CL 13181958
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13181970 by david harvey in Main branch]
2020-05-05 13:07:24 -04:00
louisphilippe seguin
8354ebdf47 Added csv exclusive stat to Logf_Internal to help measure perf issues due to costly logs
#rb Ben.Woodhouse


#ROBOMERGE-SOURCE: CL 11742994 via CL 11743005
#ROBOMERGE-BOT: (v656-11643781)

[CL 11866936 by louisphilippe seguin in Main branch]
2020-03-03 10:26:09 -05:00
Stefan Boberg
55a8b15f1f Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb none

[CL 11258477 by Stefan Boberg in Main branch]
2020-02-05 14:26:36 -05:00
michael noland
67320d9750 Core: Additional conversion and narrowing warning fixes for Clang
#rb marc.audy
[FYI] Steve.Robb
#jira UE-87131


#ROBOMERGE-SOURCE: CL 11140226 via CL 11140233 via CL 11140235
#ROBOMERGE-BOT: (v640-11091645)

[CL 11140236 by michael noland in Main branch]
2020-01-28 19:31:47 -05:00
Johan Berg
672f245053 Users of TraceLog now use channels
Systems that use TraceLog now uses channels to control if events are emitted. Also introduce a new command line argument "-trace" which allows users to specify a comma separated list of channel names to enable.

#rb martin.ridgers, ionut.matasaru

[CL 10950761 by Johan Berg in Dev-Core branch]
2020-01-13 07:16:21 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00
marc audy
dbcf07a558 Use new inline versions of substring functions
Fix up nearby cases where ESearchCase::CaseSensitive should have been used
#jira
#rnx
#rb

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10309793 via CL 10309818
#ROBOMERGE-BOT: (v593-10286020)

[CL 10309932 by marc audy in Main branch]
2019-11-19 13:27:07 -05:00
Steve Robb
c2d2fef69c More ARRAY_COUNT fixes.
#rb none
#jira none

[CL 9280754 by Steve Robb in Main branch]
2019-09-28 08:53:23 -04:00
steve robb
14cab21e0c Deprecating ARRAY_COUNT and changing it to UE_ARRAY_COUNT.
Replicated from CL# 7924370.

#rb none


#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 9279060 via CL 9279063
#ROBOMERGE-BOT: (v443-9013191)

[CL 9279836 by steve robb in Main branch]
2019-09-28 08:19:35 -04:00
Josh Markiewicz
d79515867d Copying //UE4/Dev-Online to Dev-Main (//UE4/Dev-Main)
- Up to CL8320930 from DevOnline and 8311605 Merge Down from Main
- skipped some Fortnite content/plugins/code where it tried to reintegrate files that had been moved pending investigation
#rb none

[CL 8321295 by Josh Markiewicz in Main branch]
2019-08-26 18:35:22 -04:00
Stefan Boberg
8607ecb30d Copying //UE4/Dev-Core to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 6815521 by Stefan Boberg in Main branch]
2019-06-03 15:32:00 -04:00
hongyi yu
20c32dbaba Remove log timing in CSV and only do log counting
#rb none


#ROBOMERGE-SOURCE: CL 4744918 via CL 4744923

[CL 4744926 by hongyi yu in Main branch]
2019-01-17 14:04:01 -05:00
hongyi yu
69e9e977a4 Profile log timing in CSV profiler, so that log spamming can be caught by perf QA.
- More work might need to do later to catch log spamming in live, such as monitoring log count in analytics.

#rb David.Harvey


#ROBOMERGE-SOURCE: CL 4733411 via CL 4733417

[CL 4733421 by hongyi yu in Main branch]
2019-01-16 12:04:58 -05:00