Commit Graph

453 Commits

Author SHA1 Message Date
andrew ladenberger
bd4deae0a0 [CSV Profiler] Removed personal data and free text from shipping builds for privacy rules
#rb ben.woodhouse, tyler.staples, jordan.cristiano
[FYI] sarah.noonan, jeff.needles, chris.tran

[CL 23020978 by andrew ladenberger in ue5-main branch]
2022-11-07 18:17:24 -05:00
mickael gilabert
5d0182c84a Take cached slack memory into account in Memory Free and Memory Used csv stats if PLATFORM_USE_CACHED_SLACK_MEMORY_IN_MEMORY_STATS is set
[REVIEW] [at]ben.woodhouse, [at]john.huelin
#rnx

[CL 22970803 by mickael gilabert in ue5-main branch]
2022-11-03 19:20:55 -04:00
Catalin Dragoiu
b9c34691d9 Initial functionality for the Insights Status Bar Widget
#rb Ionut.Matasaru
#preflight 6363baea1a32af63a83dff57
#jira UE-161773

[CL 22951891 by Catalin Dragoiu in ue5-main branch]
2022-11-03 09:37:53 -04:00
graeme thornton
e7986ac620 [Backout] - CL22808749
[FYI] Steve.Robb
Original CL Desc
-----------------------------------------------------------------
TMap and TSet can now be declared as members with forward-declared key and value parameters.
KeyFuncs::KeyInitType and KeyFuncs::ElementInitType typedefs are no longer used and user-defined KeyFuncs do not need to provide them.  Deprecated placeholders for these typedefs exist though they may not be defined exactly as they were before.  A new KeyType typedef needs to be provided by custom KeyFuncs which don't already inherit from BaseKeyFuncs or TDefaultMapKeyFuncs.
KeyConstPointerType, KeyInitType, ValueInitType and ElementInitType typedefs have been deprecated across TMap, TSet and TSortedMap.  Regular C++ parameter-passing semantics should be used instead (const T& Ref or T Value, depending on T).
Added missing FSetElementId::operator!=().

[FYI] steve.robb
#rb james.hopkin
[FYI] henrik.karlsson
#preflight 635a56c15d49a96f7b31938f

[CL 22850782 by graeme thornton in ue5-main branch]
2022-10-29 02:59:59 -04:00
steve robb
e980405a8f TMap and TSet can now be declared as members with forward-declared key and value parameters.
KeyFuncs::KeyInitType and KeyFuncs::ElementInitType typedefs are no longer used and user-defined KeyFuncs do not need to provide them.  Deprecated placeholders for these typedefs exist though they may not be defined exactly as they were before.  A new KeyType typedef needs to be provided by custom KeyFuncs which don't already inherit from BaseKeyFuncs or TDefaultMapKeyFuncs.
KeyConstPointerType, KeyInitType, ValueInitType and ElementInitType typedefs have been deprecated across TMap, TSet and TSortedMap.  Regular C++ parameter-passing semantics should be used instead (const T& Ref or T Value, depending on T).
Added missing FSetElementId::operator!=().

#rb james.hopkin
[FYI] henrik.karlsson
#preflight 635a56c15d49a96f7b31938f

[CL 22810695 by steve robb in ue5-main branch]
2022-10-27 11:20:32 -04:00
robert millar
ade7908ce6 Csv Profiler: public accessor for a copy of current metadata for embedding inside other profiling/debugging output files.
#rb ben.woodhouse

[CL 22792960 by robert millar in ue5-main branch]
2022-10-26 17:30:09 -04:00
fieldsJacksonG
29981cb834 PR #9692: Use ARM64 UAP PIX binaries when building for HoloLens (Contributed by fieldsJacksonG)
(with some modifications/cleanups)

We were using the non UAP libs before, which meant UE was trying to load the incorrect dependent VC runtime DLLs.
Binaries sourced from https://www.nuget.org/packages/WinPixEventRuntime/1.0.220124001


#jira UE-167019
#preflight 63537592cb31f106ce19c659
#rb Arciel.Rekman

[CL 22783295 by fieldsJacksonG in ue5-main branch]
2022-10-26 13:04:12 -04:00
ionut matasaru
72e461ab01 [Insights] Added tracing of callstack also for allocation free events.
#rb Catalin.Dragoiu
#preflight 635116d7ac48fa11ed908494

[CL 22652076 by ionut matasaru in ue5-main branch]
2022-10-20 06:11:22 -04:00
ionut matasaru
6d1cc2d5c5 [Insights] Cleared metadata stack for ProgramSize allocs.
#jira UE-167023
#rb Catalin.Dragoiu
#preflight 63486c981f6054a99fa08ea4

[CL 22524384 by ionut matasaru in ue5-main branch]
2022-10-14 06:18:30 -04:00
ionut matasaru
b62246872e [Insights] Added "clear metadata scope" (UE_TRACE_METADATA_CLEAR_SCOPE) for the Trace system memory allocation events.
#rb Catalin.Dragoiu
#preflight 63407d09b20780acc109ff75

[CL 22427085 by ionut matasaru in ue5-main branch]
2022-10-10 06:09:31 -04:00
tyler staples
e469e98032 Add OnCSVProfileEndRequested delegate that fires right before we end a capture, allowing final information to be written.
#rb ben.woodhouse

[CL 22408903 by tyler staples in ue5-main branch]
2022-10-07 16:37:53 -04:00
Zousar Shaker
79e69f7760 DDC: Fixing compile error related to LLM tagging.
#jira UE-154013
#rb Matt.Peters
#preflight 633623d8e72271755fe1afa4

