Commit Graph

245 Commits

Author SHA1 Message Date
Martin Ridgers
08217aa48e Correct determination of the number of functions in a .pdata segment. There is no null-terminator to the list, instead there's null _padding_. If the end of the last RUNTIME_FUNCTION object happened to align to 2^8 then the old function-count loop would read undefined data. This also happens to be much faster which is a bonus.
#rb jb
#rnx
#fyi Brandon.Dawson
#robomerge Release-5.0-EarlyAccess

[CL 15873327 by Martin Ridgers in ue5-main branch]
2021-03-31 07:57:45 -04:00
Martin Ridgers
de68396269 Swapped TAtomic out for std::atomic
#rb jb
#rnx

[CL 15873008 by Martin Ridgers in ue5-main branch]
2021-03-31 06:59:35 -04:00
Martin Ridgers
153b8dab40 Reduced scope of "using namespace" so it doesn't leak into other unity files.
#rb jb
#rnx

[CL 15872749 by Martin Ridgers in ue5-main branch]
2021-03-31 06:07:23 -04:00
Martin Ridgers
4354c3a16f Deleted unused include
#rb jb
#rnx

[CL 15872744 by Martin Ridgers in ue5-main branch]
2021-03-31 06:05:53 -04:00
danny couture
4c06b04453 Fix unity file compilation when concurrency viewer extension is installed
#rb trivial

[CL 15861924 by danny couture in ue5-main branch]
2021-03-30 10:15:43 -04:00
danny couture
6446003110 Add Concurrency Viewer as an external profiler and compile only when extension is installed in VS
Avoid activating any external profiler by default as this could cause slowdown depending on which profiler gets randomly activated

#rb Martin.Ridgers

[CL 15861416 by danny couture in ue5-main branch]
2021-03-30 09:36:28 -04:00
johan berg
d5805f3bfd Enable Memory tracing for Memory channel preset
#rb martin.ridgers
#jira UE-107750

#ROBOMERGE-SOURCE: CL 15860067 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15860081 by johan berg in ue5-main branch]
2021-03-30 08:46:26 -04:00
Martin Ridgers
29e2b130eb Removed "overview" memory tracing. It is disabled and interleaves needless noise in the full-fat memory tracing.
#rb johan.berg

[CL 15859758 by Martin Ridgers in ue5-main branch]
2021-03-30 07:36:53 -04:00
Johan Berg
2e44cf5d57 [TraceLog] Trace module image id
In order to check for matching debug files we need to trace the module id (on Windows this means Guid and age).

#rb martin.ridgers

[CL 15839543 by Johan Berg in ue5-main branch]
2021-03-26 06:55:42 -04:00
johan berg
7eed4b9b0e [TraceLog] Fix channel presets early initialization
In a previous change TraceAux::Initialize was moved to a point very early in process lifetime. At this point the config system is not ready, so resolving data driven channel presets does not work. To solve this we make two changes, define two presets in code (default and memory) which require very early application, and add a second pass of channel initialization which is executed directly after config system is up.

#rb martin.ridgers

#ROBOMERGE-OWNER: johan.berg
#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 15822904 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v785-15821902)
#ROBOMERGE-CONFLICT from-shelf

[CL 15829754 by johan berg in ue5-main branch]
2021-03-25 15:39:34 -04:00
ionut matasaru
edeea37a06 [Insights] Fixed size of the name buffer for Diagnostics.ModuleLoad trace event and string lengths for Diagnostics.Session2 trace event.
#rb Martin.Ridgers
#fyi Johan.Berg

[CL 15758504 by ionut matasaru in ue5-main branch]
2021-03-22 08:29:11 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
Martin Ridgers
20ca30d170 Updated FVSPerfExternalProfiler to be aware of VS 2017 and 2019, depending on the compiler version used.
#rb steve.robb
#rnx

[CL 15718524 by Martin Ridgers in ue5-main branch]
2021-03-17 03:55:54 -04:00
Yuriy ODonnell
2ed7db74e4 Enable UnrealInsights GPU channel by default
#rb none
#fyi Martin.Ridgers

