Commit Graph

224 Commits

Author SHA1 Message Date
jordan cristiano
7fb93f7d17 Reduced FScopeCycleCounter complexity by undoing the description string addition. Replaced the one use case with a dynamic stat string.
#rb evgenii.babinets
[FYI] jason.hoerner

#ROBOMERGE-AUTHOR: jordan.cristiano
#ROBOMERGE-SOURCE: CL 21046539 via CL 21046557 via CL 21047685
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21075529 by jordan cristiano in ue5-main branch]
2022-07-13 13:58:40 -04:00
bryan sefcik
a9cc65bca4 Updated Core code to not use CoreMinimal.h when possible.
Core public headers still will contain CoreMinimal.h if any included it before my IWYU changes.
#preflight 62c73594756222ced4e48707

[CL 20991367 by bryan sefcik in ue5-main branch]
2022-07-07 16:02:19 -04:00
bryan sefcik
9905eb52bb Pass 2 on running IWYU on Core.
Things to note regarding this pass:
* No includes are currently being removed from public headers.
* Any private file that has a #if is currently not being updated.
#preflight 62c703bbd13fac04f11da948

[CL 20985655 by bryan sefcik in ue5-main branch]
2022-07-07 12:30:11 -04:00
bryan sefcik
62489fe2b3 Ran a pass of IWYU on Core.
Things to note regarding this pass:
* No includes are currently being removed from public headers.
* Any private file that has a #if is currently not being updated.

#rb Devin Doucette and Marc Audy
#preflight 62c62086756222ced497ff95
#preflight 62c626d12f2d04691814d331
#preflight 62c630107e606620fdd64e31
#preflight 62c635c6756222ced49a13cf

[CL 20979027 by bryan sefcik in ue5-main branch]
2022-07-06 21:44:18 -04:00
ben woodhouse
f17e6c6f0d CSV profiler - persistent custom stats. Thread-safe helper classes for custom stats that persist across frames.
#rb simon.orr

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 20939788 via CL 20939799 via CL 20939801
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20940317 by ben woodhouse in ue5-main branch]
2022-07-05 07:28:30 -04:00
Catalin Dragoiu
74aec4d0bf Track asset class for packages in CookProfiler
#rb Matt.Peters Francis.Hurteau
#preflight 62bda231a3568e30663c1507
#robomerge EngineMerge

[CL 20894999 by Catalin Dragoiu in ue5-main branch]
2022-06-30 10:13:15 -04:00
steve robb
dbe6f4a18d Allow formatting strings to be binary-compatible char types, not only exact types.
#jira UE-132142
#rb devin.doucette
#preflight 62bd5018a3568e30662ad3b4

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 20890364 via CL 20890433 via CL 20890478
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20892157 by steve robb in ue5-main branch]
2022-06-30 07:58:27 -04:00
Joe Kirchoff
75b4660aeb Resolve typecast warning in ProfilingDebugging
#rb trivial
#rnx
#preflight 62b644ea466962cd9a3826b0

[CL 20819593 by Joe Kirchoff in ue5-main branch]
2022-06-24 19:37:59 -04:00
tyler staples
cc245a8e46 Fix for csv profiler pause event not firing at start of capture
+ Added a new delegate to the CSV profiler that fires once on frame 0 of the capture so we can send the pause event as soon as valid.
+ The PerformanceTrackingSubsystem now handles sending the pause/resume events as it made more sense.

#rb ben.woodhouse, andrew.ladenberger

#ROBOMERGE-AUTHOR: tyler.staples
#ROBOMERGE-SOURCE: CL 20765956 via CL 20766099 via CL 20766135 via CL 20766258 via CL 20766315
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)

[CL 20767975 by tyler staples in ue5-main branch]
2022-06-21 19:30:02 -04:00
Johan Berg
ca32e4c627 Metadata scopes
Adds runtime events and analysis for generic meta data scopes. Any scope emitted on the "Metadata" writer will be analyzed and accessible in the metadata provider. Currently one built-in metadata type is provided: "Asset", which mimics LLMs implementation of asset tracking.

#rb ionut.matasaru
#robomerge EngineMerge
#preflight 62b1b35d827ccccb2cd7da0d

[CL 20755918 by Johan Berg in ue5-main branch]
2022-06-21 08:20:57 -04:00
Johan Berg
8a92cd22e4 Fix on-connection strings having different type ids.
Since there were two different events for declaring strings and FNames, one regular and one no-sync version used in on-connection callback, references would not be correctly resolved. We remove the no sync version and use only one version. In order to solve the synchronizing we defer resolving the strings in analysis.
#preflight 62a9c8932a1103ff5fb784ae
#robomerge EngineMerge

[CL 20668219 by Johan Berg in ue5-main branch]
2022-06-15 08:03:24 -04:00
Catalin Dragoiu
24f5bb2f6c Improve tracking of the LoadTime value in CookProfiler
#rb Matt.Peters Francis.Hurteau
#preflight 62a8b512136e62bef1cec185

[CL 20653168 by Catalin Dragoiu in ue5-main branch]
2022-06-14 13:45:02 -04:00
Johan Berg
486e82c649 Remove accidental debug code and added comment.
#rb none
#preflight 62a32ba5cc30ea8a287ab71c

