Skip to content

iOS UI Profiling#5611

Merged
alwx merged 6 commits intomainfrom
alwx/feature/ios-profiling
Feb 4, 2026
Merged

iOS UI Profiling#5611
alwx merged 6 commits intomainfrom
alwx/feature/ios-profiling

Conversation

@alwx
Copy link
Contributor

@alwx alwx commented Feb 3, 2026

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Added missing support for UI profiling on iOS.

💡 Motivation and Context

Fixes #5517

📝 Checklist

  • I added tests to verify changes — or rather updated the existing Android tests
  • 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

🔮 Next steps

Merge it and enjoy!

@alwx alwx self-assigned this Feb 3, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

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).


  • iOS UI Profiling by alwx in #5611
  • Ref: comment out setAttribute from scope sync. by lucas-zimerman in #5612
  • chore(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 by dependabot in #5613
  • Expo Router integration improvement: Prefetch route performance measurement with automatically created spans by alwx in #5606
  • chore(deps): update Bundler Plugins to v4.9.0 by github-actions in #5608
  • e2e tests on Cirrus Labs runners by alwx in #5485
  • chore(deps): bump getsentry/craft from 2.20.0 to 2.20.1 by dependabot in #5603
  • chore(deps): bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.20.0 to 2.20.1 by dependabot in #5604
  • chore(deps): bump github/codeql-action from 4.31.11 to 4.32.0 by dependabot in #5605
  • Ref: Add Claude task by lucas-zimerman in #5602
  • chore(deps): update JavaScript SDK to v10.38.0 by github-actions in #5596

🤖 This preview updates automatically when you update the PR.

@alwx alwx added the ready-to-merge Triggers the full CI test suite label Feb 3, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 432.46 ms 485.43 ms 52.97 ms
Size 43.75 MiB 48.41 MiB 4.66 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
90afdd3+dirty 375.94 ms 377.52 ms 1.58 ms
fdbea8b+dirty 494.72 ms 529.06 ms 34.34 ms
526494a+dirty 422.80 ms 438.90 ms 16.10 ms
7be1f99 454.83 ms 461.36 ms 6.53 ms
d1bfbde+dirty 478.88 ms 505.52 ms 26.64 ms
ad27f6e+dirty 471.44 ms 516.23 ms 44.79 ms
e2fa43d 451.68 ms 462.42 ms 10.74 ms
8490686+dirty 365.59 ms 400.24 ms 34.65 ms
8db9631+dirty 442.78 ms 461.96 ms 19.18 ms
ee69ed5+dirty 409.44 ms 441.30 ms 31.86 ms

App size

Revision Plain With Sentry Diff
90afdd3+dirty 17.75 MiB 19.70 MiB 1.95 MiB
fdbea8b+dirty 43.75 MiB 48.05 MiB 4.29 MiB
526494a+dirty 43.75 MiB 47.99 MiB 4.24 MiB
7be1f99 17.75 MiB 20.15 MiB 2.41 MiB
d1bfbde+dirty 43.75 MiB 47.99 MiB 4.24 MiB
ad27f6e+dirty 43.75 MiB 48.07 MiB 4.32 MiB
e2fa43d 17.75 MiB 20.15 MiB 2.41 MiB
8490686+dirty 17.75 MiB 19.70 MiB 1.96 MiB
8db9631+dirty 17.75 MiB 19.70 MiB 1.96 MiB
ee69ed5+dirty 43.75 MiB 48.04 MiB 4.29 MiB

Previous results on branch: alwx/feature/ios-profiling

Startup times

Revision Plain With Sentry Diff
6c186d1+dirty 463.36 ms 503.57 ms 40.21 ms

App size

Revision Plain With Sentry Diff
6c186d1+dirty 43.75 MiB 48.41 MiB 4.65 MiB

@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1213.63 ms 1209.13 ms -4.50 ms
Size 3.38 MiB 4.60 MiB 1.22 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d861c16+dirty 1231.94 ms 1242.32 ms 10.38 ms
6416d6c+dirty 1220.38 ms 1222.98 ms 2.60 ms
785ffb1+dirty 1237.63 ms 1240.50 ms 2.87 ms
1ef8a04+dirty 1226.14 ms 1223.15 ms -2.99 ms
2f9fb30+dirty 1189.51 ms 1190.71 ms 1.20 ms
42a723e+dirty 1200.82 ms 1215.89 ms 15.07 ms
818a608+dirty 1205.76 ms 1208.00 ms 2.24 ms
77061ed+dirty 1233.16 ms 1234.88 ms 1.71 ms
ec14be7+dirty 1234.64 ms 1245.54 ms 10.90 ms
07808fb+dirty 1233.31 ms 1232.77 ms -0.54 ms

App size

Revision Plain With Sentry Diff
d861c16+dirty 2.63 MiB 4.00 MiB 1.36 MiB
6416d6c+dirty 3.41 MiB 4.59 MiB 1.18 MiB
785ffb1+dirty 2.63 MiB 3.81 MiB 1.18 MiB
1ef8a04+dirty 3.41 MiB 4.59 MiB 1.18 MiB
2f9fb30+dirty 3.41 MiB 4.59 MiB 1.18 MiB
42a723e+dirty 3.38 MiB 4.60 MiB 1.22 MiB
818a608+dirty 2.63 MiB 3.91 MiB 1.28 MiB
77061ed+dirty 2.63 MiB 3.98 MiB 1.34 MiB
ec14be7+dirty 2.63 MiB 3.98 MiB 1.34 MiB
07808fb+dirty 2.63 MiB 3.99 MiB 1.36 MiB

Previous results on branch: alwx/feature/ios-profiling

Startup times

Revision Plain With Sentry Diff
6c186d1+dirty 1217.70 ms 1220.51 ms 2.81 ms

App size

Revision Plain With Sentry Diff
6c186d1+dirty 3.38 MiB 4.60 MiB 1.22 MiB

@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1214.48 ms 1219.77 ms 5.29 ms
Size 3.38 MiB 4.60 MiB 1.22 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d861c16+dirty 1226.00 ms 1223.35 ms -2.65 ms
6416d6c+dirty 1222.83 ms 1222.04 ms -0.79 ms
785ffb1+dirty 1213.71 ms 1213.37 ms -0.35 ms
1ef8a04+dirty 1184.42 ms 1186.44 ms 2.02 ms
2f9fb30+dirty 1219.06 ms 1223.38 ms 4.32 ms
42a723e+dirty 1225.29 ms 1220.22 ms -5.07 ms
818a608+dirty 1218.84 ms 1223.18 ms 4.34 ms
77061ed+dirty 1210.77 ms 1218.45 ms 7.68 ms
ec14be7+dirty 1229.62 ms 1230.53 ms 0.91 ms
07808fb+dirty 1240.76 ms 1251.00 ms 10.24 ms

App size

Revision Plain With Sentry Diff
d861c16+dirty 3.19 MiB 4.56 MiB 1.38 MiB
6416d6c+dirty 3.41 MiB 4.59 MiB 1.18 MiB
785ffb1+dirty 3.19 MiB 4.38 MiB 1.19 MiB
1ef8a04+dirty 3.41 MiB 4.59 MiB 1.18 MiB
2f9fb30+dirty 3.41 MiB 4.59 MiB 1.18 MiB
42a723e+dirty 3.38 MiB 4.60 MiB 1.22 MiB
818a608+dirty 3.19 MiB 4.48 MiB 1.29 MiB
77061ed+dirty 3.19 MiB 4.54 MiB 1.36 MiB
ec14be7+dirty 3.19 MiB 4.54 MiB 1.36 MiB
07808fb+dirty 3.19 MiB 4.56 MiB 1.37 MiB

Previous results on branch: alwx/feature/ios-profiling

Startup times

Revision Plain With Sentry Diff
6c186d1+dirty 1212.04 ms 1211.27 ms -0.77 ms

App size

Revision Plain With Sentry Diff
6c186d1+dirty 3.38 MiB 4.60 MiB 1.22 MiB

* @platform android
*/
androidProfilingOptions?: AndroidProfilingOptions;
profilingOptions?: ProfilingOptions;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can we keep androidProfilingOptions and mark it as deprecated?
We can merge both values on the wrapper init and on a later version remove it.

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we keep androidProfilingOptions and mark it as deprecated?

Sounds good 👍

Since it's marked as experimental everywhere (docs, changelog) I'm also ok to just proceed with the change.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 433.02 ms 485.51 ms 52.49 ms
Size 43.94 MiB 49.27 MiB 5.33 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
fdbea8b+dirty 551.94 ms 577.02 ms 25.08 ms
11ded16+dirty 309.23 ms 310.55 ms 1.33 ms
526494a+dirty 361.10 ms 410.84 ms 49.74 ms
bfe454a+dirty 372.42 ms 424.52 ms 52.10 ms
955f2eb+dirty 388.13 ms 433.56 ms 45.44 ms
3bd3f0d+dirty 334.38 ms 402.19 ms 67.81 ms
c4e097a+dirty 382.43 ms 443.77 ms 61.34 ms
d1bfbde+dirty 438.90 ms 494.82 ms 55.92 ms
ad27f6e+dirty 484.67 ms 532.79 ms 48.12 ms
07808fb+dirty 392.47 ms 451.94 ms 59.47 ms

App size

Revision Plain With Sentry Diff
fdbea8b+dirty 43.94 MiB 48.87 MiB 4.93 MiB
11ded16+dirty 7.15 MiB 8.46 MiB 1.31 MiB
526494a+dirty 43.94 MiB 48.82 MiB 4.88 MiB
bfe454a+dirty 7.15 MiB 8.42 MiB 1.26 MiB
955f2eb+dirty 7.15 MiB 8.42 MiB 1.27 MiB
3bd3f0d+dirty 7.15 MiB 8.43 MiB 1.28 MiB
c4e097a+dirty 7.15 MiB 8.41 MiB 1.26 MiB
d1bfbde+dirty 43.94 MiB 48.82 MiB 4.88 MiB
ad27f6e+dirty 43.94 MiB 48.90 MiB 4.96 MiB
07808fb+dirty 7.15 MiB 8.43 MiB 1.28 MiB

Previous results on branch: alwx/feature/ios-profiling

Startup times

Revision Plain With Sentry Diff
6c186d1+dirty 434.30 ms 466.62 ms 32.32 ms

App size

Revision Plain With Sentry Diff
6c186d1+dirty 43.94 MiB 49.26 MiB 5.33 MiB


### Features

- Extends the experimental support of UI profiling to iOS ([#5611](https://github.com/getsentry/sentry-react-native/pull/5611))
Copy link
Contributor

Choose a reason for hiding this comment

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

If we decide to proceed with just renaming the androidProfilingOptions to profilingOptions in the conversation above let's add a note to the changelog

Suggested change
- Extends the experimental support of UI profiling to iOS ([#5611](https://github.com/getsentry/sentry-react-native/pull/5611))
- Extends the experimental support of UI profiling to iOS ([#5611](https://github.com/getsentry/sentry-react-native/pull/5611))
- Note that Android is also now using `profilingOptions` instead of `androidProfilingOptions`

Copy link
Contributor

@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.

The changes LGTM 🚀
Let's make that we handle the androidProfilingOptions deprecation/removal consistently before merging and update the docs.

@alwx alwx force-pushed the alwx/feature/ios-profiling branch from 89eb855 to 95f54e4 Compare February 4, 2026 10:07
@alwx
Copy link
Contributor Author

alwx commented Feb 4, 2026

@antonis @lucas-zimerman thanks for the suggestions — all changes are done and ready for the hopefully final review!

@alwx alwx requested a review from lucas-zimerman February 4, 2026 10:08
@alwx alwx enabled auto-merge (squash) February 4, 2026 10:08
@alwx alwx merged commit 6f5e35c into main Feb 4, 2026
70 of 71 checks passed
@alwx alwx deleted the alwx/feature/ios-profiling branch February 4, 2026 10:10
alwx added a commit to getsentry/sentry-docs that referenced this pull request Feb 5, 2026
…ing (#16260)

The support for iOS UI profling was added to React Native SDK:
getsentry/sentry-react-native#5611
Now it's time for the docs changes!

## IS YOUR CHANGE URGENT?  

Help us prioritize incoming PRs by letting us know when the change needs
to go live.
- [ ] Urgent deadline (GA date, etc.): <!-- ENTER DATE HERE -->
- [ ] Other deadline: <!-- ENTER DATE HERE -->
- [x] None: Not urgent, can wait up to 1 week+
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.

Apple/Cocoa UI profiling

3 participants