Commit Graph

192 Commits

Author SHA1 Message Date
Johan Berg
24596d30fd [Insights] Set default parameter value for channels in Start
#rb ionut.matasaru
#preflight 6229f366377a9e55bacbdf94

[CL 19334657 by Johan Berg in ue5-main branch]
2022-03-10 07:52:14 -05:00
robert millar
b4bfddef0a MallocBinned2 fork support.
Clear caches and update a canary value across the fork boundary to avoid touching pages that were allocated pre-fork to minimize unnecessary duplication of shared pages.
Savings depend on pre-fork fragmentation/slack and number of concurrent child processes.

#rb louisphilippe.seguin, johan.torp, arciel.rekman

#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 19057122 via CL 19057644 via CL 19057693 via CL 19057718 via CL 19057737 via CL 19059617
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19066314 by robert millar in ue5-main branch]
2022-02-21 02:04:42 -05:00
evgenii babinets
56c7c2c121 Fixed compile errors on FN servers where trace events were not enabled. Needed to update the CPUPROFILERTRACE_ENABLED 0 macros as well.
#rb jordan.cristiano

#ROBOMERGE-OWNER: aurel.cordonnier
#ROBOMERGE-AUTHOR: evgenii.babinets
#ROBOMERGE-COMMAND: _robomerge UE5-Main
#ROBOMERGE-SOURCE: CL 19018687 via CL 19018740 via CL 19018773 via CL 19028082
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v917-18934589)

[CL 19028102 by evgenii babinets in ue5-main branch]
2022-02-16 20:15:57 -05:00
evgenii babinets
92b6faea1c Optimize code size and overhead for Insights markers generated for scope cycle counters. Down from 213 bytes per marker to 142 bytes (overall program size down ~600KB).
Details: removes duplicate checks on CpuChannel by resolving SpecIds inside the scope event structure and avoiding passing in CpuChannel as the fine-grained channel when we always check CpuChannel at least.

#rb jordan.cristiano

#ROBOMERGE-AUTHOR: evgenii.babinets
#ROBOMERGE-SOURCE: CL 19003995 via CL 19004354 via CL 19005197 via CL 19008129 via CL 19008734
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 19008810 by evgenii babinets in ue5-main branch]
2022-02-15 20:37:22 -05:00
ionut matasaru
a6866d78e1 [Insights]
- Updated help for trace console commands.
  - Fixed comments and code style issues in TraceAuxiliary.

#rb Johan.Berg
#preflight 61ea7ced445cebac10bcd2da

#ROBOMERGE-OWNER: ionut.matasaru
#ROBOMERGE-AUTHOR: ionut.matasaru
#ROBOMERGE-SOURCE: CL 18687495 in //UE5/Release-5.0/... via CL 18687855 via CL 18687859
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18687864 by ionut matasaru in ue5-main branch]
2022-01-21 06:40:36 -05:00
johan berg
a56558e662 [Insights] Fix copy paste and build error
* An extra '&' token was removed on the type alias in the no logging case.
 * In the case where trace is enabled, but logging is disabled, made a identical solution in TraceAuxImpl.

#rb ionut.matasaru
#jira UE-139439, UE-139433, UE-139444
#preflight 61e80742843acf1b2429961b

#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18657057 in //UE5/Release-5.0/... via CL 18657068 via CL 18657070
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18657072 by johan berg in ue5-main branch]
2022-01-19 07:58:49 -05:00
johan berg
f7c959da10 [Insights] Nonunity build fixes.
#rb none
#preflight 61e69dfd3778a195dea5a670

#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18638138 in //UE5/Release-5.0/... via CL 18638141 via CL 18638153
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18638169 by johan berg in ue5-main branch]
2022-01-18 06:19:58 -05:00
johan berg
8faf5c82d8 [Insights] Fix for no logging situations
#rb ionut.matasaru
#preflight 61e586b0873f2ea48f2fdd62

#ROBOMERGE-OWNER: johan.berg
#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18633108 in //UE5/Release-5.0/... via CL 18633166 via CL 18633182
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637368 by johan berg in ue5-main branch]
2022-01-18 04:30:03 -05:00
johan berg
61dc9c192e [Insights] Allow log output in TraceAux to be routed to arbitrary category.
In order to be able to output detailed error and status messages to both core log or console feedback log depending on situation, add argument to set the target category. Also removed now redundant logs in console commands, since more detailed information is now emitted on the console feedback.
#preflight 61e56f34873f2ea48f23d007

