You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bake pause/resume into SpansRecorder with a depth counter
The PausableRecorder trait could only handle a single ignored event with
nothing nested under it. Anything trickier (a normal recordStart/recordEnd
under a pause, or a second ignored event) silently desynced the resume.
Pause/resume is now a feature of SpansRecorder itself. Static $pauseOwner and
$pauseDepth track ownership and call depth across the recorder hierarchy.
startSpan and endSpan carry the counter math: increments while owner-paused
do not produce real spans, and resume fires the moment depth returns to zero.
Lifecycle::flush() clears the static state at every subtask/request boundary
so long-running runtimes cannot leak pause state across executions.
0 commit comments