feat: Capture app start errors before JS
Create merge commit. Do not squash.
This PR contains reviewed intermediate commits for capturing error before JS start feature.
#skip-changelog
| Messages | |
|---|---|
| :book: | Do not forget to update Sentry-docs with your feature once the pull request gets approved. |
Generated by :no_entry_sign: dangerJS against 588ba6dd855ad2afc04c52c3bb79b986deacfa68
Android (new) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 413.23 ms | 425.62 ms | 12.39 ms |
| Size | 7.15 MiB | 8.42 MiB | 1.27 MiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| f2c6fa59fe513a080e8f60f4a98ac1893239084a+dirty | 435.84 ms | 433.84 ms | -2.00 ms |
| ec2a485c7a5c6e236205545de48cc3ca09cad803+dirty | 397.67 ms | 390.91 ms | -6.76 ms |
| df5da5d284c27f13ff80d4c768a30889919072e3+dirty | 415.54 ms | 456.96 ms | 41.42 ms |
| 7d3c3cbb3ac2afeaa1306c36c7f6ed6b5b87fd02+dirty | 395.20 ms | 413.24 ms | 18.04 ms |
| 0e42017ff6f154ae24dc57366b65f48d9dfb9f16+dirty | 387.33 ms | 399.30 ms | 11.97 ms |
| 940bd65839926e7ae9e8b8b3d8d9785cbf3009bd+dirty | 408.45 ms | 419.75 ms | 11.30 ms |
| b4d6bdebcc77aab0bbfc10483d77eab420d3707b+dirty | 390.51 ms | 385.60 ms | -4.91 ms |
| 6e8a85144bc0b83c20a8bd5e667d4446acc44dd6+dirty | 403.44 ms | 430.87 ms | 27.43 ms |
| 1f1c42023bca1bcda0b9e5028131d627abb85aef+dirty | 383.31 ms | 386.98 ms | 3.67 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| f2c6fa59fe513a080e8f60f4a98ac1893239084a+dirty | 7.15 MiB | 8.42 MiB | 1.26 MiB |
| ec2a485c7a5c6e236205545de48cc3ca09cad803+dirty | 7.15 MiB | 8.42 MiB | 1.26 MiB |
| df5da5d284c27f13ff80d4c768a30889919072e3+dirty | 7.15 MiB | 8.42 MiB | 1.26 MiB |
| 7d3c3cbb3ac2afeaa1306c36c7f6ed6b5b87fd02+dirty | 7.15 MiB | 8.42 MiB | 1.26 MiB |
| 0e42017ff6f154ae24dc57366b65f48d9dfb9f16+dirty | 7.15 MiB | 8.42 MiB | 1.26 MiB |
| 940bd65839926e7ae9e8b8b3d8d9785cbf3009bd+dirty | 7.15 MiB | 8.42 MiB | 1.26 MiB |
| b4d6bdebcc77aab0bbfc10483d77eab420d3707b+dirty | 7.15 MiB | 8.42 MiB | 1.26 MiB |
| 6e8a85144bc0b83c20a8bd5e667d4446acc44dd6+dirty | 7.15 MiB | 8.42 MiB | 1.26 MiB |
| 1f1c42023bca1bcda0b9e5028131d627abb85aef+dirty | 7.15 MiB | 8.42 MiB | 1.26 MiB |
Previous results on branch: capture-app-start-errors
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 482b3fb55090b05d9dbf5ee7ebd6791a6ac236d5+dirty | 439.70 ms | 450.42 ms | 10.72 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 482b3fb55090b05d9dbf5ee7ebd6791a6ac236d5+dirty | 7.15 MiB | 8.42 MiB | 1.27 MiB |
iOS (legacy) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 1233.45 ms | 1235.24 ms | 1.80 ms |
| Size | 2.63 MiB | 3.78 MiB | 1.15 MiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 7d3c3cbb3ac2afeaa1306c36c7f6ed6b5b87fd02+dirty | 1226.39 ms | 1227.10 ms | 0.71 ms |
| 0e42017ff6f154ae24dc57366b65f48d9dfb9f16+dirty | 1225.89 ms | 1231.63 ms | 5.74 ms |
| ec2a485c7a5c6e236205545de48cc3ca09cad803+dirty | 1219.72 ms | 1224.66 ms | 4.94 ms |
| f2c6fa59fe513a080e8f60f4a98ac1893239084a+dirty | 1230.27 ms | 1236.20 ms | 5.93 ms |
| df5da5d284c27f13ff80d4c768a30889919072e3+dirty | 1235.98 ms | 1243.41 ms | 7.43 ms |
| 6e8a85144bc0b83c20a8bd5e667d4446acc44dd6+dirty | 1227.96 ms | 1235.61 ms | 7.65 ms |
| 1f1c42023bca1bcda0b9e5028131d627abb85aef+dirty | 1216.77 ms | 1214.48 ms | -2.29 ms |
| b4d6bdebcc77aab0bbfc10483d77eab420d3707b+dirty | 1223.22 ms | 1243.56 ms | 20.34 ms |
| 940bd65839926e7ae9e8b8b3d8d9785cbf3009bd+dirty | 1216.88 ms | 1225.23 ms | 8.35 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 7d3c3cbb3ac2afeaa1306c36c7f6ed6b5b87fd02+dirty | 2.63 MiB | 3.78 MiB | 1.15 MiB |
| 0e42017ff6f154ae24dc57366b65f48d9dfb9f16+dirty | 2.63 MiB | 3.78 MiB | 1.15 MiB |
| ec2a485c7a5c6e236205545de48cc3ca09cad803+dirty | 2.63 MiB | 3.78 MiB | 1.15 MiB |
| f2c6fa59fe513a080e8f60f4a98ac1893239084a+dirty | 2.63 MiB | 3.78 MiB | 1.15 MiB |
| df5da5d284c27f13ff80d4c768a30889919072e3+dirty | 2.63 MiB | 3.78 MiB | 1.15 MiB |
| 6e8a85144bc0b83c20a8bd5e667d4446acc44dd6+dirty | 2.63 MiB | 3.78 MiB | 1.15 MiB |
| 1f1c42023bca1bcda0b9e5028131d627abb85aef+dirty | 2.63 MiB | 3.77 MiB | 1.14 MiB |
| b4d6bdebcc77aab0bbfc10483d77eab420d3707b+dirty | 2.63 MiB | 3.77 MiB | 1.14 MiB |
| 940bd65839926e7ae9e8b8b3d8d9785cbf3009bd+dirty | 2.63 MiB | 3.78 MiB | 1.15 MiB |
Previous results on branch: capture-app-start-errors
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 482b3fb55090b05d9dbf5ee7ebd6791a6ac236d5+dirty | 1212.04 ms | 1221.96 ms | 9.92 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 482b3fb55090b05d9dbf5ee7ebd6791a6ac236d5+dirty | 2.63 MiB | 3.78 MiB | 1.15 MiB |
iOS (new) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 1222.37 ms | 1230.82 ms | 8.45 ms |
| Size | 3.19 MiB | 4.35 MiB | 1.17 MiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 7d3c3cbb3ac2afeaa1306c36c7f6ed6b5b87fd02+dirty | 1214.56 ms | 1234.53 ms | 19.97 ms |
| 0e42017ff6f154ae24dc57366b65f48d9dfb9f16+dirty | 1235.77 ms | 1247.43 ms | 11.66 ms |
| ec2a485c7a5c6e236205545de48cc3ca09cad803+dirty | 1209.65 ms | 1229.18 ms | 19.53 ms |
| f2c6fa59fe513a080e8f60f4a98ac1893239084a+dirty | 1223.47 ms | 1227.37 ms | 3.90 ms |
| df5da5d284c27f13ff80d4c768a30889919072e3+dirty | 1226.82 ms | 1234.88 ms | 8.06 ms |
| 6e8a85144bc0b83c20a8bd5e667d4446acc44dd6+dirty | 1222.57 ms | 1223.67 ms | 1.10 ms |
| 1f1c42023bca1bcda0b9e5028131d627abb85aef+dirty | 1238.06 ms | 1234.04 ms | -4.02 ms |
| b4d6bdebcc77aab0bbfc10483d77eab420d3707b+dirty | 1218.73 ms | 1223.26 ms | 4.53 ms |
| 940bd65839926e7ae9e8b8b3d8d9785cbf3009bd+dirty | 1224.39 ms | 1215.57 ms | -8.82 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 7d3c3cbb3ac2afeaa1306c36c7f6ed6b5b87fd02+dirty | 3.19 MiB | 4.35 MiB | 1.16 MiB |
| 0e42017ff6f154ae24dc57366b65f48d9dfb9f16+dirty | 3.19 MiB | 4.35 MiB | 1.16 MiB |
| ec2a485c7a5c6e236205545de48cc3ca09cad803+dirty | 3.19 MiB | 4.35 MiB | 1.17 MiB |
| f2c6fa59fe513a080e8f60f4a98ac1893239084a+dirty | 3.19 MiB | 4.35 MiB | 1.17 MiB |
| df5da5d284c27f13ff80d4c768a30889919072e3+dirty | 3.19 MiB | 4.35 MiB | 1.17 MiB |
| 6e8a85144bc0b83c20a8bd5e667d4446acc44dd6+dirty | 3.19 MiB | 4.35 MiB | 1.17 MiB |
| 1f1c42023bca1bcda0b9e5028131d627abb85aef+dirty | 3.19 MiB | 4.34 MiB | 1.16 MiB |
| b4d6bdebcc77aab0bbfc10483d77eab420d3707b+dirty | 3.19 MiB | 4.34 MiB | 1.16 MiB |
| 940bd65839926e7ae9e8b8b3d8d9785cbf3009bd+dirty | 3.19 MiB | 4.35 MiB | 1.16 MiB |
Previous results on branch: capture-app-start-errors
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 482b3fb55090b05d9dbf5ee7ebd6791a6ac236d5+dirty | 1226.96 ms | 1226.39 ms | -0.57 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 482b3fb55090b05d9dbf5ee7ebd6791a6ac236d5+dirty | 3.19 MiB | 4.35 MiB | 1.17 MiB |
Android (legacy) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 415.49 ms | 423.15 ms | 7.66 ms |
| Size | 17.75 MiB | 20.15 MiB | 2.40 MiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| f2c6fa59fe513a080e8f60f4a98ac1893239084a | 445.15 ms | 449.13 ms | 3.98 ms |
| 1f1c42023bca1bcda0b9e5028131d627abb85aef | 403.32 ms | 411.98 ms | 8.66 ms |
| df5da5d284c27f13ff80d4c768a30889919072e3 | 425.55 ms | 432.96 ms | 7.41 ms |
| b4d6bdebcc77aab0bbfc10483d77eab420d3707b | 425.51 ms | 417.37 ms | -8.14 ms |
| 52d9c3fd55b7ab19168e3accba26bcbab7510402 | 481.48 ms | 468.53 ms | -12.95 ms |
| ec2a485c7a5c6e236205545de48cc3ca09cad803 | 450.84 ms | 447.49 ms | -3.35 ms |
| 940bd65839926e7ae9e8b8b3d8d9785cbf3009bd | 466.31 ms | 458.52 ms | -7.79 ms |
| 6e8a85144bc0b83c20a8bd5e667d4446acc44dd6 | 425.59 ms | 433.51 ms | 7.92 ms |
| 7d3c3cbb3ac2afeaa1306c36c7f6ed6b5b87fd02 | 444.85 ms | 456.65 ms | 11.81 ms |
| 0e42017ff6f154ae24dc57366b65f48d9dfb9f16 | 402.23 ms | 415.04 ms | 12.81 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| f2c6fa59fe513a080e8f60f4a98ac1893239084a | 17.75 MiB | 20.15 MiB | 2.40 MiB |
| 1f1c42023bca1bcda0b9e5028131d627abb85aef | 17.75 MiB | 20.15 MiB | 2.40 MiB |
| df5da5d284c27f13ff80d4c768a30889919072e3 | 17.75 MiB | 20.15 MiB | 2.40 MiB |
| b4d6bdebcc77aab0bbfc10483d77eab420d3707b | 17.75 MiB | 20.15 MiB | 2.40 MiB |
| 52d9c3fd55b7ab19168e3accba26bcbab7510402 | 17.75 MiB | 20.15 MiB | 2.40 MiB |
| ec2a485c7a5c6e236205545de48cc3ca09cad803 | 17.75 MiB | 20.15 MiB | 2.40 MiB |
| 940bd65839926e7ae9e8b8b3d8d9785cbf3009bd | 17.75 MiB | 20.15 MiB | 2.40 MiB |
| 6e8a85144bc0b83c20a8bd5e667d4446acc44dd6 | 17.75 MiB | 20.15 MiB | 2.40 MiB |
| 7d3c3cbb3ac2afeaa1306c36c7f6ed6b5b87fd02 | 17.75 MiB | 20.15 MiB | 2.40 MiB |
| 0e42017ff6f154ae24dc57366b65f48d9dfb9f16 | 17.75 MiB | 20.15 MiB | 2.40 MiB |
Previous results on branch: capture-app-start-errors
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 482b3fb55090b05d9dbf5ee7ebd6791a6ac236d5 | 444.98 ms | 464.39 ms | 19.41 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 482b3fb55090b05d9dbf5ee7ebd6791a6ac236d5 | 17.75 MiB | 20.15 MiB | 2.40 MiB |
Main branch contains Maestro E2E tests for the sample app transactions. This feature branch contains Detox tests.
The reason for Maestro VS Detox were due to issues with warm/cold app start detection when using Detox as the app was always started in background.
After the https://github.com/getsentry/sentry-react-native/pull/4472/commits/c6dc90c07945ecd883057261c4e06d891b9ccd47 merge of the main branch there are e2e test containing Maestro and e2e-detox. The goal is to move the detox test to Maestro in the next pr/commit.