Commit Graph

156 Commits

Author SHA1 Message Date
jeanfrancois dube
a017fe4c5c Added support for specifying a log category in UE_SCOPED_TIMER.
#rb patrick.enfedaque
#preflight 60eddff1caf05900017dc03a


#ROBOMERGE-SOURCE: CL 16841730
#ROBOMERGE-BOT: (v836-16769935)

[CL 16841980 by jeanfrancois dube in ue5-main branch]
2021-07-13 16:11:18 -04:00
Martin Ridgers
8cdd5b3d5f Allow counters-trace's on/off define to be defined in a Target.cs.
#rnx

[CL 16772413 by Martin Ridgers in ue5-main branch]
2021-06-24 09:45:20 -04:00
Martin Ridgers
a7f9ee9069 - Removed explicit launching of the trace server in a couple of plugins. It was added temporarily to gather more information from CIS.
#rb jb
#rnx

[CL 16741421 by Martin Ridgers in ue5-main branch]
2021-06-22 07:28:43 -04:00
ionut matasaru
36b7e864ce Fix for CIS compile error (-DisableUnity).
#rb none

[CL 16674353 by ionut matasaru in ue5-main branch]
2021-06-15 11:46:01 -04:00
ionut matasaru
6bfb55b3bd [Insights]
- Fixed tracing of UObject names and function names (UObject::CallFunction, FScopeCycleCounterUObject) when "stat named events" toggle is enabled (-statnamedevents, "stat NamedEvents" console command).
  - Added FCpuProfilerTrace::OutputBeginDynamicEvent(const FName), in addition to existing API that receives const ANSICHAR*  or const TCHAR*. It uses a separate DynamicFNameScopeNamesMap.

#rb Johan.Berg
#fyi Jeff.Farris

[CL 16657504 by ionut matasaru in ue5-main branch]
2021-06-14 08:51:02 -04:00
Martin Ridgers
2ecf66a194 - Expose starting UnrealTraceServer to give dependents peace of mind. This is not normally required as the server should get launched when trace is initialised. However this initialisation happens so early that CIS tests/automation doesn't capture the TTY output making it difficult to investigate CIS-only issues. This is a strategic submit to push the TTY output later.
- Renamed StartUnrealTrace() to LaunchUnrealTrace() to be more indicative that it runs something.

#rb jb
#rnx

[CL 16638135 by Martin Ridgers in ue5-main branch]
2021-06-11 03:48:12 -04:00
robert millar
2d3f6490dd Back out CsvProfiler changes: Add SetAndHold command to csv profiler custom stats to allow infrequently updated statistics to have their value persisted.
[FYI] ben.woodhouse

#ROBOMERGE-SOURCE: CL 16554462 via CL 16554473 via CL 16554480 via CL 16554514 via CL 16554515
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v828-16531559)

[CL 16554522 by robert millar in ue5-main branch]
2021-06-03 18:20:03 -04:00
robert millar
01b244561b Add SetAndHold command to csv profiler custom stats to allow infrequently updated statistics to have their value persisted.
#ROBOMERGE-SOURCE: CL 16509803 via CL 16509813 via CL 16509817 via CL 16509820 via CL 16509821
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v826-16501804)

[CL 16509824 by robert millar in ue5-main branch]
2021-05-31 12:35:26 -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
Michael Noland
3902270d03 Fixed a type truncation warning in the stall detector (the warning was temporarily globally disabled in UE5 main, which got fixed today)
#codereview geoff.evans

[CL 16421755 by Michael Noland in ue5-main branch]
2021-05-21 14:17:07 -04:00
martins mozeiko
2208dade76 Add context switch and stack sampling trace collection on Windows using ETW
#rb Ionut.Matasaru

[CL 16357198 by martins mozeiko in ue5-main branch]
2021-05-17 15:28:50 -04:00
geoff evans
e1d1984bd4 Add support for trace counters to stall detector and trace summarize commandlet for telemetry in Iteration Profile
StallDetector:
* Replace static and per-callsite counter variables with trace classes
* Compose a trace api appropriate counter name (Stall Detector category)

SummarizeTraceCommandlet:
* Add support for extract and decode of counter messages from utrace files with a new analyzer class
* Report counters with name and count columns in the existing csv
* Support generation of counter events and values through to telemetry csv

#jira UETOOL-3506
#rb francis.hurteau
#preflight 609c5f45e88e9100010b5466

[CL 16314462 by geoff evans in ue5-main branch]
2021-05-13 12:37:02 -04:00
ionut matasaru
4690d6b6ca Fixed missing REOPEN macros when PLATFORMFILETRACE_ENABLED is 0.
#rb Catalin.Dragoiu

[CL 16310865 by ionut matasaru in ue5-main branch]
2021-05-13 04:40:24 -04:00
ionut matasaru
2d5c799e12 [Insights]
- Added new trace events to track the ReOpenFile API. Updated the PlatformFileTraceAnalysis to process the respective new trace events. This fixes the issue where activities were displayed in Unreal Insights as I/O events with "Unknown" file (UE-114506).
  - Updated warning messages and debug code in PlatformFileTraceAnalysis.
  - Added handle tracking in Insights for I/O Activity events. File handle and read/write handles are now displayed in tooltip of an I/O Activity event.
  - Added "ReOpen" as a separate I/O activity type.

#jira UE-114506
#rb Catalin.Dragoiu, Robert.Millar

[CL 16310259 by ionut matasaru in ue5-main branch]
2021-05-13 03:13:34 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Richard Malo
3930c3f107 Improved WorldPartition debugging tools:
- Added wp.Runtime.ToggleDrawRuntimeCellsDetails : Lists all world partition runtime streaming cells with their name and grouped by streaming state
- Added world partition debug filters (by datalayer(s), streaming status, grid name(s), cell name(s)) that affects debug display (runtime hash 2d/3d, cell details)
- Added Data Layer streaming status in 2d/3d runtime hash debug draw
- Added Legends with colors and minimal stats for DataLayers and Runtime Streaming Status
#rb jeanfrancois.dube, patrick.enfedaque

[CL 16157856 by Richard Malo in ue5-main branch]
2021-04-29 11:43:08 -04:00
ben woodhouse
47a30fd5de Mac/Linux build fix
#ROBOMERGE-OWNER: ben.woodhouse
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-COMMAND: _robomerge ue5-main
#ROBOMERGE-SOURCE: CL 16110729 via CL 16110730 via CL 16110731 via CL 16110732 via CL 16110733 via CL 16110734
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Main) (v789-15992632)

[CL 16117118 by ben woodhouse in ue5-main branch]
2021-04-26 14:43:02 -04:00
ben woodhouse
5f00ce5cd9 CsvProfiler metadata improvements
- Implement ability to unset metadata values by setting with nullptr
- Sanitize metadata to remove commas from values and keys (the commandline is excluded because it's special)
- Set a starttimestamp metadata value (in seconds since the Unix epoch).
- Add metadata for OS, CPU, Namedevents (at capture start)
- Log metadata changes
[FYI] james.doverspike,andrew.ladenberger

#ROBOMERGE-OWNER: ben.woodhouse
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-COMMAND: _robomerge ue5-main
#ROBOMERGE-SOURCE: CL 16110194 via CL 16110198 via CL 16110202 via CL 16110209 via CL 16110215 via CL 16110345
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Main) (v789-15992632)

[CL 16117042 by ben woodhouse in ue5-main branch]
2021-04-26 14:40:19 -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
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
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
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
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