fix(core): Only return trace data from span if it is recording in getTraceData
#13265
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In Node/Otel we seem to create a non-recording span, even in tracing without performance mode. Therefore, our check to take the span data if there is an active span present led us to return trace data from that non-recording span. This caused a
-0
being attached to the sentry-trace data andsentry-sampled: 1
to be contained in baggage when it shouldn't be.This PR changes the logic, to not only check for the presence of an active span but also if it is recording
While it's good that we found this, the impact on shipped SDK code was negligible, given the function was only previously used in Astro and only recently made its way into core.
I'm not too sure about the fix yet, so would appreciate a review!