Description of the problem: Very short scopes for cpu timing events with metadata can have a duration of 0. In this case the enter/leave events are incorrectly processed. The "enter" scope event is processed as it has a relative timestamp > 0, but the "leave" event is ignored in analysis as it will have a timestamp == 0, some as scoped events without time. It results in a broken hierarchy of cpu timing events!
The fix ensures the scoped events with 0 duration will still have a valid timestamp (in this case the "leave" event will have same timestamp as "enter" event, as expected), so those "leave scope" events are not ignored anymore by the cpu profiler analyzer (which still needs to ignore scoped events without time).
#rb Martin.Ridgers
[FYI] Catalin.Dragoiu
#ROBOMERGE-AUTHOR: ionut.matasaru
#ROBOMERGE-SOURCE: CL 17627582 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
[CL 17627584 by ionut matasaru in ue5-release-engine-test branch]
Description of the problem: Very short scopes for cpu timing events with metadata can have a duration of 0. In this case the enter/leave events are incorrectly processed. The "enter" scope event is processed as it has a relative timestamp > 0, but the "leave" event is ignored in analysis as it will have a timestamp == 0, some as scoped events without time. It results in a broken hierarchy of cpu timing events!
The fix ensures the scoped events with 0 duration will still have a valid timestamp (in this case the "leave" event will have same timestamp as "enter" event, as expected), so those "leave scope" events are not ignored anymore by the cpu profiler analyzer (which still needs to ignore scoped events without time).
#rb Martin.Ridgers
#fyi Catalin.Dragoiu
[CL 17627582 by ionut matasaru in ue5-main branch]
Added bounds checking when reading (skipping) the metadata in front of trace file.
#rb Martin.Ridgers
#preflight 6139be0c48e4950001410cad
#ROBOMERGE-AUTHOR: ionut.matasaru
#ROBOMERGE-SOURCE: CL 17469346 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17469379 by ionut matasaru in ue5-release-engine-test branch]
Added bounds checking when reading (skipping) the metadata in front of trace file.
#rb Martin.Ridgers
#preflight 6139be0c48e4950001410cad
[CL 17469346 by ionut matasaru in ue5-main branch]
Serial numbers are no longer perscriptive (i.e. there can be gaps).
Normal trace events' headers are 50% smaller.
#jira ue-114532
#rb johan.berg
#preflight 6131df894f2c7c00016bf83c
#ROBOMERGE-SOURCE: CL 17419538 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17419569 by martin ridgers in ue5-release-engine-test branch]
Serial numbers are no longer perscriptive (i.e. there can be gaps).
Normal trace events' headers are 50% smaller.
#jira ue-114532
#rb johan.berg
#preflight 6131df894f2c7c00016bf83c
[CL 17419538 by Martin Ridgers in ue5-main branch]
#ROBOMERGE-SOURCE: CL 17098027 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)
[CL 17098029 by martin ridgers in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 17082705 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)
[CL 17082718 by martin ridgers in ue5-release-engine-test branch]