Do not delegate automatic navigation spans to native SDK #559
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.
Goal
Since we can't get accurate rendering metrics for automatic navigation spans (i.e. those created by the navigation library plugins) because they can only be created after the navigation has occurred, we should not be delegating these spans to the native SDK in the first place.
This PR adds support for internally excluding certain first-class spans from the native integration, and ensures that only manual navigation spans are delegated to the native SDK.
Design
ReactNativeSpanFactory
ReactNativeSpanOptions
interface to allow callers to disable the native span functionality for individual spans.Testing
Updated unit tests