As part of this change we also promote dynamic resolution and IO/PackageQueueDepth stats to Minimal since they're important for high level performance reporting.
Also fix up a few places that were redundantly using #if CSV_PROFILER around CSV macros.
#rb mickael.gilabert
[CL 34386798 by ben woodhouse in ue5-main branch]
* Added bUnchecked template parameter to FCountersTrace::TCounter class. When enabled, the values are traced even if it does not change.
* Added UNCHECKED_* variants for all counter macros.
* Added macros for inline atomic counters (TRACE_ATOMIC_INT_VALUE, TRACE_ATOMIC_MEMORY_VALUE).
* Added TRACE_DECLARE_COUNTER(CounterType, CounterName, CounterDisplayName, CounterDisplayHint) API.
* Added support for atomic float counters (FCounterAtomicFloat, TRACE_ATOMIC_FLOAT_VALUE, TRACE_DECLARE_ATOMIC_FLOAT_COUNTER, etc.).
#jira UE-216225
#rb Catalin.Dragoiu
[FYI] Johan.Berg
[CL 34118035 by ionut matasaru in ue5-main branch]
In some cases it could be useful to trace detailed allocations without callstack, and solely rely on tags for analysis. Enable by starting the process with `-trace=memory_light`.
#rb ionut.matasaru, dmytro.ivanov
[CL 33652379 by johan berg in ue5-main branch]
- Fix TSAN warning and provide a bit of context of why that race is perfectly fine.
#rnx
#jira UE-214255
#rb kevin.macaulayvacher
[CL 33571983 by danny couture in ue5-main branch]
- CheckVerifyFailedImpl2: flushing the output device uses atomics
- DumpStackTraceToLog: flushing the output device uses atomics
- BasicFatalLog: invokes several debug utilities to print diagnostics and shut down the process
- BasicLog: uses atomics when GConvertBasicLogToLogRecord is true
- IsEnsureAllowed: generic platform init stuff
- GetNamePool: static object initialization
- GetCurrentThreadCallstack: internally takes locks
- CsvProfiler: push/pop-style profiler
- MakeUniqueObjectName: use of atomics
#rb Brandon.Schaefer
[CL 33514601 by michael nicolella in ue5-main branch]
Adds a control layer for Trace (TraceService) and a controller (TraceController) integrated into SessionServices. This allows remote control of trace over messge bus.
#rb Catalin.Dragoiu, ionut.matasaru, Josie.Yang
[CL 33260646 by johan berg in ue5-main branch]
* Removed macro dependency from Core to CoreUObject in ScopedTimers.h. Added a dedicated macro instead to combine args
[CL 32498058 by henrik karlsson in ue5-main branch]
- Removed function FChannel::EnumerateChannels deprecated since UE 5.2.
- Fixed / updated comments for UE::Trace::FChannel class.
- TraceAux: Made the warning message emitted when disabling a read only channel to be an error. Also update the error messages for enabling/disabling read only channels.
- TraceAux: Fixed comments in TraceAuxiliary API.
- TraceAux: Removed unused private function in TraceAuxiliary.
- TraceAux: Minor refactoring / code cleanup.
#rb Johan.Berg
[CL 32248380 by ionut matasaru in ue5-main branch]
#rb evgenii.babinets
[FYI] ben.woodhouse
#tests Win64 test client csv start/stop with stat namedevents/stop with stat namedevents
[CL 31494710 by jordan cristiano in ue5-main branch]
[FYI] dmytro.vovk
Original CL Desc
-----------------------------------------------------------------
Fixed default initialization of TLS slots to 0 and invalidity check against 0 as 0 is a valid TLS slot index
#rb Francis.Hurteau, Matt.Peters
[CL 31088717 by sean boocock in ue5-main branch]