feat: network image replay breadcrumb
:loudspeaker: Type of change
- [ ] Bugfix
- [ ] New feature
- [x] Enhancement
- [ ] Refactoring
:scroll: Description
The breadcrumb is currently missing for network images. This is what is available in the native breadcrumb:
:bulb: Motivation and Context
:green_heart: How did you test it?
:pencil: Checklist
- [ ] I reviewed submitted code
- [ ] I added tests to verify changes
- [ ] No new PII added or SDK only sends newly added PII if
sendDefaultPIIis enabled - [ ] All tests passing
- [ ] No breaking changes
:crystal_ball: Next steps
| Fails | |
|---|---|
| :no_entry_sign: | Please consider adding a changelog entry for the next release. |
| Messages | |
|---|---|
| :book: | Do not forget to update Sentry-docs with your feature once the pull request gets approved. |
Instructions and example for changelog
Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.
Example:
## Unreleased
- network image replay breadcrumb ([#3933](https://github.com/getsentry/sentry-react-native/pull/3933))
If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.
Generated by :no_entry_sign: dangerJS against d0671c9ed163c393e2e5007462796642586cdd08
Android (legacy) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 504.60 ms | 549.24 ms | 44.64 ms |
| Size | 17.73 MiB | 20.04 MiB | 2.30 MiB |
Baseline results on branch: feat/replay
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 063bfcee71b276ada63ad5e92c21b6ad648543fe | 469.96 ms | 516.38 ms | 46.42 ms |
| 41db11d8196b65bca2dd47a43699f03809c383de | 429.33 ms | 451.24 ms | 21.91 ms |
| 376301c0b4714309405998099f97f661f10e8375 | 445.52 ms | 474.70 ms | 29.18 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 063bfcee71b276ada63ad5e92c21b6ad648543fe | 17.73 MiB | 20.04 MiB | 2.30 MiB |
| 41db11d8196b65bca2dd47a43699f03809c383de | 17.73 MiB | 20.04 MiB | 2.30 MiB |
| 376301c0b4714309405998099f97f661f10e8375 | 17.73 MiB | 20.04 MiB | 2.30 MiB |
iOS (new) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 1236.02 ms | 1241.67 ms | 5.65 ms |
| Size | 2.92 MiB | 3.61 MiB | 710.22 KiB |
Baseline results on branch: feat/replay
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 063bfcee71b276ada63ad5e92c21b6ad648543fe+dirty | 1225.38 ms | 1218.06 ms | -7.31 ms |
| 41db11d8196b65bca2dd47a43699f03809c383de+dirty | 1208.60 ms | 1210.47 ms | 1.87 ms |
| 376301c0b4714309405998099f97f661f10e8375+dirty | 1224.74 ms | 1227.00 ms | 2.26 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 063bfcee71b276ada63ad5e92c21b6ad648543fe+dirty | 2.92 MiB | 3.61 MiB | 710.22 KiB |
| 41db11d8196b65bca2dd47a43699f03809c383de+dirty | 2.92 MiB | 3.61 MiB | 705.84 KiB |
| 376301c0b4714309405998099f97f661f10e8375+dirty | 2.92 MiB | 3.61 MiB | 709.95 KiB |
Android (new) Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 365.72 ms | 411.16 ms | 45.44 ms |
| Size | 7.15 MiB | 8.31 MiB | 1.17 MiB |
Baseline results on branch: feat/replay
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 376301c0b4714309405998099f97f661f10e8375+dirty | 353.80 ms | 388.54 ms | 34.74 ms |
| 41db11d8196b65bca2dd47a43699f03809c383de+dirty | 374.57 ms | 415.25 ms | 40.68 ms |
| 063bfcee71b276ada63ad5e92c21b6ad648543fe+dirty | 338.00 ms | 369.88 ms | 31.88 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 376301c0b4714309405998099f97f661f10e8375+dirty | 7.15 MiB | 8.31 MiB | 1.17 MiB |
| 41db11d8196b65bca2dd47a43699f03809c383de+dirty | 7.15 MiB | 8.31 MiB | 1.16 MiB |
| 063bfcee71b276ada63ad5e92c21b6ad648543fe+dirty | 7.15 MiB | 8.31 MiB | 1.17 MiB |
Is the situation the same on Android? I know RN uses OkHttp, but I'm not sure if our bytecode manipulation picks it up automatically.
Is the situation the same on Android?
on Android, there are no native request breadcrumbs available for network images - I've checked with the debugger.
I think we can close this for now, as stale.