By default csv metadata persists between captures which may be problematic if capturing different modes that have specific metadata since prior captures can pollute future ones.
This change adds a CSV_NON_PERSISTENT_METADATA macro which sets metadata that is cleared once the current capture ends.
For sake of review I've included the change to the FortLevelSaveComponent to update the creative metdata to use this macro. This will be submitted separately though.
#rb ben.woodhouse
[FYI] andrew.ladenberger
[CL 24436772 by tyler staples in ue5-main branch]
When creating the custom scope type, a check if the channel is active was missing causing the scopes to emit events regardless if the metadata channel was active.
#rb ionut.matasaru
#jira UE-178464
#preflight 63f8b471dd78dd50f66bbd55
[CL 24421297 by Johan Berg in ue5-main branch]
When launching a task, the metadata stack is captured at the calling site, and reapplied as a scope as soon as the task begins to execute. The macro that performed this reapplication was misnamed and didn't imply that it was actually creating a scope. This change removes the macro and adds a custom scope type which can be embedded in the inherited context for the task.
#rb ionut.matasaru, andriy.tylychko
#jira UE-167069
#preflight 63e64e153c247ccd13e986e4
[CL 24118353 by Johan Berg in ue5-main branch]
* Made code compatible with modules/header units. This includes following things:
* Removed static in front of global functions/variables (static indicates it is hidden outside of module/header unit which is not what many places want...)
* Moved dllexport from type to methods in order to get dllexport of static constexpr fields. This is supposed to work according to microsoft but since it is a good change I don't mind doing it anyway)
* static constexpr -> static constexpr inline for member variables and methods (this makes them available outside module/headerunit)
* Added HEADER_UNIT_IGNORE markup to includes that are circular
* Added HEADER_UNIT_SKIP to files that can't compile by themselves
#preflight 63e2aeba3c44c83044bfcc75
#rb steve.robb
[CL 24066986 by henrik karlsson in ue5-main branch]
Adds the ability to send a trace snapshot to a server. A snapshot is the contents of any events in the tail buffer along with the important events needed to analyze them. This feature exists but was only supported writing to local files.
#UE-161986
#rb
#preflight 63ce521dbb14367242e8de71
[CL 23809085 by Johan Berg in ue5-main branch]
- MemoryTrace: Added CallstackId for all free events and also for HeapMarkAlloc, HeapUnmarkAlloc events.
- MemoryTrace: Increased trace version to 2.
#rb Johan.Berg
#preflight 63cab54dee564281cdc111bf
[CL 23790801 by ionut matasaru in ue5-main branch]
Some platforms have threads with very small stacks that we don't appear to be able to control. This places a limit on how much stack is available to capture a callstack in situations where memory hooks are in place. Curl's host name resolving threads an the CurlCalloc() hooks are one such example.
#rb cm
#rnx
#preflight 636d00ad376a9cd6a8f4e22c
#ushell-cherrypick of 23076081 by Martin.Ridgers
[CL 23101615 by martin ridgers in ue5-main branch]