- Enabled use of NetTokens/NetTokenStore and NetTokenDataStores outside of Iris to facilitate exporting data from shared serialization paths
- NetTokenStore and NetTokenDataStores are now owned by NetDriver.
- Added support for CustomExport bunches to carry data assoiciated with NetTokenExports
GameplayTags
- GameplayTagNetSerializer now respects settings from GameplayTags.ini
- Implemented placeholder GameplayTagNetTokenDataStore.
GameplayTags are now using NetTokens to export data if running in the new dynamic mode.
#rb jodon.karlik, Ryan.Gerleve
[CL 36380672 by mattias hornlund in 5.5 branch]
- Changed the log message at end of analysis that displayes number of warnings to be a warning (instead of an error).
- Replaced usage of uint64_t with uint64.
#jira UE-223953
#rb Sebastian.Thomeczek
#rnx
[CL 36329861 by ionut matasaru in 5.5 branch]
Refactored TraceControl widgets to enable them to connect to a specific InstanceId.
Added auto detect selected session functionality to STraceControl.
Removed responsability from TraceController to handle selected session management.
Added InstanceId to the Diagnostics.SessionInfo2 event.
#rb Johan.Berg, ionut.matasaru
#jira UE-222645
[CL 35964645 by catalin dragoiu in ue5-main branch]
- CpuProfilerTraceAnalysis: Improved analysis performance for traces with huge number of timers.
- CpuProfilerTraceAnalysis: Added "[CpuProfiler] Analysis completed" log message (with analysis stats) when the analysis is completed.
- CpuProfilerTraceAnalysis: Added warnings when analysis detects timers defined multiple times and for possible incorrect use of FCpuProfilerTrace::OutputEventType().
- CpuProfilerTraceAnalysis: Clean-up memory when analysis completes.
#rb Catalin.Dragoiu
[CL 35392281 by ionut matasaru in ue5-main branch]
When loading a large symbol file into insights, the time spent filtering becomes very noticable. In total, it takes about 90 to load the symbols for a large binary. Of these 90s, about 72.5s are spent in the regex matcher in FResolvedSymbolFilter::Update. The regexes we are checking for could also be checked for by just scanning for a substring. With this change, the 73s shrink to < 300ms.
#rb ionut.matasaru
[CL 34028729 by sebastian schoner in ue5-main branch]
- Timing View / Markers track: Made few FString/FStringView optimizations for handling name of log categories.
- Timing View / Markers track: Optimized FLogProvider::EnumerateMessages to only iterate the log messages in the specified time interval (uses binary search to find start index and stops iteration at first log with time > EndTime). This significantly improves performance of Markers track (Bookmarks / Logs) when there are high number of log messages.
#rb Catalin.Dragoiu
[CL 33859147 by ionut matasaru in ue5-main branch]
- LogView: Added LowerBoundByTime, UpperBoundByTime and BinarySearchClosestByTime in ILogProvider. Added comments to all API in ILogProvider. Also, fixed the API comments in IEditableLogProvider.
- LogView: Added code to allow search of a log message by time.
- LogView: Fixed issue where log messages are added in non monotonic increasing order by timestamp.
#jira UE-215367
#rb Catalin.Dragoiu
[CL 33855838 by ionut matasaru in ue5-main branch]
- TraceServices: Added LowerBoundBy and UpperBoundBy algorithms in TPagedArray (in TraceServices::PagedArrayAlgo:: namespace).
- TraceServices: Added BinarySearchClosestBy algorithm in TPagedArray. Performs binary search, resulting in position of the first element with projected value closest to Value.
#rb Catalin.Dragoiu
[FYI] Johan.Berg
[CL 33801412 by ionut matasaru in ue5-main branch]
- Fixed crash when first encountered callstack is an empty callstack with a non-zero id.
- Added distinction between the default empty callstack (i.e. callstack with id 0; "no recorded callstack") and other empty callstacks (with a valid id > 0, but with zero number of frames). Also changed the display names for empty callstacks to be localizable texts (ex: "No Callstack Recorded", "Empty Callstack").
- Fixed wrong truncation in case the traced callstack has a larger number of stack frames than supported (max 255 stack frames are supported by analysis).
#rb Catalin.Dragoiu
[FYI] Johan.Berg
[CL 33541336 by ionut matasaru in ue5-main branch]
- Fixed concurency issues.
- Updated log messages re "binary files" and "debug symbol files".
- Fixed path order for searching symbol files(1. Any new path entered by the user this session; 2. Path of the executable (if available); 3. Paths from UE_INSIGHTS_SYMBOL_PATH; 4. Paths from _NT_SYMBOL_PATH; 5. Paths from the user configuration file).
- Fixed re-load of a module when user specifies a pdb file. Now it will automatically detect and load the corresponding exe/dll binary file.
- Fixed the succesfull re-load of a module not triggering the re-load of other modules.
#jira UE-195999, UE-196002
#rb Johan.Berg
[CL 33482057 by ionut matasaru in ue5-main branch]