#ROBOMERGE-OWNER: johan.berg
#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18632544 in //UE5/Release-5.0/... via CL 18633016 via CL 18633031
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)
#ROBOMERGE-CONFLICT from-shelf

[CL 18637343 by johan berg in ue5-main branch]
2022-01-18 04:24:47 -05:00
devin doucette
fd82da3de9 DDC: Factored out common code in AsyncPut and added stats
#rb Zousar.Shaker
#rnx
#preflight 61e0982b797757aace8a7d35

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18605473 in //UE5/Release-5.0/... via CL 18605523 via CL 18605540
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18605575 by devin doucette in ue5-main branch]
2022-01-13 16:44:15 -05:00
johan berg
f26d26c315 [Insights] Move UE_MEMORY_TAGS_TRACE_ENABLED to build file.
We need to set this define in other platform build files, and since some of them are included on windows (editor) builds as well, we can end up with warnings of redefinition of variable.
#preflight 61e025e11e7c2075bb218b0f

#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18595866 in //UE5/Release-5.0/... via CL 18595880 via CL 18595890
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18596773 by johan berg in ue5-main branch]
2022-01-13 10:14:29 -05:00
johan berg
c8d7f56daa [Insights] Clarify HeapId argument for mark as heap command.
#preflight 61e01e2e1e7c2075bb207de7

#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18595647 in //UE5/Release-5.0/... via CL 18595651 via CL 18595655
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18596721 by johan berg in ue5-main branch]
2022-01-13 10:11:12 -05:00
ben woodhouse
4c4e02819c Fix parsing of the -csvmetadata arg, so it doesn't stop on separators
Refactor csvExecCmds to move the initialization logic into the CSV profiler itself. The execution still needs to happen in the engine, but this is now done during normal frame processing.
Fix a bug when processing csv execcmds with colons, e.g file paths

#ROBOMERGE-OWNER: ben.woodhouse
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 18442929 via CL 18442943 via CL 18442951 via CL 18445402 via CL 18445577 via CL 18445604
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v897-18405271)

[CL 18447887 by ben woodhouse in ue5-main branch]
2021-12-13 15:16:06 -05:00
ben woodhouse
133deadd0c Fix parsing of the -csvmetadata arg, so it doesn't stop on separators
Refactor csvExecCmds to move the initialization logic into the CSV profiler itself. The execution still needs to happen in the engine, but this is now done during normal frame processing.
Fix a bug when processing csv execcmds with colons, e.g file paths

#ROBOMERGE-OWNER: ben.woodhouse
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 18442929 via CL 18442943 via CL 18442951 via CL 18445402 via CL 18445577
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18445604 by ben woodhouse in ue5-release-engine-test branch]
2021-12-13 13:48:53 -05:00
JeanMichel Dignard
4550b7c911 Fixed a compilation issue with stall detector when COUNTERSTRACE_ENABLED is 0
#fyi Geoff.Evans
#rb none

[CL 18419337 by JeanMichel Dignard in ue5-main branch]
2021-12-09 10:38:08 -05:00
johan berg
504310ad02 [Insights] TraceMalloc should not use it's own root heap
* TraceMalloc should not use it's own root heap. Instead it will use a regular heap in system memory and make fake heaps (since we can't track virtual allocations for trace's own allocations).
 * The first named was miscategorized as a root heap.

#rb ionut.matasaru

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

[CL 18417028 by johan berg in ue5-release-engine-test branch]
2021-12-09 04:07:17 -05:00
johan berg
f0f428cd8f [Insights] Add special tag for Trace.
* Adds special value reserved to Trace allocations
 * Adds checks to avoid collisions between FName indices and ELLMTags.
#preflight 61af41ca353890ce23edcf36

#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18393722 in //UE5/Release-5.0/... via CL 18393732
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18393738 by johan berg in ue5-release-engine-test branch]
2021-12-07 06:54:54 -05:00
mark lintott
5a87419e09 NonUnity Fix
#jira none
#rb trivial
#preflight 61a503d9ee100b68fa9ef3eb

