Commit Graph

332 Commits

Author SHA1 Message Date
matt harris
34bd8e7933 Adding Const to GetCsvID function
#rb ben.woodhouse, tyler.staples
[FYI] richard.smith
#rnx
#tests Built and tested against Win64 Dedicated Server

[CL 36758211 by matt harris in 5.5 branch]
2024-10-01 19:37:03 -04:00
catalin dragoiu
8af4939360 Add more descriptive tooltips to the channels and to the Screenshot,Bookmark and Region menu entries in the Insights Status Bar Widget.
#rb ionut.matasaru
#jira UE-174374

[CL 36439763 by catalin dragoiu in 5.5 branch]
2024-09-19 13:07:01 -04:00
matt harris
90b6e92bf3 GameFeedback adding CustomFields for analytics
Additionally added 'GetCSVID' to the CSVProfiler so we can access the unique GUID for a CSV instance.

#rb andrew.ladenberger, carles.fernandez, Wes.Hunt
[FYI] richard.smith
#tests Tested against Win64 Server Cooked
#rnx

[CL 36429175 by matt harris in 5.5 branch]
2024-09-19 09:35:07 -04:00
tyler staples
b898524aa3 CsvProfiler - Report explicit event wait names as trace scopes.
#rb ben.woodhouse
#tests Replayrun

[CL 36407635 by tyler staples in 5.5 branch]
2024-09-18 16:06:47 -04:00
ionut matasaru
96a680bbb5 [Insights]
- Changed the log message at end of analysis that displayes number of warnings to be a warning (instead of an error).
  - Replaced usage of uint64_t with uint64.

#jira UE-223953
#rb Sebastian.Thomeczek
#rnx

[CL 36329861 by ionut matasaru in 5.5 branch]
2024-09-17 06:14:40 -04:00
Ryan Hummer
4af2fd066d Updating Dev-Release-5.5 from Main at CL #36144969
#okforversepublic

[CL 36146571 by Ryan Hummer in Dev-5.5 branch]
2024-09-10 10:26:02 -04:00
ionut matasaru
d8203d42b4 [Insights][CpuProfilerTrace]
- Added FCpuProfilerTrace::OutputEventType(Name, File, Line), with Name as an FName.
  - Added FCpuProfilerTrace::OutputDynamicEventType(Name, File, Line) with Name as ANSICHAR*, TCHAR* or FName.
  - Added FCpuProfilerTrace::OutputDynamicEventTypeWithId(Id, Name, File, Line) with Name as ANSICHAR* or TCHAR*.
  - Added FCpuProfilerTrace::OutputBeginDynamicEventWithId(Id, const ANSICHAR* Name, File, Line), in addition to existing function that receives Name as TCHAR*.
  - Added TRACE_CPUPROFILER_EVENT_MANUAL_END() macro to match TRACE_CPUPROFILER_EVENT_MANUAL_START macro.

#rb Catalin.Dragoiu, Johan.Berg

[CL 35449960 by ionut matasaru in ue5-main branch]
2024-08-12 08:12:38 -04:00
catalin dragoiu
2e8edb2f74 Add trace status information to the Trace Control Window.
Fix trace stats bandwidth calculations by using runtime timestamps.
Get Engine presets from the runtime via Message Bus in Trace Control Window.
Fix crash when UE_TRACE_ENABLED is off.

#rb ionut.matasaru
#jira UE-215072

[CL 35401088 by catalin dragoiu in ue5-main branch]
2024-08-08 13:29:31 -04:00
sebastian thomeczek
d09c1bc308 [Insights] Extend Timing Regions API to allow closing regions by ID....
#rb ionut.matasaru

[CL 35249037 by sebastian thomeczek in ue5-main branch]
2024-08-01 12:50:46 -04:00
daniele pieroni
dfe3a95947 Input latency stat computation enabled for DX11/DX12 using IDXGISwapChain::GetFrameStatistics and correlate the input reading timestamp to when the frame is handed to the display
Note:
- not enabled in shipping, currently only used to compute the Input latency debug stat as in other RHIs
- computed stats are currently different from Nvidia Reflex PC latency timing reports
- needs extra work to support g-sync/free sync monitors

#rb ionut.matasaru, Luke.Thatcher
#jira none

[CL 35053471 by daniele pieroni in ue5-main branch]
2024-07-24 10:08:59 -04:00
matt breindel
68fdd1a353 Adding _CONDITIONAL variants to TRACE_CPUPROFILER and UE_TRACE macros.
[REVIEW] [at]danny.couture [at]jonathan.bard [at]francis.hurteau
#rb ionut.matasaru, Johan.Berg, jonathan.bard

[CL 34719292 by matt breindel in ue5-main branch]
2024-06-27 15:16:42 -04:00
ben woodhouse
a3ce2a49de Refactor CsvProfiler begin/end capture - move capture start/end logic into dedicated functions to make the logic easier to maintain
- Add metadata for capture duration
#rb john.huelin

[CL 34484069 by ben woodhouse in ue5-main branch]
2024-06-18 18:47:02 -04:00
ben woodhouse
2ea61ce0c6 Switch to CSV_PROFILER_STATS instead of CSV_PROFILER for various profiling subsystems. This allows them to be compiled out when CSV_PROFILER_MINIMAL is defined.
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]
2024-06-14 18:16:47 -04:00
ben woodhouse
39d5c72b3f CsvProfiler: add float and int overloads for RecordCustomStatMinimal
[CL 34378844 by ben woodhouse in ue5-main branch]
2024-06-14 14:25:40 -04:00
ben woodhouse
5280549418 Add CSV_PROFILER_MINIMAL define for removing almost all instrumentation overhead. Only a handful of essential stats are captured; the rest are stripped out at compile time. In this mode, the only function which emits stats to the CSV is RecordCustomStatMinimal (with corresponding macros CSV_CUSTOM_STAT_MINIMAL and CSV_CUSTOM_STAT_MINIMAL_GLOBAL).
#rb mickael.gilabert
#tests Tested locally with and without the new cvar

[CL 34374708 by ben woodhouse in ue5-main branch]
2024-06-14 12:30:08 -04:00
ionut matasaru
3d6c8cad4b [Insights] Extended the trace counter API (COUNTERSTRACE_ENABLED):
* 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]
2024-06-05 03:46:42 -04:00
catalin dragoiu
9f2576ec27 Fix Settings system for the Trace Control Window.
#rb ionut.matasaru, Johan.Berg
#jira UE-215072

[CL 34030625 by catalin dragoiu in ue5-main branch]
2024-05-31 08:44:06 -04:00
johan berg
a2ef004c0f Allow use of TAG_TRACE when trace is disabled.
#rb johan.berg

[CL 34009798 by johan berg in ue5-main branch]
2024-05-30 15:08:49 -04:00
robert millar
df1e10047d Add new AUTORTFM macros which can be followed by braced blocks to make them work better with the debugger
e.g. UE_AUTORTFM_OPEN2{ ... code ... };

#rb neil.henning

[CL 33869184 by robert millar in ue5-main branch]
2024-05-23 14:22:32 -04:00
johan berg
0e7e066e2c Preset for "light" memory tracing
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]
2024-05-15 03:43:13 -04:00
danny couture
f9d08a61d1 [CpuProfiler]
- 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]
2024-05-10 07:03:43 -04:00
michael nicolella
a7590be428 autortfm: proactive crash fixes guided by static analysis
- 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]
2024-05-08 11:23:59 -04:00
johan berg
8ee9d15fbe Trace message bus controls
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]
2024-04-26 07:31:51 -04:00
ionut matasaru
170d71ccd5 [Insights] Added compile time validation for the format string passed to TRACE_BOOKMARK.
#jira UE-212691
#rb Catalin.Dragoiu

[CL 33098566 by ionut matasaru in ue5-main branch]
2024-04-19 06:02:45 -04:00
josh adams
eca6d6b781 - Benign engine changes that came from new platform experimentation
#rb Chris.Babcock

[CL 33037334 by josh adams in ue5-main branch]
2024-04-17 11:17:07 -04:00