- TraceServices: Changed ReadNetProfilerProvider, ReadMemoryProvider, ReadDiagnosticsProvider to return a pointer to the respective provider (instead of a reference). Can return nullptr. The UI should not assume the provider exists.
- TraceServices: Added GetNetProfilerProviderName, GetMemoryProviderName, GetDiagnosticsProviderName, GetAllocationsProviderName to return name of respective provider.
- TraceServices: Added ReadModuleProvider + GetModuleProviderName, ReadCallstacksProvider + GetCallstacksProviderName to access respective providers.
- TraceServices: Added a default empty implementation to IModule for GenerateReports, GetLoggers and GetCommandLineArgument.
- TraceServices: Changed FAnalysisService::StartAnalysis to not create default providers for Memory (LLM Stats), NetProfiler and Diagnostics, but to allow the respective modules (FMemoryModule, FNetProfilerModule, FDiagnosticsModule) to create the providers.
- TraceInsights: Fixed UI code to check if the Memory, NetProfiler and Diagnostics provider are available.
#rb Catalin.Dragoiu, Johan.Berg
[CL 16967698 by ionut matasaru in ue5-main branch]
- Fixed the Allocations Analysis to process the updated alloc trace events.
- Added timelines in the Allocations Provider with variation for several stats based on 1ms sample:
* MinTotalAllocatedMemory
* MaxTotalAllocatedMemory
* MinLiveAllocationCount
* MaxLiveAllocationCount
* AllocEventCount
* FreeEventCount
- Added graph tracks and graph series for all above timelines in Memory Insights.
#rb Catalin.Dragoiu
#jira UECORE-635
[CL 14853556 by ionut matasaru in ue5-main branch]
- Added detection for AllocationsProvider availability to know when to enable the Memory Insights tab (in addition to detecting availability of the LLM tags memory provider).
- Simplified the API for allocation queries (using A, B, C, D time markers).
- Added initial AllocationsAnalysis that processes the allocation trace events and delegates them to AllocationsProvider.
- Added initial AllocationsProvider. Uses a simple map for live allocations.
- Added FSbTree ("SBIF with offsetted cells" data structure for storing the retired allocations in AllocationsProvider).
- Added async allocation queries (based on A, B, C, D time markers). Currently it uses a single TaskGraph task.
- Added "LogTraceServices" log category for general purpose logging in TraceServices module.
#rb Catalin.Dragoiu
[CL 14813195 by ionut matasaru in ue5-main branch]
Add CallstacksAnalyzer and CallbacksProvider which enables users to query traced callstack ids.
#rb martin.ridgers
[CL 14587000 by Johan Berg in ue5-main branch]