- Changed CallstackId to 32 bits also for CallstacksProvider API.
- Also fixed static analysis warning (false positive).
#rb Johan.Berg
#preflight 62023f0be85c7a08bbde4499
[CL 18900490 by ionut matasaru in ue5-main branch]
- Memory Insights: Added analysis support for "free callstack" for an allocation (i.e. callstack when an allocation if freed).
- Memory Insights: Switched CallstackId to 32 bit and moved the resolving of "id to pointer" outside of mem queries. This allows us to add the second callstack id and also ids for future metadata without increasing the size of FAllocationItem struct (from AllocationProvider).
- Memory Insights: Refactored code re ThreadId and Tracker passed from AllocationAnalysis to AllocationProvider.
- Memory Insights: Refactored code re CallstackProvider to map a CallstackId directly as an index into array of callstacks.
#rb Johan.Berg
#preflight 6201460a6773a3612898c4de
[CL 18886419 by ionut matasaru in ue5-main branch]
Allows us to display allocations that don't have a callstack (e.g. from TraceMalloc) compared to callstack that have a callstack id, but we couldn't find the id.
#preflight 61e01fc3250b9537f7708c1d
#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 18595807 in //UE5/Release-5.0/... via CL 18595813 via CL 18595822
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)
[CL 18596763 by johan berg in ue5-main branch]
Changes to analysis wrt to the changelist "Memory tracing additional heaps".
#rb ionut.matasaru
#preflight 614b43594cff690001754450
[CL 17596772 by Johan Berg in ue5-main branch]
- 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]
Instead of returning a nullptr, return a placeholder callstack when an unknown callstack has been requested.
#rb ionut.matasaru
#rnx
#preflight 60bdfeed29082d00015d3ac6
[CL 16569026 by Johan Berg in ue5-main branch]
Previously the name was only displayed when results was successful. With this change we use the additional information in the status code to display module name and reason why the symbol name could not be resolved.
#jira UE-110008
#rb ionut.matasaru
[CL 16020408 by Johan Berg in ue5-main branch]
#ushell-cherrypick of 15872322 by Martin.Ridgers
#jira ue-110030
#rb johan.berg
#rnx
#ROBOMERGE-SOURCE: CL 15872554 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
[CL 15872771 by martin ridgers in ue5-main branch]
Handle cases where module provider doesn't exist, for example when using the application on a platform that doesn't supportt the required symbol resolving. Symbol field then falls back to a shared const value.
#rb ionut.matasaru
#jira UE-108461
[CL 15406577 by Johan Berg 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]