#ROBOMERGE-AUTHOR: mark.lintott
#ROBOMERGE-SOURCE: CL 18312439 in //UE5/Release-5.0/... via CL 18312534
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18312566 by mark lintott in ue5-release-engine-test branch]
2021-11-29 13:09:14 -05:00
mark lintott
266e8c0e8b Non-Unity compile fix
#jira none
#rb trivial
[FYI] jason.nadro
#preflight 61a4be03664cbb92c79ce284

#ROBOMERGE-AUTHOR: mark.lintott
#ROBOMERGE-SOURCE: CL 18308078 in //UE5/Release-5.0/... via CL 18308097
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18308100 by mark lintott in ue5-release-engine-test branch]
2021-11-29 07:28:42 -05:00
jason nadro
b1f38b302c Moving implementations of FResourceSize into the cpp.
#rb trivial
#jira none
#preflight 619d0a2b88439fccfe83ed5b

#ROBOMERGE-AUTHOR: jason.nadro
#ROBOMERGE-SOURCE: CL 18272635 in //UE5/Release-5.0/... via CL 18272657
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18272683 by jason nadro in ue5-release-engine-test branch]
2021-11-23 13:20:25 -05:00
jason nadro
40819376d6 [BuildFix] - Partially reverting my previous change (CL# 18259478) by putting the implementations back into the header.
#rb trivial
#jira none
#preflight 619bde671806a2425923ec2a

#ROBOMERGE-AUTHOR: jason.nadro
#ROBOMERGE-SOURCE: CL 18261575 in //UE5/Release-5.0/... via CL 18261586
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18261600 by jason nadro in ue5-release-engine-test branch]
2021-11-22 14:28:19 -05:00
jason nadro
21eb49709d Extend FResourceSizeEx to keep track of name for each memory size added. This allows for verbose reporting of resource sizes.
This results in output like the following:

                                                                                                                            Object      NumKB      MaxKB   ResExcKB  ResExcDedSysKB  ResExcDedVidKB  ResExcUnkKB
StaticMesh /Game/AncientContent/Megascans/Surfaces/Rock/SM_RockRough1.SM_RockRough1       1.31          1.33     395.50           12.75                  0.00                 382.75
						                               None                                                 12.75
							               None                                                  0.79
							               TexcoordBuffer and TangentBuffer       66.35
							               PositionVertexBuffer                            5.53
							               ColorVertexBuffer                              22.12
							               IndexBuffer                                       95.99
							               ReversedDepthOnlyIndexBuffer           95.99
							               ReversedIndexBuffer                          95.99
							               WireframeIndexBuffer                          0.00

- Adding a `-verbose` flag to `obj list` which will dump each tracked named size.
- Adding additional `AddSharedSystemMemoryBytes(const FName& Tag, const SIZE_T InMemoryBytes)` function which accepts a named tag.
- Modify FStaticMeshLODResources::GetResourceSizeEx() to use the new interface.
- Modify FSkeletalMeshLODRenderData::GetResourceSizeEx() to use the new interface.
- Remove the "Shared" version of the memory tracking functions.  These are not used at all across the engine.  This simplifies the code and makes the output of obj list more readable.
- Move FResourceSizeEx into its own cpp file so modifying the header isn't a painful full recompile.

#rb dave.jones2
#jira none
#preflight 619bb03f88439fccfe625cba

#ROBOMERGE-AUTHOR: jason.nadro
#ROBOMERGE-SOURCE: CL 18259478 in //UE5/Release-5.0/... via CL 18259492
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18259504 by jason nadro in ue5-release-engine-test branch]
2021-11-22 11:54:59 -05:00
ben woodhouse
42c2be7740 Csv profiler named event support
Add support for emitting named events from timing stats without compiling them in. This is controlled via new commandline options, which can be used in combination:
 -csvNamedEvents emits named events for exclusive stats
 -csvNamedEventsTiming emits named events for standard timing stats

Instrumentation overhead reduction
-Make it possible to disable CSVPROFILERTRACE_ENABLED, since this increases CSV profiler instrumentation overhead by about 15%
- Remove LLM scopes from stat functions and move into stat block allocation function. Reduces overhead slightly

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 18253615 via CL 18253616 via CL 18253618 via CL 18253622 via CL 18253625 via CL 18254405 via CL 18254407
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18254408 by ben woodhouse in ue5-release-engine-test branch]
2021-11-21 07:17:10 -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
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