[CL 15690611 by Yuriy ODonnell in ue5-main branch]
2021-03-13 08:26:15 -04:00
Andriy Tylychko
31c369c3bf Two related parts:
1) TlsAutoCleanup: in the previous version `FTlsAutoCleanup` used `FRunnableThread` to store registered instances and to delete them on `FRunnableThread` destruction. This means that all threads that are not created by `FRunnableThread` (the game thread in particular, and all 3rd-party threads) never delete registered `FTlsAutoCleanup` instances. This change moves the storage from `FRunnableThread` to TLS to cover all threads

Thsi change can break systems that implemented a workaround for this problem, e.g. by manually deleting registered `FTlsAutoCleanup` instances on the game thread exit, as now this instances will be deleted twice. The solution is to remove the workaround and to rely on uniform `FTlsAutoCleanup` behaviour on all threads.

#rb steve.robb

2) removed CpuProfilerTrace workaround to handle the fact that FTlsAutoCleanup leaks on the game thread, as this is fixed by (1).

#rb martin.ridgers

Need to submit both parts together as they need each other

#robomerge Release-5.0-EarlyAccess

[CL 15624597 by Andriy Tylychko in ue5-main branch]
2021-03-05 11:29:40 -04:00
Johan Berg
cdc73cbb05 [TraceLog] Use 64-bit cycle fields
Back out of previous new base cycle event change and use the absolute 64-bit cycle value instead. The previous solution did not support late connect scenarios. The memory cost is not significant based on the current marker frequency.

#rb martin.ridgers

[CL 15623871 by Johan Berg in ue5-main branch]
2021-03-05 10:06:56 -04:00
Catalin Dragoiu
bd4cde09c9 Change Frame events into a single event with absolute timestamps
#rb Ionut.Matasaru #jira UE-109217

[CL 15622895 by Catalin Dragoiu in ue5-main branch]
2021-03-05 06:02:02 -04:00
Johan Berg
d44f190990 [TraceLog] Fix wrapping memory markers.
#jira UE-107432
#rb martin.ridgers

[CL 15605523 by Johan Berg in ue5-main branch]
2021-03-04 10:00:38 -04:00
Matt Peters
5bcb2860bc #jira UE-109864
Fix compile error in UnrealMultiUserServer - LLM defines need to be wrapped in (), and tagtrace needs to check for ENABLE_LOW_LEVEL_MEM_TRACKER.
#rb Jimmy.Andrews
#rnx

[CL 15586298 by Matt Peters in ue5-main branch]
2021-03-03 15:22:22 -04:00
geoff evans
f8e05cdce4 Don't log non-reporting stalls
#ROBOMERGE-SOURCE: CL 15571654 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15571657 by geoff evans in ue5-main branch]
2021-03-02 14:23:40 -04:00
Matt Peters
215a61a8a5 LowLevelMemTracker: Fix missing declarations. Change FLLMTagDeclaration to allow multiple listeners.
#rb Danny.Couture
#rnx

[CL 15570787 by Matt Peters in ue5-main branch]
2021-03-02 13:15:45 -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
martin ridgers
97f7957704 Log that we're going to stop the trace before stopping the trace so that the stopping trace log is at the end of the trace.
#jira UE-109242
#rnx

#ROBOMERGE-SOURCE: CL 15526946 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15527028 by martin ridgers in ue5-main branch]
2021-02-25 05:41:08 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00
geoff evans
7017731f32 Only initialize stall detector for UnrealEditor.exe (remove it from cooks)
Add function to query if the static API is init and thread should be running
Tidy up some direct checks to the init count to use the new IsRunning function
Make init reference count signed and check for it going negative (mismatched startup/shutdown calls)
Disclaimer: init reference count isn't really used yet, but I'm hoping to propose using it more broadly in the future

#rb francis.hurteau
#jira none
#preflight /job/602c184cada6960001aa3e12

#ROBOMERGE-SOURCE: CL 15425482 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15426390 by geoff evans in ue5-main branch]
2021-02-16 20:04:22 -04:00