Fix: Symbolicate `error.cause ` on debug builds
:loudspeaker: Type of change
- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
:scroll: Description
we were limited to only parse the stack-trace of the original error, with this change, we will parse the error and the cause of it.
:bulb: Motivation and Context
Close: #2118
The changes were made using in regard to what Sentry JavaScript currently support (an error with a cause error, anything else is discarded by the SDK so I limited the scope to only parse the original error and the cause of the original error)
:green_heart: How did you test it?
Unit test, and also with an app:
Before: https://sentry-sdks.sentry.io/issues/5546274920/
After: https://sentry-sdks.sentry.io/issues/5548578775/
:pencil: Checklist
- [x] I reviewed submitted code
- [x] I added tests to verify changes
- [x] No new PII added or SDK only sends newly added PII if
sendDefaultPIIis enabled - [x] All tests passing
- [ ] No breaking changes
:crystal_ball: Next steps
Android (legacy) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 434.77 ms | 467.16 ms | 32.39 ms |
| Size | 17.73 MiB | 19.95 MiB | 2.21 MiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 62a750bd050f26dbf2553deb01e3f453f272de2c | 395.96 ms | 423.36 ms | 27.41 ms |
| 8900e1acdc5e3dcbb40938d4ba5c2abad4cc86a4+dirty | 430.68 ms | 456.13 ms | 25.44 ms |
| 70e6261eb7fdf57e3aba1f72d12c3eb518bcad99 | 482.65 ms | 495.70 ms | 13.05 ms |
| abb7058e207628f7d3e5ebee6c410c2cf6c361f4 | 370.27 ms | 389.58 ms | 19.31 ms |
| 544699261cd72e3efc1259ba66b138f5f70a05ed | 403.40 ms | 426.70 ms | 23.30 ms |
| 80b2ce3d0ebe86bf1196944a2036912f6670295c | 385.02 ms | 387.36 ms | 2.34 ms |
| 3853f4362ec819042552ffa9ed30e8f6627e60bf | 329.68 ms | 346.32 ms | 16.64 ms |
| 728164bd341a3b0e14876d86101c4bcca5b1f1ed | 414.34 ms | 449.22 ms | 34.88 ms |
| 31fcca2b37834863733f6f21677efb4b7a490aa8 | 391.22 ms | 414.78 ms | 23.56 ms |
| acadc0f974a0c234a3d9010117b076792d14d6e8+dirty | 373.24 ms | 381.51 ms | 8.27 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 62a750bd050f26dbf2553deb01e3f453f272de2c | 17.73 MiB | 19.93 MiB | 2.20 MiB |
| 8900e1acdc5e3dcbb40938d4ba5c2abad4cc86a4+dirty | 17.73 MiB | 19.75 MiB | 2.01 MiB |
| 70e6261eb7fdf57e3aba1f72d12c3eb518bcad99 | 17.73 MiB | 19.94 MiB | 2.21 MiB |
| abb7058e207628f7d3e5ebee6c410c2cf6c361f4 | 17.73 MiB | 19.83 MiB | 2.10 MiB |
| 544699261cd72e3efc1259ba66b138f5f70a05ed | 17.73 MiB | 19.85 MiB | 2.12 MiB |
| 80b2ce3d0ebe86bf1196944a2036912f6670295c | 17.73 MiB | 19.75 MiB | 2.02 MiB |
| 3853f4362ec819042552ffa9ed30e8f6627e60bf | 17.73 MiB | 19.81 MiB | 2.08 MiB |
| 728164bd341a3b0e14876d86101c4bcca5b1f1ed | 17.73 MiB | 19.85 MiB | 2.12 MiB |
| 31fcca2b37834863733f6f21677efb4b7a490aa8 | 17.73 MiB | 19.90 MiB | 2.17 MiB |
| acadc0f974a0c234a3d9010117b076792d14d6e8+dirty | 17.73 MiB | 19.75 MiB | 2.01 MiB |
Previous results on branch: fix/nested-exception
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 2e61619c06cb5d568653057a837a6810ddf4a27b | 460.33 ms | 488.52 ms | 28.20 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 2e61619c06cb5d568653057a837a6810ddf4a27b | 17.73 MiB | 19.94 MiB | 2.21 MiB |
Android (new) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 367.51 ms | 389.33 ms | 21.82 ms |
| Size | 7.15 MiB | 8.22 MiB | 1.07 MiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 575f9da84059fc88110565adb1ffc0751799bcf4+dirty | 337.15 ms | 370.47 ms | 33.32 ms |
| 9c48b2c9eb6422d8d51fcf56b1b4ab7841d2ec8a+dirty | 270.82 ms | 321.12 ms | 50.30 ms |
| 544699261cd72e3efc1259ba66b138f5f70a05ed+dirty | 371.61 ms | 390.00 ms | 18.39 ms |
| 86d6d2c81bc42209de70f7f3b97a1fbbde04025f+dirty | 267.21 ms | 325.24 ms | 58.04 ms |
| 15c80abcaf3bedf5d6f15c0eebefc9e7c1524da1+dirty | 276.38 ms | 327.54 ms | 51.17 ms |
| abb7058e207628f7d3e5ebee6c410c2cf6c361f4+dirty | 320.78 ms | 324.08 ms | 3.30 ms |
| 31fcca2b37834863733f6f21677efb4b7a490aa8+dirty | 366.64 ms | 395.78 ms | 29.14 ms |
| 4a6664fa7140687cfa079f2d738b59b18e4ac7b7+dirty | 357.02 ms | 394.91 ms | 37.89 ms |
| d361d3886b2303280797f653160c781700570edf+dirty | 257.72 ms | 318.76 ms | 61.04 ms |
| 34aba0802bf802288f91fada55c0b133252fe67f+dirty | 331.79 ms | 376.69 ms | 44.91 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 575f9da84059fc88110565adb1ffc0751799bcf4+dirty | 7.15 MiB | 8.10 MiB | 979.68 KiB |
| 9c48b2c9eb6422d8d51fcf56b1b4ab7841d2ec8a+dirty | 7.15 MiB | 8.07 MiB | 947.16 KiB |
| 544699261cd72e3efc1259ba66b138f5f70a05ed+dirty | 7.15 MiB | 8.12 MiB | 999.45 KiB |
| 86d6d2c81bc42209de70f7f3b97a1fbbde04025f+dirty | 7.15 MiB | 8.09 MiB | 962.69 KiB |
| 15c80abcaf3bedf5d6f15c0eebefc9e7c1524da1+dirty | 7.15 MiB | 8.09 MiB | 966.13 KiB |
| abb7058e207628f7d3e5ebee6c410c2cf6c361f4+dirty | 7.15 MiB | 8.10 MiB | 980.40 KiB |
| 31fcca2b37834863733f6f21677efb4b7a490aa8+dirty | 7.15 MiB | 8.18 MiB | 1.03 MiB |
| 4a6664fa7140687cfa079f2d738b59b18e4ac7b7+dirty | 7.15 MiB | 8.22 MiB | 1.07 MiB |
| d361d3886b2303280797f653160c781700570edf+dirty | 7.15 MiB | 8.08 MiB | 959.34 KiB |
| 34aba0802bf802288f91fada55c0b133252fe67f+dirty | 7.15 MiB | 8.07 MiB | 946.13 KiB |
iOS (legacy) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 1232.49 ms | 1233.12 ms | 0.64 ms |
| Size | 2.36 MiB | 3.04 MiB | 698.65 KiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 9c48b2c9eb6422d8d51fcf56b1b4ab7841d2ec8a+dirty | 1246.96 ms | 1255.73 ms | 8.77 ms |
| 25343377820b65409b646b44bc8e9bc9fbb51c8c+dirty | 1225.08 ms | 1230.26 ms | 5.17 ms |
| 22e31b6ad7bd629bf078367aee82121c08977ded+dirty | 1253.62 ms | 1265.96 ms | 12.34 ms |
| d197b5c9ca10ac3f729d1b3ef805328665aa0895+dirty | 1217.61 ms | 1242.66 ms | 25.05 ms |
| 62a750bd050f26dbf2553deb01e3f453f272de2c+dirty | 1216.60 ms | 1229.14 ms | 12.54 ms |
| 457e29fc08e6edbebee646d095513d72728a5756+dirty | 1253.94 ms | 1269.18 ms | 15.24 ms |
| 70e6261eb7fdf57e3aba1f72d12c3eb518bcad99+dirty | 1220.09 ms | 1230.04 ms | 9.95 ms |
| 12427f44d4b7746c431a369b538ec70ab2993c02+dirty | 1267.15 ms | 1271.30 ms | 4.15 ms |
| 4cc5c276b8e06761211f41601792dfcbfc7dd854+dirty | 1211.45 ms | 1214.60 ms | 3.16 ms |
| 15c80abcaf3bedf5d6f15c0eebefc9e7c1524da1+dirty | 1223.74 ms | 1228.96 ms | 5.22 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 9c48b2c9eb6422d8d51fcf56b1b4ab7841d2ec8a+dirty | 2.36 MiB | 2.85 MiB | 495.77 KiB |
| 25343377820b65409b646b44bc8e9bc9fbb51c8c+dirty | 2.36 MiB | 2.88 MiB | 525.47 KiB |
| 22e31b6ad7bd629bf078367aee82121c08977ded+dirty | 2.36 MiB | 2.87 MiB | 520.67 KiB |
| d197b5c9ca10ac3f729d1b3ef805328665aa0895+dirty | 2.36 MiB | 2.82 MiB | 462.86 KiB |
| 62a750bd050f26dbf2553deb01e3f453f272de2c+dirty | 2.36 MiB | 2.92 MiB | 570.00 KiB |
| 457e29fc08e6edbebee646d095513d72728a5756+dirty | 2.36 MiB | 2.87 MiB | 520.67 KiB |
| 70e6261eb7fdf57e3aba1f72d12c3eb518bcad99+dirty | 2.36 MiB | 3.03 MiB | 680.42 KiB |
| 12427f44d4b7746c431a369b538ec70ab2993c02+dirty | 2.36 MiB | 2.88 MiB | 530.38 KiB |
| 4cc5c276b8e06761211f41601792dfcbfc7dd854+dirty | 2.36 MiB | 3.04 MiB | 698.52 KiB |
| 15c80abcaf3bedf5d6f15c0eebefc9e7c1524da1+dirty | 2.36 MiB | 2.83 MiB | 474.49 KiB |
Previous results on branch: fix/nested-exception
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 2e61619c06cb5d568653057a837a6810ddf4a27b+dirty | 1219.75 ms | 1220.61 ms | 0.86 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 2e61619c06cb5d568653057a837a6810ddf4a27b+dirty | 2.36 MiB | 3.04 MiB | 698.46 KiB |
iOS (new) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 1242.34 ms | 1246.67 ms | 4.33 ms |
| Size | 2.92 MiB | 3.61 MiB | 705.59 KiB |
Baseline results on branch: main
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 9c48b2c9eb6422d8d51fcf56b1b4ab7841d2ec8a+dirty | 1253.39 ms | 1256.30 ms | 2.91 ms |
| 25343377820b65409b646b44bc8e9bc9fbb51c8c+dirty | 1220.87 ms | 1221.47 ms | 0.60 ms |
| 22e31b6ad7bd629bf078367aee82121c08977ded+dirty | 1276.55 ms | 1278.12 ms | 1.57 ms |
| d197b5c9ca10ac3f729d1b3ef805328665aa0895+dirty | 1234.80 ms | 1249.20 ms | 14.40 ms |
| 62a750bd050f26dbf2553deb01e3f453f272de2c+dirty | 1228.12 ms | 1230.53 ms | 2.41 ms |
| 457e29fc08e6edbebee646d095513d72728a5756+dirty | 1256.71 ms | 1258.50 ms | 1.79 ms |
| 70e6261eb7fdf57e3aba1f72d12c3eb518bcad99+dirty | 1224.90 ms | 1231.02 ms | 6.12 ms |
| 12427f44d4b7746c431a369b538ec70ab2993c02+dirty | 1224.90 ms | 1231.40 ms | 6.50 ms |
| 4cc5c276b8e06761211f41601792dfcbfc7dd854+dirty | 1220.43 ms | 1215.13 ms | -5.30 ms |
| 15c80abcaf3bedf5d6f15c0eebefc9e7c1524da1+dirty | 1248.41 ms | 1251.24 ms | 2.83 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 9c48b2c9eb6422d8d51fcf56b1b4ab7841d2ec8a+dirty | 2.92 MiB | 3.41 MiB | 499.97 KiB |
| 25343377820b65409b646b44bc8e9bc9fbb51c8c+dirty | 2.92 MiB | 3.43 MiB | 529.76 KiB |
| 22e31b6ad7bd629bf078367aee82121c08977ded+dirty | 2.92 MiB | 3.43 MiB | 524.74 KiB |
| d197b5c9ca10ac3f729d1b3ef805328665aa0895+dirty | 2.92 MiB | 3.37 MiB | 464.41 KiB |
| 62a750bd050f26dbf2553deb01e3f453f272de2c+dirty | 2.92 MiB | 3.48 MiB | 575.59 KiB |
| 457e29fc08e6edbebee646d095513d72728a5756+dirty | 2.92 MiB | 3.43 MiB | 524.75 KiB |
| 70e6261eb7fdf57e3aba1f72d12c3eb518bcad99+dirty | 2.92 MiB | 3.59 MiB | 686.11 KiB |
| 12427f44d4b7746c431a369b538ec70ab2993c02+dirty | 2.92 MiB | 3.44 MiB | 533.29 KiB |
| 4cc5c276b8e06761211f41601792dfcbfc7dd854+dirty | 2.92 MiB | 3.61 MiB | 705.47 KiB |
| 15c80abcaf3bedf5d6f15c0eebefc9e7c1524da1+dirty | 2.92 MiB | 3.39 MiB | 481.56 KiB |
Previous results on branch: fix/nested-exception
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 2e61619c06cb5d568653057a837a6810ddf4a27b+dirty | 1234.66 ms | 1235.63 ms | 0.97 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 2e61619c06cb5d568653057a837a6810ddf4a27b+dirty | 2.92 MiB | 3.61 MiB | 705.15 KiB |
The lint job is failing, please run yarn fix.