[CL 20593542 by Johan Berg in ue5-main branch]
2022-06-10 07:47:23 -04:00
Johan Berg
c8a8270308 String tracing
Adds a tracing subsystem to trace deduplicated strings and FNames.

#rb ionut.matasaru, johan.torp
#preflight 62a2f06b54169bd8aa25a97b

[CL 20591319 by Johan Berg in ue5-main branch]
2022-06-10 03:38:35 -04:00
evgenii babinets
e8189b1fd8 Fixed Insights scopes no longer reporting file/line information.
#jira UE-155735
#rb jordan.cristiano
[FYI] ionut.matasaru
#preflight 629a4b82551457c8dde7b666

#ROBOMERGE-AUTHOR: evgenii.babinets
#ROBOMERGE-SOURCE: CL 20490826 via CL 20490839 via CL 20490846 via CL 20491981 via CL 20492140
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20495596 by evgenii babinets in ue5-main branch]
2022-06-03 19:15:17 -04:00
Ben Marsh
3a38979892 Non-unity build fix.
#fyi Johan.Berg
#preflight none

[CL 20479013 by Ben Marsh in ue5-main branch]
2022-06-02 20:10:44 -04:00
Johan Berg
281488e2aa [TraceLog] Add OnConnection callback
Adds a callback which is issued from Trace whenever a new connection is established. Any event emitted inside the callback are collected separately and written to the trace stream after important events, but before events collected in the tail buffer. In the engine layer the callback is exposed as static delegate on TraceAuxiliary.

#rb martin.ridgers, ionut.matasaru
#preflight 6298bbad63529f84faeab10b

[CL 20468957 by Johan Berg in ue5-main branch]
2022-06-02 10:01:45 -04:00
Johan Berg
a86afcb0fd Memory tracing refactorings
As the memory tracing implementation grew and callstack tracing was extracted it became clear that alot of the code which was implemented as platform specific should really be platform independent. This changelist moves all MemoryTrace_* methods except the MemoryTrace_Initialize to a platform independent layer. This also allows for internalizing the "do-not-allocate-while-tracing-an-allocation" flag. Also took the oportunity to rename MemoryTrace.cpp in Microsoft folder to better reflect platform specific file.

#rb ionut.matasaru
#preflight 6290df2d3c05bea8bfd3ed82
#preflight 6290eb90b83292836e074fff

[CL 20394897 by Johan Berg in ue5-main branch]
2022-05-27 12:39:27 -04:00
Catalin Dragoiu
fa1e5b2bc7 Trace screenshots from the Shot and HighResShot commands when the Screenshot channel is on.
#rb Ionut.Matasaru
#preflight 628c9cdd6f6741ae31578ea9

[CL 20346623 by Catalin Dragoiu in ue5-main branch]
2022-05-24 08:13:55 -04:00
Catalin Dragoiu
0b478d5694 Cooking Profiler Prototype
#rb Ionut.Matasaru  Matt Peters
#preflight 628b8690693c5e1de2773a39

[CL 20327158 by Catalin Dragoiu in ue5-main branch]
2022-05-23 10:13:54 -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
David Harvey
3997a1ff0c fix platform file trace for modular builds.
#jira UE-151231
#rnx
#rb trivial
#preflight 6278febdf34e710b6de75a71

[CL 20101167 by David Harvey in ue5-main branch]
2022-05-09 07:49:16 -04:00
nuno leiria
e285a188a9 Misc changes required to build consoles as modules
#rb trivial
#preflight 626a8f0e631e64c0b9021363

[CL 19960219 by nuno leiria in ue5-main branch]
2022-04-28 09:16:32 -04:00
geoff evans
1981b2f5f3 StallDetector support for Linux
### Features

This change enables the StallDetector watchdog in Editor to submit reports to crashreporter about threads violating instrumented deadlines in the source code. This feature was available prior on Windows, and this change adds Linux support.

### Notes

New APIs:
ReportStall()
CaptureThreadPortableCallStack()

Many APIs are updated from purely "Ensure" naming to more general naming. Stalls are more like Ensures than crashes, and so the appropriate renames to make the code readable and clear have been made. In some places Ensure is replaced with the clearer: Continuable Event nomenclature.

### Testing

I synthesized an ensure on Linux, and did the same for a stall. I then compared crash report XML file to make sure they contain accurate data in the callstack, portable callstack, and other fields in the report. I also noted that the stall information was showing as expected in the crash reporter.

#rb brandon.schaefer, francis.hurteau
#jira UETOOL-3336
#preflight 625e20d2804460ab0fea3277

[CL 19911608 by geoff evans in ue5-main branch]
2022-04-25 19:19:04 -04:00
john huelin
362d3dc7c8 Fix compilation of nonunity build
#rb mickael.gilabert
#rnx

#ROBOMERGE-OWNER: hilda.cruz
#ROBOMERGE-AUTHOR: john.huelin
#ROBOMERGE-SOURCE: CL 19742953 via CL 19743504 via CL 19744060 via CL 19744380 via CL 19744561
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19801681 by john huelin in ue5-main branch]
2022-04-18 23:22:39 -04:00