V6 Release
Reviewed code only
This PR tracks progress on the next major version of the Sentry React Native SDK version 6.
Android (legacy) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 433.85 ms | 460.04 ms | 26.19 ms |
| Size | 17.74 MiB | 20.07 MiB | 2.34 MiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 0677344f8502b3ae15a3128bf239cf5571b92443 | 327.74 ms | 337.14 ms | 9.40 ms |
| 52a80311c249f8c654de5d063c8be172a2dc9e5a+dirty | 311.55 ms | 321.37 ms | 9.82 ms |
| 22e31b6ad7bd629bf078367aee82121c08977ded | 396.48 ms | 419.64 ms | 23.16 ms |
| 52c056204eb6a8e4fe6e138e9307f2838242b4a6 | 453.04 ms | 434.71 ms | -18.33 ms |
| 0ebca778ff7a525ecc959a1782619de87ce443b3 | 414.93 ms | 444.49 ms | 29.56 ms |
| e73f4eddcecda26c0380795bce5ba97e1f11b91f+dirty | 332.96 ms | 354.33 ms | 21.37 ms |
| 9433f356583b99b5c970842ca1f926315bf23ba9 | 347.64 ms | 356.22 ms | 8.58 ms |
| 148f9248007774c638943e03dc044cf71dec0c3d | 492.65 ms | 500.28 ms | 7.63 ms |
| 457e29fc08e6edbebee646d095513d72728a5756 | 398.10 ms | 421.39 ms | 23.29 ms |
| 1d86dd6360b3a0207437816b46e13d91fdeaf4aa | 405.14 ms | 411.06 ms | 5.92 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 0677344f8502b3ae15a3128bf239cf5571b92443 | 17.73 MiB | 19.81 MiB | 2.07 MiB |
| 52a80311c249f8c654de5d063c8be172a2dc9e5a+dirty | 17.73 MiB | 20.04 MiB | 2.31 MiB |
| 22e31b6ad7bd629bf078367aee82121c08977ded | 17.73 MiB | 19.84 MiB | 2.10 MiB |
| 52c056204eb6a8e4fe6e138e9307f2838242b4a6 | 17.73 MiB | 20.11 MiB | 2.38 MiB |
| 0ebca778ff7a525ecc959a1782619de87ce443b3 | 17.73 MiB | 19.95 MiB | 2.21 MiB |
| e73f4eddcecda26c0380795bce5ba97e1f11b91f+dirty | 17.73 MiB | 20.04 MiB | 2.31 MiB |
| 9433f356583b99b5c970842ca1f926315bf23ba9 | 17.73 MiB | 19.81 MiB | 2.08 MiB |
| 148f9248007774c638943e03dc044cf71dec0c3d | 17.73 MiB | 19.94 MiB | 2.21 MiB |
| 457e29fc08e6edbebee646d095513d72728a5756 | 17.73 MiB | 19.84 MiB | 2.10 MiB |
| 1d86dd6360b3a0207437816b46e13d91fdeaf4aa | 17.73 MiB | 19.86 MiB | 2.12 MiB |
Previous results on branch: v6
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 2d6b4a9ef6cac1e977a3069003bc780251dda89f | 484.00 ms | 499.49 ms | 15.49 ms |
| 3524c9420ab834088645c4ddb51d49555625393a | 482.39 ms | 502.77 ms | 20.38 ms |
| f77a902200adbafd5a65ba16d4e1f41cde95f0ba | 484.04 ms | 487.57 ms | 3.53 ms |
| 170d40eb3bee9fb15fd028910a8e5195a4a55d08 | 442.90 ms | 453.70 ms | 10.80 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 2d6b4a9ef6cac1e977a3069003bc780251dda89f | 17.74 MiB | 20.06 MiB | 2.33 MiB |
| 3524c9420ab834088645c4ddb51d49555625393a | 17.74 MiB | 20.06 MiB | 2.33 MiB |
| f77a902200adbafd5a65ba16d4e1f41cde95f0ba | 17.74 MiB | 20.06 MiB | 2.33 MiB |
| 170d40eb3bee9fb15fd028910a8e5195a4a55d08 | 17.74 MiB | 20.06 MiB | 2.33 MiB |
iOS (legacy) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 1230.33 ms | 1223.96 ms | -6.38 ms |
| Size | 2.36 MiB | 3.09 MiB | 742.76 KiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| e5c9b8b6d5ce209fa4b3a77aa9de65bd590fa727+dirty | 1258.57 ms | 1267.32 ms | 8.75 ms |
| 0db0c729a4ac7c205a44cb4702fa7ba5b0bc03c0+dirty | 1275.02 ms | 1285.84 ms | 10.82 ms |
| 76d1bafa51ac0d20b127bc97b0f45201263636c3+dirty | 1244.10 ms | 1268.52 ms | 24.42 ms |
| 1c653243e2e4fd64d6c98a843b9aeccf235ba198+dirty | 1235.17 ms | 1235.08 ms | -0.09 ms |
| e2b64fed057d4b01cf7ad79eb19eb3c8b8002a82+dirty | 1232.22 ms | 1255.20 ms | 22.98 ms |
| 8900e1acdc5e3dcbb40938d4ba5c2abad4cc86a4+dirty | 1210.27 ms | 1218.66 ms | 8.39 ms |
| 5571a202e0c1fa9393e62c66ebd908444fee9c6e+dirty | 1203.57 ms | 1204.57 ms | 1.00 ms |
| e73f4eddcecda26c0380795bce5ba97e1f11b91f+dirty | 1243.27 ms | 1244.52 ms | 1.25 ms |
| e73d82f5e34d416eca0eb58c76599fb625345e48+dirty | 1207.52 ms | 1216.73 ms | 9.21 ms |
| d7401ac44acf524fe4d9a6a525f2cc13c70ce9e5+dirty | 1252.38 ms | 1275.04 ms | 22.66 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| e5c9b8b6d5ce209fa4b3a77aa9de65bd590fa727+dirty | 2.36 MiB | 2.87 MiB | 520.43 KiB |
| 0db0c729a4ac7c205a44cb4702fa7ba5b0bc03c0+dirty | 2.36 MiB | 2.84 MiB | 487.01 KiB |
| 76d1bafa51ac0d20b127bc97b0f45201263636c3+dirty | 2.36 MiB | 2.82 MiB | 469.45 KiB |
| 1c653243e2e4fd64d6c98a843b9aeccf235ba198+dirty | 2.36 MiB | 3.04 MiB | 698.64 KiB |
| e2b64fed057d4b01cf7ad79eb19eb3c8b8002a82+dirty | 2.36 MiB | 2.85 MiB | 495.80 KiB |
| 8900e1acdc5e3dcbb40938d4ba5c2abad4cc86a4+dirty | 2.36 MiB | 2.83 MiB | 479.25 KiB |
| 5571a202e0c1fa9393e62c66ebd908444fee9c6e+dirty | 2.36 MiB | 2.92 MiB | 569.93 KiB |
| e73f4eddcecda26c0380795bce5ba97e1f11b91f+dirty | 2.36 MiB | 2.82 MiB | 469.44 KiB |
| e73d82f5e34d416eca0eb58c76599fb625345e48+dirty | 2.36 MiB | 3.08 MiB | 734.23 KiB |
| d7401ac44acf524fe4d9a6a525f2cc13c70ce9e5+dirty | 2.36 MiB | 2.83 MiB | 481.14 KiB |
Previous results on branch: v6
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 3524c9420ab834088645c4ddb51d49555625393a+dirty | 1232.23 ms | 1234.77 ms | 2.54 ms |
| 2d6b4a9ef6cac1e977a3069003bc780251dda89f+dirty | 1219.80 ms | 1229.06 ms | 9.26 ms |
| 170d40eb3bee9fb15fd028910a8e5195a4a55d08+dirty | 1232.12 ms | 1228.04 ms | -4.08 ms |
| f77a902200adbafd5a65ba16d4e1f41cde95f0ba+dirty | 1227.09 ms | 1226.74 ms | -0.35 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 3524c9420ab834088645c4ddb51d49555625393a+dirty | 2.36 MiB | 3.08 MiB | 733.61 KiB |
| 2d6b4a9ef6cac1e977a3069003bc780251dda89f+dirty | 2.36 MiB | 3.08 MiB | 733.23 KiB |
| 170d40eb3bee9fb15fd028910a8e5195a4a55d08+dirty | 2.36 MiB | 3.08 MiB | 733.66 KiB |
| f77a902200adbafd5a65ba16d4e1f41cde95f0ba+dirty | 2.36 MiB | 3.08 MiB | 733.32 KiB |
iOS (new) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 1235.27 ms | 1231.29 ms | -3.97 ms |
| Size | 2.92 MiB | 3.64 MiB | 744.15 KiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| e5c9b8b6d5ce209fa4b3a77aa9de65bd590fa727+dirty | 1276.90 ms | 1280.92 ms | 4.02 ms |
| 0db0c729a4ac7c205a44cb4702fa7ba5b0bc03c0+dirty | 1258.88 ms | 1262.52 ms | 3.64 ms |
| 76d1bafa51ac0d20b127bc97b0f45201263636c3+dirty | 1245.00 ms | 1257.76 ms | 12.76 ms |
| 1c653243e2e4fd64d6c98a843b9aeccf235ba198+dirty | 1239.71 ms | 1239.86 ms | 0.15 ms |
| e2b64fed057d4b01cf7ad79eb19eb3c8b8002a82+dirty | 1285.78 ms | 1297.56 ms | 11.78 ms |
| 8900e1acdc5e3dcbb40938d4ba5c2abad4cc86a4+dirty | 1268.36 ms | 1273.04 ms | 4.68 ms |
| 5571a202e0c1fa9393e62c66ebd908444fee9c6e+dirty | 1228.09 ms | 1233.45 ms | 5.36 ms |
| e73f4eddcecda26c0380795bce5ba97e1f11b91f+dirty | 1282.90 ms | 1309.30 ms | 26.40 ms |
| e73d82f5e34d416eca0eb58c76599fb625345e48+dirty | 1231.20 ms | 1228.81 ms | -2.40 ms |
| d7401ac44acf524fe4d9a6a525f2cc13c70ce9e5+dirty | 1288.10 ms | 1289.54 ms | 1.44 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| e5c9b8b6d5ce209fa4b3a77aa9de65bd590fa727+dirty | 2.92 MiB | 3.43 MiB | 524.50 KiB |
| 0db0c729a4ac7c205a44cb4702fa7ba5b0bc03c0+dirty | 2.92 MiB | 3.40 MiB | 492.71 KiB |
| 76d1bafa51ac0d20b127bc97b0f45201263636c3+dirty | 2.92 MiB | 3.38 MiB | 475.74 KiB |
| 1c653243e2e4fd64d6c98a843b9aeccf235ba198+dirty | 2.92 MiB | 3.61 MiB | 705.56 KiB |
| e2b64fed057d4b01cf7ad79eb19eb3c8b8002a82+dirty | 2.92 MiB | 3.41 MiB | 499.97 KiB |
| 8900e1acdc5e3dcbb40938d4ba5c2abad4cc86a4+dirty | 2.92 MiB | 3.39 MiB | 485.96 KiB |
| 5571a202e0c1fa9393e62c66ebd908444fee9c6e+dirty | 2.92 MiB | 3.48 MiB | 575.54 KiB |
| e73f4eddcecda26c0380795bce5ba97e1f11b91f+dirty | 2.92 MiB | 3.38 MiB | 475.71 KiB |
| e73d82f5e34d416eca0eb58c76599fb625345e48+dirty | 2.92 MiB | 3.64 MiB | 740.56 KiB |
| d7401ac44acf524fe4d9a6a525f2cc13c70ce9e5+dirty | 2.92 MiB | 3.40 MiB | 488.06 KiB |
Previous results on branch: v6
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 3524c9420ab834088645c4ddb51d49555625393a+dirty | 1230.96 ms | 1241.08 ms | 10.12 ms |
| 2d6b4a9ef6cac1e977a3069003bc780251dda89f+dirty | 1236.09 ms | 1234.84 ms | -1.24 ms |
| 170d40eb3bee9fb15fd028910a8e5195a4a55d08+dirty | 1231.92 ms | 1226.92 ms | -5.00 ms |
| f77a902200adbafd5a65ba16d4e1f41cde95f0ba+dirty | 1223.83 ms | 1227.98 ms | 4.15 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 3524c9420ab834088645c4ddb51d49555625393a+dirty | 2.92 MiB | 3.64 MiB | 739.83 KiB |
| 2d6b4a9ef6cac1e977a3069003bc780251dda89f+dirty | 2.92 MiB | 3.64 MiB | 739.48 KiB |
| 170d40eb3bee9fb15fd028910a8e5195a4a55d08+dirty | 2.92 MiB | 3.64 MiB | 739.87 KiB |
| f77a902200adbafd5a65ba16d4e1f41cde95f0ba+dirty | 2.92 MiB | 3.64 MiB | 739.16 KiB |
Android (new) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 418.40 ms | 450.74 ms | 32.34 ms |
| Size | 7.15 MiB | 8.35 MiB | 1.20 MiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 700cbf4afb71e75ce0939b98522893b4ae61d70b+dirty | 411.71 ms | 485.52 ms | 73.81 ms |
| acadc0f974a0c234a3d9010117b076792d14d6e8+dirty | 259.04 ms | 304.67 ms | 45.63 ms |
| e5c9b8b6d5ce209fa4b3a77aa9de65bd590fa727+dirty | 335.40 ms | 360.06 ms | 24.67 ms |
| 728164bd341a3b0e14876d86101c4bcca5b1f1ed+dirty | 335.93 ms | 342.94 ms | 7.01 ms |
| abb7058e207628f7d3e5ebee6c410c2cf6c361f4+dirty | 320.78 ms | 324.08 ms | 3.30 ms |
| 27ef4ee6faa6d5229b16fca7b728ca6b689ab916+dirty | 296.71 ms | 351.00 ms | 54.29 ms |
| 22e31b6ad7bd629bf078367aee82121c08977ded+dirty | 295.75 ms | 346.73 ms | 50.98 ms |
| 9c48b2c9eb6422d8d51fcf56b1b4ab7841d2ec8a+dirty | 270.82 ms | 321.12 ms | 50.30 ms |
| 15c80abcaf3bedf5d6f15c0eebefc9e7c1524da1+dirty | 276.38 ms | 327.54 ms | 51.17 ms |
| 1d86dd6360b3a0207437816b46e13d91fdeaf4aa+dirty | 335.76 ms | 371.22 ms | 35.46 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 700cbf4afb71e75ce0939b98522893b4ae61d70b+dirty | 7.15 MiB | 8.34 MiB | 1.19 MiB |
| acadc0f974a0c234a3d9010117b076792d14d6e8+dirty | 7.15 MiB | 8.03 MiB | 903.20 KiB |
| e5c9b8b6d5ce209fa4b3a77aa9de65bd590fa727+dirty | 7.15 MiB | 8.10 MiB | 980.41 KiB |
| 728164bd341a3b0e14876d86101c4bcca5b1f1ed+dirty | 7.15 MiB | 8.12 MiB | 997.71 KiB |
| abb7058e207628f7d3e5ebee6c410c2cf6c361f4+dirty | 7.15 MiB | 8.10 MiB | 980.40 KiB |
| 27ef4ee6faa6d5229b16fca7b728ca6b689ab916+dirty | 7.15 MiB | 8.08 MiB | 959.49 KiB |
| 22e31b6ad7bd629bf078367aee82121c08977ded+dirty | 7.15 MiB | 8.10 MiB | 981.29 KiB |
| 9c48b2c9eb6422d8d51fcf56b1b4ab7841d2ec8a+dirty | 7.15 MiB | 8.07 MiB | 947.16 KiB |
| 15c80abcaf3bedf5d6f15c0eebefc9e7c1524da1+dirty | 7.15 MiB | 8.09 MiB | 966.13 KiB |
| 1d86dd6360b3a0207437816b46e13d91fdeaf4aa+dirty | 7.15 MiB | 8.13 MiB | 1002.18 KiB |
Previous results on branch: v6
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| f77a902200adbafd5a65ba16d4e1f41cde95f0ba+dirty | 478.49 ms | 516.40 ms | 37.91 ms |
| 170d40eb3bee9fb15fd028910a8e5195a4a55d08+dirty | 430.70 ms | 475.38 ms | 44.68 ms |
| 3524c9420ab834088645c4ddb51d49555625393a+dirty | 389.06 ms | 435.58 ms | 46.52 ms |
| 2d6b4a9ef6cac1e977a3069003bc780251dda89f+dirty | 460.27 ms | 519.66 ms | 59.39 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| f77a902200adbafd5a65ba16d4e1f41cde95f0ba+dirty | 7.15 MiB | 8.34 MiB | 1.19 MiB |
| 170d40eb3bee9fb15fd028910a8e5195a4a55d08+dirty | 7.15 MiB | 8.34 MiB | 1.19 MiB |
| 3524c9420ab834088645c4ddb51d49555625393a+dirty | 7.15 MiB | 8.34 MiB | 1.19 MiB |
| 2d6b4a9ef6cac1e977a3069003bc780251dda89f+dirty | 7.15 MiB | 8.34 MiB | 1.19 MiB |
TODOs:
- [] Add parentSpanIsAlwaysRootSpan https://github.com/getsentry/sentry-javascript/blob/d265d927ee87d5c50fdebc62da926ddea3c95912/packages/browser/src/client.ts#L57
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [ ] scripts/sentry-xcode-debug-files.sh
- [ ] scripts/sentry-xcode.sh
- [ ] sentry.gradle
- [ ] src/js/NativeRNSentry.ts
- [ ] src/js/touchevents.tsx
- [ ] src/js/utils/rnlibraries.ts
- [ ] src/js/utils/rnlibrariesinterface.ts
- [ ] src/js/vendor/react-native/index.ts
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [ ] scripts/sentry-xcode-debug-files.sh
- [ ] scripts/sentry-xcode.sh
- [ ] sentry.gradle
- [ ] src/js/NativeRNSentry.ts
- [ ] src/js/touchevents.tsx
- [ ] src/js/utils/rnlibraries.ts
- [ ] src/js/utils/rnlibrariesinterface.ts
- [ ] src/js/vendor/react-native/index.ts
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [ ] scripts/sentry-xcode-debug-files.sh
- [ ] scripts/sentry-xcode.sh
- [ ] sentry.gradle
- [ ] src/js/NativeRNSentry.ts
- [ ] src/js/touchevents.tsx
- [ ] src/js/utils/rnlibraries.ts
- [ ] src/js/utils/rnlibrariesinterface.ts
- [ ] src/js/vendor/react-native/index.ts
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [ ] scripts/sentry-xcode-debug-files.sh
- [ ] scripts/sentry-xcode.sh
- [ ] sentry.gradle
- [ ] src/js/NativeRNSentry.ts
- [ ] src/js/touchevents.tsx
- [ ] src/js/utils/rnlibraries.ts
- [ ] src/js/utils/rnlibrariesinterface.ts
- [ ] src/js/vendor/react-native/index.ts
Should we wait for https://github.com/getsentry/sentry-react-native/pull/4155 before merging?
Should we wait for https://github.com/getsentry/sentry-react-native/pull/4155 before merging?
We can merge V6 before, it's not blocking, #4155 will automatically change target to main.
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [ ] scripts/sentry-xcode-debug-files.sh
- [ ] scripts/sentry-xcode.sh
- [ ] sentry.gradle
- [ ] src/js/NativeRNSentry.ts
- [ ] src/js/touchevents.tsx
- [ ] src/js/utils/rnlibraries.ts
- [ ] src/js/utils/rnlibrariesinterface.ts
- [ ] src/js/vendor/react-native/index.ts
@lucas-zimerman I was about to remove the debug keystores for the perf. But I checked the git history and looks like they were kept intentionally https://github.com/getsentry/sentry-react-native/commit/de7da0405e8dbfeac4620715b6ddc8bd23730a34#diff-7565b850098ef1f67f8497d19130712470bada9d5cbf9b6c669cab1954d4bc65R44
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [ ] scripts/sentry-xcode-debug-files.sh
- [ ] scripts/sentry-xcode.sh
- [ ] sentry.gradle
- [ ] src/js/NativeRNSentry.ts
- [ ] src/js/touchevents.tsx
- [ ] src/js/utils/rnlibraries.ts
- [ ] src/js/utils/rnlibrariesinterface.ts
- [ ] src/js/vendor/react-native/index.ts