Skip to content

fix(ttd): Equalize TTID and TTFD duration when TTFD manual API is called and resolved before auto TTID #4680

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Mar 24, 2025

Conversation

krystofwoldrich
Copy link
Contributor

@krystofwoldrich krystofwoldrich commented Mar 24, 2025

📢 Type of change

  • Bugfix

📜 Description

This PR fixes an issue where the TTFD would be reported before the automatic TTID is finished. This can happen during navigation animation, as the automatic TTID waits for the navigation animation to finish, but TTFD is reported when data are available and rendered.

The expected behavior is that TTFD reported before TTID will be adjusted to the TTID end.

💚 How did you test it?

sample app and added integration test

📝 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
  • No breaking changes

krystofwoldrich and others added 4 commits March 14, 2025 16:01
…eady seen routes

- Introduced `enableTimeToInitialDisplayForPreloadedRoutes` option to the React Navigation integration.
- Updated logic to measure Time to Initial Display for routes that have already been seen.
- Added tests to verify functionality for preloaded routes in the tracing module.
Copy link
Contributor

github-actions bot commented Mar 24, 2025

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 453.46 ms 454.02 ms 0.56 ms
Size 17.75 MiB 20.13 MiB 2.38 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
79976dd 456.94 ms 439.17 ms -17.76 ms
686b3bc 469.59 ms 474.41 ms 4.82 ms
5446992 403.40 ms 426.70 ms 23.30 ms
db44eaf 437.65 ms 436.06 ms -1.59 ms
86d6d2c+dirty 332.90 ms 352.45 ms 19.55 ms
22e31b6 396.48 ms 419.64 ms 23.16 ms
eb1e19f 433.55 ms 444.90 ms 11.35 ms
e5c9b8b 409.02 ms 426.66 ms 17.64 ms
43c72ff 480.54 ms 475.02 ms -5.52 ms
c639edf 466.48 ms 489.57 ms 23.09 ms

App size

Revision Plain With Sentry Diff
79976dd 17.75 MiB 20.11 MiB 2.36 MiB
686b3bc 17.75 MiB 20.11 MiB 2.37 MiB
5446992 17.73 MiB 19.85 MiB 2.12 MiB
db44eaf 17.74 MiB 20.08 MiB 2.35 MiB
86d6d2c+dirty 17.73 MiB 20.04 MiB 2.31 MiB
22e31b6 17.73 MiB 19.84 MiB 2.10 MiB
eb1e19f 17.74 MiB 20.08 MiB 2.34 MiB
e5c9b8b 17.73 MiB 19.83 MiB 2.10 MiB
43c72ff 17.75 MiB 20.12 MiB 2.37 MiB
c639edf 17.74 MiB 20.08 MiB 2.34 MiB

Copy link
Contributor

github-actions bot commented Mar 24, 2025

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 399.49 ms 404.04 ms 4.55 ms
Size 7.15 MiB 8.40 MiB 1.24 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
9dabcce+dirty 359.66 ms 430.73 ms 71.08 ms
0c98663+dirty 385.91 ms 403.82 ms 17.91 ms
fe13591+dirty 539.51 ms 597.92 ms 58.40 ms
3853f43+dirty 278.12 ms 338.72 ms 60.60 ms
8de2810+dirty 368.43 ms 412.20 ms 43.77 ms
b95b8af+dirty 392.94 ms 428.00 ms 35.06 ms
b1e8712+dirty 322.55 ms 331.84 ms 9.29 ms
48ad514+dirty 419.34 ms 441.48 ms 22.14 ms
07e58c9+dirty 391.00 ms 409.66 ms 18.66 ms
c71ea72+dirty 410.57 ms 472.63 ms 62.06 ms

App size

Revision Plain With Sentry Diff
9dabcce+dirty 7.15 MiB 8.37 MiB 1.22 MiB
0c98663+dirty 7.15 MiB 8.39 MiB 1.23 MiB
fe13591+dirty 7.15 MiB 8.35 MiB 1.20 MiB
3853f43+dirty 7.15 MiB 8.08 MiB 959.34 KiB
8de2810+dirty 7.15 MiB 8.35 MiB 1.20 MiB
b95b8af+dirty 7.15 MiB 8.38 MiB 1.23 MiB
b1e8712+dirty 7.15 MiB 8.04 MiB 912.27 KiB
48ad514+dirty 7.15 MiB 8.39 MiB 1.23 MiB
07e58c9+dirty 7.15 MiB 8.35 MiB 1.20 MiB
c71ea72+dirty 7.15 MiB 8.38 MiB 1.23 MiB