[CL 22258849 by Zousar Shaker in ue5-main branch]
2022-09-29 19:10:23 -04:00
Devin Doucette
78b4dfd59b DDC: Fixed untagged allocations by capturing tags in tasks
#jira UE-154013
#preflight 6335f0ffc37844870abec3f3
#rb Matt.Peters

[CL 22254430 by Devin Doucette in ue5-main branch]
2022-09-29 16:11:35 -04:00
martin ridgers
4811a88d5d Fixed link error on Linux
#rb trivial
#jira none
#rnx
#preflight none

[CL 22232415 by martin ridgers in ue5-main branch]
2022-09-28 18:01:55 -04:00
martin ridgers
86665da8b0 Speed up trace's worker thread if memory tracing is enabled.
There is no backstory behind the current sleep time that Trace uses (other than it being prime to try and avoid phase with other systems). It's largely a quick choice to originally getting things stood up that's never been revisited. The aspirations where that the update happens as infrequently as possible to avoid interference with the process being instrumented. Memory tracing is overly chatty now with up to four or five synchronised events per allocation. While a higher frequency worker thread takes away from game thread time, it reduces resource code and makes less bursty IO requests.

#rnx
#rb im
#jira ue-157559
#preflight 633409281003050806252d33

[CL 22232239 by martin ridgers in ue5-main branch]
2022-09-28 17:56:43 -04:00
martin ridgers
39bb27e563 Added function to query if memory tracing is enabled
#rb im
#rnx
#jira none
#preflight 633409281003050806252d33

[CL 22232228 by martin ridgers in ue5-main branch]
2022-09-28 17:56:22 -04:00
martin ridgers
c6a3d65266 Consolidated duplicated code that checks for -trace=memory,memalloc.
I had originally planned to also use this in TraceAux for but it later became apparent that I didn't need it. A single point where the command line is checked is more robust nonetheless

#rb im
#rnx
#jira none
#preflight 633421f4dc213d2eadfd976a

[CL 22232181 by martin ridgers in ue5-main branch]
2022-09-28 17:55:31 -04:00
martin ridgers
62aea3c619 MemScope events do not need to be synchronised.
Something that is scoped by nature only pertains to the current thread and thus is implicitly synchronised. Furthermore, in memory-scope's case the alloc-free events are synchronised anyway which makes it redundant for the scoped events.

#rb im
#rnx
#jira none
#preflight 6332b8307b582f58abad24db

[CL 22203260 by martin ridgers in ue5-main branch]
2022-09-27 07:11:26 -04:00
martin ridgers
43da9136b4 Fixed TraceAuxilary starting Trace's thread too early.
Trace's thread can't be started before Trace has been initialised as some internals are not ready prior to that (i.e. the cache and the tail). TraceAux attempts to control the worker thread and indirectly started it too early when processing command line arguments. This would cause data races between the worker thread and initialisation.

#rb im
#rnx
#jira none
#preflight 63296dab0a4ad044de754095

[CL 22090244 by martin ridgers in ue5-main branch]
2022-09-20 05:53:18 -04:00
marc audy
edd83dc1fb Trace:
* Replaced OnTraceFileStarted delegate with OnTraceStarted
* Added OnTraceStopped delegate
* Both events pass if the recording was for a network or file type.

#rb Brian.Bekich, Martin.Ridgers
#preflight

[CL 22088546 by marc audy in ue5-main branch]
2022-09-20 00:42:05 -04:00
louisphilippe seguin
e738e717e3 Trace
* Added trace file created callback:  Useful to gather all trace files created during execution
* Added config option to disable or resize tail buffers via [Trace.Config]:TailSizeBytes
* Added config option for worker thread sleep time via [Trace.Config]:SleepTimeInMS
* Fixed init code so it never creates a workerthread in builds that don't support multithreading

#rb Martin.Ridgets, Ionut.Matasaru

[CL 22013173 by louisphilippe seguin in ue5-main branch]
2022-09-14 15:04:08 -04:00
Martin Ridgers
378f8d57da Added F prefix to Options struct name
#rnx
#rb im
#preflight 632187ee9677b738f4d49188

[CL 22003200 by Martin Ridgers in ue5-main branch]
2022-09-14 04:06:08 -04:00
jordan cristiano
a6428c421c Reenable trace worker thread to fix hitching on the GT.
#rb ionut.matasaru

[CL 21998991 by jordan cristiano in ue5-main branch]
2022-09-13 23:04:20 -04:00
ionut matasaru
33b16eec81 [Insights] Improved performance of OutputBeginDynamicEvent by using a better hash function for the (dynamic scope name) hash maps.
Benchmarks/tests:
Using scope names from a large project (~220K string names), the average cost of adding an entry to TMap improved 2.4x (from 1.2us to 0.5us) and worst case improved 3.8x (from 80ms to 21ms).
Using Lyra (up to 5000 strings per TMap) the worst case improved 3.6x (from 11ms to 3ms).

#jira UE-147219
#rb Catalin.Dragoiu
#preflight 6315e02b7562a90dfa9fa055

[CL 21790925 by ionut matasaru in ue5-main branch]
2022-09-05 07:53:27 -04:00
brian bekich
ed05542a71 CreateProfileFilename will now prefix the current process id to the filename when WITH_SERVER_CODE
#rb louisphilippe.seguin

[CL 21750742 by brian bekich in ue5-main branch]
2022-09-01 19:39:18 -04:00