Skip to content

test(e2e): Assert TTID/TTFD spans share their navigation transaction's trace and parent span - #6530

Merged
antonis merged 1 commit into
mainfrom
test/e2e-ttid-ttfd-trace-parent
Jul 28, 2026
Merged

test(e2e): Assert TTID/TTFD spans share their navigation transaction's trace and parent span#6530
antonis merged 1 commit into
mainfrom
test/e2e-ttid-ttfd-trace-parent

Conversation

@antonis

@antonis antonis commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring
  • Tests

📜 Description

Adds an end-to-end assertion to the existing captureSpaceflightNewsScreenTransaction e2e test verifying that the ui.load.initial_display and ui.load.full_display spans of a navigation transaction share the transaction's trace_id and reference its root span as their parent_span_id.

The e2e suite already asserts that navigation transactions carry time_to_initial_display / time_to_full_display measurements, but it did not assert that the underlying display spans are attached to the correct trace and parent span end-to-end.

💡 Motivation and Context

A previous defect caused TTID/TTFD spans to be minted with a random trace_id instead of inheriting the navigation transaction's, so they rendered as orphaned spans in the trace view. That defect is guarded at the unit layer, but there was no end-to-end check that the spans emitted in a real navigation envelope are correctly parented. This adds that guard against the on-device serialized transaction.

Closes #6529.

💚 How did you test it?

  • Added assertion runs inside the existing captureSpaceflightNewsScreenTransaction Maestro e2e (iOS + Android, auto- and manual-init).
  • Locally verified the file lints (oxlint) and type-checks.
  • The on-device e2e run happens in CI behind the ready-to-merge label.

📝 Checklist

  • I added tests to verify changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing.
  • Public API changes reviewed by another Mobile SDK team member or implemented according to the develop docs spec.
  • No breaking changes.

🔮 Next steps

#6531

…s trace and parent span

The e2e suite already asserts navigation transactions carry TTID/TTFD
measurements, but did not verify the underlying display spans inherit the
transaction's trace_id and reference its root span as parent_span_id. Add that
end-to-end guard against orphaned display spans.

Closes #6529

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • test(e2e): Assert TTID/TTFD spans share their navigation transaction's trace and parent span by antonis in #6530
  • feat(tracing): Add check and download timing spans to Expo Updates listener by antonis in #6430
  • fix(tracing): Skip duplicate navigation span from withAnchor POP_TO by antonis in #6439
  • test(e2e): Assert TTID/TTFD spans share their navigation transaction's trace and parent span by antonis in #6530
  • chore(deps): add sharp ^0.35.0 resolution (dev-only advisory) by antonis in #6525
  • chore(deps): add body-parser ^2.3.0 resolution (dev-only advisory) by antonis in #6524
  • chore(deps): add morgan ^1.11.0 resolution (dev-only advisory) by antonis in #6523
  • chore(deps): bump postcss to ^8.5.18 (dev-only advisory) by antonis in #6522
  • chore(deps): bump brace-expansion 5.x to ^5.0.8 (dev-only advisory) by antonis in #6521
  • ci: Disable yarn age gate when bumping first-party @sentry deps by antonis in #6513
  • feat(core): Attach TurboModule breakdown to active spans on spanEnd by alwx in #6478
  • feat(core): Export instrumentStateGraph and deprecate instrumentLangGraph by antonis in #6520
  • chore(deps): bump the codeql-action group across 1 directory with 3 updates by dependabot in #6517
  • chore(deps): bump ruby/setup-ruby from 1.319.0 to 1.321.0 by dependabot in #6518
  • chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 by dependabot in #6519
  • chore(deps): update JavaScript SDK to v10.68.0 by github-actions in #6516
  • chore(deps): bump tar from 7.5.20 to 7.5.21 by dependabot in #6515
  • chore(deps): bump lerna to ^9.0.7 to resolve remaining dev-tooling advisories by antonis in #6499
  • chore(deps): Migrate to @sentry/bundler-plugins by antonis in #6501
  • chore: update changelog warning with fix version by antonis in #6509
  • chore(deps): bump actions/setup-node from 6.4.0 to 7.0.0 by dependabot in #6463
  • chore(deps): bump json from 2.17.1.2 to 2.19.9 in /performance-tests by dependabot in #6512
  • chore(deps): update CLI to v3.6.2 by github-actions in #6511
  • chore(deps): update Sentry Android Gradle Plugin to v6.16.0 by github-actions in #6508

Plus 1 more


🤖 This preview updates automatically when you update the PR.

@antonis antonis added the ready-to-merge Triggers the full CI test suite label Jul 28, 2026
@sentry

sentry Bot commented Jul 28, 2026

Copy link
Copy Markdown

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
Sentry RN io.sentry.reactnative.sample 8.20.0 (100) Release

⚙️ sentry-react-native Build Distribution Settings

@lucas-zimerman lucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@antonis
antonis merged commit c3e53fb into main Jul 28, 2026
129 of 134 checks passed
@antonis
antonis deleted the test/e2e-ttid-ttfd-trace-parent branch July 28, 2026 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(e2e): Assert TTID/TTFD trace in the navigation e2e

2 participants