Commit Graph

140 Commits

Author SHA1 Message Date
ionut matasaru
df6018342f Added CacheAllocated statistics for trace system (all memory allocated in cache buffers).
Fixed "Important Events cache" stats displayed by Trace.Status console command.

#rb Johan.Berg
#preflight 628f37cdc511f67c9f0905f6

[CL 20376989 by ionut matasaru in ue5-main branch]
2022-05-26 04:47:52 -04:00
David Harvey
9cc4146fbc move HoloLens runtime source to platform extension folder.
#jira UE-149794
#rnx
#rb Jeff.Fisher
#preflight 6284cd49614041edb76395dc

[CL 20258963 by David Harvey in ue5-main branch]
2022-05-18 06:59:59 -04:00
geoff evans
fe09fcac03 Trace: Fix bug where Snapshots don't contain event descriptions if no active connection exists
#rnx
#rb trivial
#preflight 627d67e613752319231354d5

#ROBOMERGE-AUTHOR: geoff.evans
#ROBOMERGE-SOURCE: CL 20172344 via CL 20172353 via CL 20172365
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20173296 by geoff evans in ue5-main branch]
2022-05-12 18:35:20 -04:00
geoff evans
0988a55b0a Trace Snapshot to File
### Features
We can now write tailing memory to a utrace file. Snapshotting while tracing to a file or socket is supported.
This change introduces a new console command: Trace.SnapshotFile. It writes the profiling data from memory into an optionally specified a utrace file.

### Testing
Run Editor with -tracefile
Run Editor with -trace, connect live with insights
Run Editor without -trace (this does generate a very small utrace since there is memory and data in the tail even though default channels are not enabled)

#rb johan.berg
#jira UE-150302,UE-150292
#preflight 6272a3213e1f2a9d3a88ee3d

#ROBOMERGE-OWNER: geoff.evans
#ROBOMERGE-AUTHOR: geoff.evans
#ROBOMERGE-SOURCE: CL 20124258 via CL 20125717 via CL 20126082
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20129506 by geoff evans in ue5-main branch]
2022-05-10 17:03:04 -04:00
Johan Berg
5d363d7245 [TraceLog] Add definition event types and reference fields.
Adds a new field type for trace events which contains a reference to a previously emitted event. In order to create a reference, the referenced event type needs to be declared with a new "definition" flag. The definition flag also defines type of id that is used for the reference, 8, 16, 32 and 64 bit values are supported.

#rb ionut.matasaru, martin.ridgers
#preflight 627393ea4e24dbee173d42c5

[CL 20055730 by Johan Berg in ue5-main branch]
2022-05-05 05:30:07 -04:00
catalin dragoiu
2c2682721c Fix Linux crash when connecting to an incorrect host address.
#jira UE-138183
#preflight 61d71ec4430de36baa4c776b
#rb Ionut.Matasaru

#ROBOMERGE-AUTHOR: catalin.dragoiu
#ROBOMERGE-SOURCE: CL 18558899 in //UE5/Release-5.0/... via CL 18558909
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18558926 by catalin dragoiu in ue5-release-engine-test branch]
2022-01-10 09:08:30 -05:00
johan berg
822346c9d1 [Insights] Trace console commands improvments.
* Added 'Trace.Enable' and 'Trace.Disable' console commands to control channels.
* 'Trace.Start' is marked as deprecated in favor of Trace.File.
* For 'Trace.File' both arguments are now optional, and heuristic for detecting a file argument implemented.
* 'Trace.Stop' no longer disables channels.
* 'Trace.Pause/Resume' now keeps a list of the current active channels which will be restored. Logic for enabling channels has been separated from EnableChannels which is used in initialization sequence.
* Changed FChannel toggling to directly write the state. This change was done to reduce confusion around enabling/disabling channels and preset that overlaps.
* Refactored some methods internal to FTraceAuxilliaryImpl

#jira UE-136002
#preflight 61d80f13430de36baa590e55

#ROBOMERGE-OWNER: johan.berg
#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18540924 in //UE5/Release-5.0/... via CL 18540956
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18540960 by johan berg in ue5-release-engine-test branch]
2022-01-07 05:19:00 -05:00
johan berg
a0801850e1 [Insights] Added Trace.status console command
Added console command to print status of trace to in game console. In order to list the available channels a enumeration method was added.

#rb martin.ridgers
#jira UE-136018
#preflight 61b32d0dc01c89f906dc3dbd

#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18429738 in //UE5/Release-5.0/... via CL 18429749
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18429751 by johan berg in ue5-release-engine-test branch]
2021-12-10 05:52:36 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
martin ridgers
9688da7bbd Can't append the tail as alloc/free can get called from any thread and the tail is assumed to only be used by the worker thread (or update call). Immediately appending to the tail also desynchronises the contiguous assumption of serials within a single thread. Ultimately it's a chicken-and-the-egg problem - memory needs to be allocated to store the trace events that memory allocation traces. A redirect is kept around just in case, but its use is considered an error.
Bonus; analysis can get going quicker if a sync is added directly after the tails been sent to a new connection.
#preflight 61936d13f65efa9243c8959c

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 18203841 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)

[CL 18203845 by martin ridgers in ue5-release-engine-test branch]
2021-11-16 04:02:05 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
martin ridgers
dea6d7fb9d Trailing whitespace.
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17998257 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17998266 by martin ridgers in ue5-release-engine-test branch]
2021-11-01 04:37:56 -04:00
martin ridgers
0719ca133e Multi-byte character constants are non-standard
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17998250 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17998264 by martin ridgers in ue5-release-engine-test branch]
2021-11-01 04:37:40 -04:00
martin ridgers
75843075d8 Warning fix about an undefined (yet unused) static function
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17998182 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17998188 by martin ridgers in ue5-release-engine-test branch]
2021-11-01 04:16:24 -04:00
martin ridgers
9f27fb8983 Missing include
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17998154 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17998177 by martin ridgers in ue5-release-engine-test branch]
2021-11-01 04:15:26 -04:00
martin ridgers
a2d5420dca Fixed implicit padding warning
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17998141 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17998166 by martin ridgers in ue5-release-engine-test branch]
2021-11-01 04:13:59 -04:00
martin ridgers
31c1e2964b Fixed unused parameter/variable warnings
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17998134 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17998160 by martin ridgers in ue5-release-engine-test branch]
2021-11-01 04:13:40 -04:00
martin ridgers
21bb6e7fee Fixed narrowing warnings.
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17998132 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17998152 by martin ridgers in ue5-release-engine-test branch]
2021-11-01 04:13:24 -04:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
martin ridgers
ea47a07c3f Corrected statistics collection
Cache wasted was calculated incorrectly. Bytes-sent was missing some bytes. Memory was bumped to 64 bits just in case a 4GB accident happens.

#rb jb
#rnx
#preflight 616e6b616e12ff00011bb806

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17857934 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)

[CL 17857943 by martin ridgers in ue5-release-engine-test branch]
2021-10-19 04:08:40 -04:00
martin ridgers
46448e702a Trace's command and control can be conditionally compiled out.
#rb jb
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17857091 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)

[CL 17857111 by martin ridgers in ue5-release-engine-test branch]
2021-10-19 03:23:02 -04:00
martin ridgers
e1ea7eeea2 Use internal method instead of Strlen() followed by the same style of loop in Field_WriteString(). Removes the use of FCString making amalgamation for external use easier.
#rb jb
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17857052 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)

[CL 17857071 by martin ridgers in ue5-release-engine-test branch]
2021-10-19 03:22:03 -04:00
martin ridgers
5737a951a6 Simple conversion function can handle all types of input characters.
#rb jb
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17856952 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)

[CL 17857009 by martin ridgers in ue5-release-engine-test branch]
2021-10-19 03:20:27 -04:00
martin ridgers
e7df4b4790 Bumped important-event cache page size so there's less waste at the end.
LZ4 compression needs one contiguous piece of memory of worst-case size. This can result in not insignificant waste at the end of each page of cached important event data. By bumping the size the wastage happens less often. Perhaps a better way would be to check if LZ4 can compress in two steps.
#rb jb
#rnx

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17828411 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)

[CL 17828416 by martin ridgers in ue5-release-engine-test branch]
2021-10-15 08:59:35 -04:00
martin ridgers
8312007d01 Added PLATFORM_X checks to better exclude those that aren't relevant.
#rb none
#rnx
#preflight 61680dfce296ed0001474a1a

#ROBOMERGE-AUTHOR: martin.ridgers
#ROBOMERGE-SOURCE: CL 17814824 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)

[CL 17814835 by martin ridgers in ue5-release-engine-test branch]
2021-10-14 08:01:42 -04:00