feat(tracing-internal): Reset propagation context on navigation #11401
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.
This PR adds propagationContext resetting to our
browserTracing
navigation span handler. Whenever ourbrowserTracingIntegration
s (the default one or the framework/router-specific ones) start a navigation idle span (viastartBrowserTracingNavigationSpan
), we'll now set a new propagation context (i.e. new traceId and spanId) onto the scopes.The consequence is that a trace will only be valid within a browser navigation. This is significantly shorter if users are using the SDK in an application with frequent (URL) route changes. For other types of applications (e.g. canvas-heavy web apps without classic routing), this won't change much from the status quo.
Added unit, integration and e2e tests to cover the change and demonstrate the expected behaviour.
closes #11377