- Memory: Added a new query rule: **Growth vs. Decline**. Identifies \"growth\" allocations, allocated between time A and time B and freed after time B (A ? a ? B ? f) and \"decline\" allocations, allocated before time A and freed between time A and time B (a ? A ? f ? B). The \"decline\" allocations are changed to have negative size, so the size aggregation shows variation between A and B.
- Memory: Fixed the iteration over SBIF offsetted cells resulting in some cells to be skipped when checked by queries.
#rb Catalin.Dragoiu
#preflight 61d320cdec35d1b940c9064b
#ROBOMERGE-AUTHOR: ionut.matasaru
#ROBOMERGE-SOURCE: CL 18501541 in //UE5/Release-5.0/... via CL 18501576
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18501584 by ionut matasaru in ue5-release-engine-test branch]
- Memory: Improved speed of live allocs matching in memory analysis.
- Memory: Fixed N/A callstacks in a query made before analysis is completed.
#jira UE-110125
#rb Catalin.Dragoiu
[CL 15736769 by ionut matasaru in ue5-main branch]
- Memory: Added two new query rules: "Free Events" and "Alloc Events".
- Memory: Fixed tooltip for query rules in the dropdown list not showing the name of markers.
- Memory: Fixed margins around "target window".
- Memory: Simplified status text with query rule info in Allocs Tree view.
#rb Catalin.Dragoiu
[CL 15364692 by ionut matasaru in ue5-main branch]
- Implemented mem alloc queries also for live allocs.
- Implemented analysis for llm tags associated with allocations (based on initial work by Johan.Berg).
- Changed granularity of memory allocations timelines to 0.1ms (from 1ms).
- Fixed allotment of allocations in SbTree's offsetted cells.
- Fixed queries to handle also cases where multiple cells have exact same timestamps.
- Added more debug/validation code for AllocationsProvider.
#rb Catalin.Dragoiu
[CL 14938990 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]