Copy link
Contributor

github-actions bot commented Mar 24, 2025

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1226.86 ms 1232.27 ms 5.41 ms
Size 3.19 MiB 4.33 MiB 1.14 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
5852d77+dirty 1226.88 ms 1236.38 ms 9.50 ms
9433f35+dirty 1232.24 ms 1232.74 ms 0.50 ms
6707be9+dirty 1236.40 ms 1241.56 ms 5.17 ms
690220d+dirty 1227.45 ms 1221.67 ms -5.78 ms
31fcca2+dirty 1222.04 ms 1226.51 ms 4.47 ms
d7401ac+dirty 1288.10 ms 1289.54 ms 1.44 ms
a5d86e1+dirty 1230.35 ms 1222.47 ms -7.88 ms
3ffcddd+dirty 1272.22 ms 1273.98 ms 1.76 ms
1faf8e3+dirty 1223.38 ms 1220.56 ms -2.82 ms
3f05680+dirty 1226.09 ms 1235.67 ms 9.59 ms

App size

Revision Plain With Sentry Diff
5852d77+dirty 3.19 MiB 4.30 MiB 1.12 MiB
9433f35+dirty 2.92 MiB 3.41 MiB 503.55 KiB
6707be9+dirty 3.19 MiB 4.31 MiB 1.12 MiB
690220d+dirty 2.92 MiB 3.66 MiB 758.77 KiB
31fcca2+dirty 2.92 MiB 3.46 MiB 557.31 KiB
d7401ac+dirty 2.92 MiB 3.40 MiB 488.06 KiB
a5d86e1+dirty 2.92 MiB 3.66 MiB 757.10 KiB
3ffcddd+dirty 2.92 MiB 3.40 MiB 494.39 KiB
1faf8e3+dirty 2.92 MiB 3.64 MiB 742.61 KiB
3f05680+dirty 3.19 MiB 4.31 MiB 1.12 MiB

Copy link
Contributor

github-actions bot commented Mar 24, 2025

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1210.06 ms 1216.64 ms 6.58 ms
Size 2.63 MiB 3.76 MiB 1.13 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
5852d77+dirty 1210.16 ms 1222.60 ms 12.44 ms
9433f35+dirty 1246.94 ms 1271.45 ms 24.52 ms
6707be9+dirty 1226.84 ms 1228.35 ms 1.52 ms
690220d+dirty 1228.27 ms 1233.55 ms 5.29 ms
31fcca2+dirty 1209.17 ms 1216.21 ms 7.04 ms
d7401ac+dirty 1252.38 ms 1275.04 ms 22.66 ms
a5d86e1+dirty 1242.47 ms 1239.94 ms -2.53 ms
3ffcddd+dirty 1244.47 ms 1264.14 ms 19.67 ms
1faf8e3+dirty 1214.87 ms 1222.83 ms 7.97 ms
3f05680+dirty 1229.37 ms 1235.04 ms 5.68 ms

App size

Revision Plain With Sentry Diff
5852d77+dirty 2.63 MiB 3.74 MiB 1.11 MiB
9433f35+dirty 2.36 MiB 2.85 MiB 499.80 KiB
6707be9+dirty 2.63 MiB 3.74 MiB 1.11 MiB
690220d+dirty 2.36 MiB 3.10 MiB 753.57 KiB
31fcca2+dirty 2.36 MiB 2.90 MiB 552.95 KiB
d7401ac+dirty 2.36 MiB 2.83 MiB 481.14 KiB
a5d86e1+dirty 2.36 MiB 3.10 MiB 752.65 KiB
3ffcddd+dirty 2.36 MiB 2.84 MiB 489.60 KiB
1faf8e3+dirty 2.36 MiB 3.08 MiB 736.75 KiB
3f05680+dirty 2.63 MiB 3.74 MiB 1.11 MiB

@krystofwoldrich krystofwoldrich marked this pull request as ready for review March 24, 2025 08:29
@krystofwoldrich krystofwoldrich changed the title Kw/fix ttfd before auto ttid equal duration fix(ttd): Equalize TTID and TTFD duration when TTFD manual API is called and resolved before auto TTID Mar 24, 2025
Copy link
Collaborator

@antonis antonis left a comment

Choose a reason for hiding this comment

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

LGTM 🚀

@krystofwoldrich krystofwoldrich merged commit b6da94a into main Mar 24, 2025
74 of 75 checks passed
@krystofwoldrich krystofwoldrich deleted the kw/fix-ttfd-before-auto-ttid-equal-duration branch March 24, 2025 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants