getsentry / sentry-dart

Sentry SDK for Dart and Flutter
https://sentry.io/for/flutter/
MIT License
745 stars 231 forks source link

feat: Replay support for mobile #2208

Closed vaind closed 2 weeks ago

vaind commented 1 month ago

This branch holds a collection of PRs that have already been reviewed and is the base for replay pre-releases before we merge to main. Closes #1193

Previously, there was #2032 but that branch name was android-specific so I've moved it here as is, with no changes other than merging the changelog.

Next, there will be new PRs that will target this branch as a base, including some improvements, addressing feedback from alpha/beta releases as well as full iOS replay support.

github-actions[bot] commented 1 month ago
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

- Replay support for mobile ([#2208](https://github.com/getsentry/sentry-dart/pull/2208))

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 33908ddc702cbc7861b6dd17521c20c948cdca73

codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 88.11881% with 36 lines in your changes missing coverage. Please review.

Project coverage is 88.15%. Comparing base (e0ba81f) to head (33908dd). Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
flutter/lib/src/replay/widget_filter.dart 83.63% 9 Missing :warning:
...lutter/lib/src/native/java/sentry_native_java.dart 85.71% 7 Missing :warning:
...ib/src/event_processor/replay_event_processor.dart 16.66% 5 Missing :warning:
flutter/lib/src/replay/recorder.dart 88.37% 5 Missing :warning:
flutter/lib/src/native/sentry_native_channel.dart 86.66% 4 Missing :warning:
dart/lib/src/protocol/breadcrumb.dart 75.00% 3 Missing :warning:
...tter/lib/src/native/cocoa/sentry_native_cocoa.dart 92.00% 2 Missing :warning:
dart/lib/src/protocol/sentry_trace_context.dart 85.71% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #2208 +/- ## ========================================== - Coverage 88.20% 88.15% -0.06% ========================================== Files 235 242 +7 Lines 8157 8416 +259 ========================================== + Hits 7195 7419 +224 - Misses 962 997 +35 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 1 month ago

iOS Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 1245.73 ms 1265.89 ms 20.16 ms
Size 8.38 MiB 9.72 MiB 1.34 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
0db91ccbfaec953eb629db000f6a6034aa04e2c8 1267.63 ms 1279.69 ms 12.06 ms
9d43f714e4f8a4fdf68e41799b520c6f7d0514b9 1225.06 ms 1227.06 ms 2.00 ms
5112c69cbabc27fdee43278e7fae250aa56d0120 1272.76 ms 1293.37 ms 20.61 ms
b2cbbc84b2f678fc917653a40dd14335ee16b9c2 1240.00 ms 1254.37 ms 14.37 ms
a510d1dcfc21014ab20a3aab783acc9f1fa9091c 1277.04 ms 1291.57 ms 14.53 ms
04db237c887e97fd4e5843a50e97135e2e03ce53 1273.29 ms 1306.50 ms 33.21 ms
df16b96fceb6ce836e4d52d33120d7b1d922d5a7 1255.24 ms 1259.40 ms 4.16 ms
25161f47b02abb67b61b15fa4b63028dc5298069 1252.35 ms 1263.84 ms 11.49 ms
cfa25fc88f8dfc0907b0f6ac9ddd0a5cbb14c3c1 1251.77 ms 1275.69 ms 23.92 ms
32fa6b6dfa01faefdbad4b1bb6425b38214c1e7f 1226.21 ms 1251.78 ms 25.57 ms

App size

Revision Plain With Sentry Diff
0db91ccbfaec953eb629db000f6a6034aa04e2c8 8.15 MiB 9.15 MiB 1018.56 KiB
9d43f714e4f8a4fdf68e41799b520c6f7d0514b9 8.29 MiB 9.39 MiB 1.10 MiB
5112c69cbabc27fdee43278e7fae250aa56d0120 8.16 MiB 9.17 MiB 1.01 MiB
b2cbbc84b2f678fc917653a40dd14335ee16b9c2 8.10 MiB 9.18 MiB 1.08 MiB
a510d1dcfc21014ab20a3aab783acc9f1fa9091c 8.16 MiB 9.17 MiB 1.01 MiB
04db237c887e97fd4e5843a50e97135e2e03ce53 8.15 MiB 9.13 MiB 1003.16 KiB
df16b96fceb6ce836e4d52d33120d7b1d922d5a7 8.10 MiB 9.16 MiB 1.06 MiB
25161f47b02abb67b61b15fa4b63028dc5298069 8.28 MiB 9.34 MiB 1.06 MiB
cfa25fc88f8dfc0907b0f6ac9ddd0a5cbb14c3c1 8.32 MiB 9.43 MiB 1.10 MiB
32fa6b6dfa01faefdbad4b1bb6425b38214c1e7f 8.33 MiB 9.64 MiB 1.31 MiB

Previous results on branch: feat/replay

Startup times

Revision Plain With Sentry Diff
648f8bcf8f98946cd92aec6563c761ac862c4ac5 1262.67 ms 1290.04 ms 27.37 ms
d01e3d233f96cfeb55dde8999bcb739cf12b2b18 1258.43 ms 1273.94 ms 15.51 ms
3aacb23b71943a26389baf04f302aea80abaab3c 1251.51 ms 1266.33 ms 14.82 ms
a5be5a576c66163907569cb5a38b59a37fa02fb5 1239.33 ms 1243.37 ms 4.04 ms

App size

Revision Plain With Sentry Diff
648f8bcf8f98946cd92aec6563c761ac862c4ac5 8.34 MiB 9.65 MiB 1.31 MiB
d01e3d233f96cfeb55dde8999bcb739cf12b2b18 8.38 MiB 9.72 MiB 1.34 MiB
3aacb23b71943a26389baf04f302aea80abaab3c 8.34 MiB 9.66 MiB 1.32 MiB
a5be5a576c66163907569cb5a38b59a37fa02fb5 8.38 MiB 9.72 MiB 1.34 MiB
github-actions[bot] commented 1 month ago

Android Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 433.06 ms 518.69 ms 85.63 ms
Size 6.52 MiB 7.61 MiB 1.08 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
7ade5af85bc00839aa6788a05725d7f9ecda0b6d 341.04 ms 386.84 ms 45.80 ms
29297d43a910bfd6a6932ecb456e70aac411508a 377.14 ms 451.54 ms 74.40 ms
633cf2e1c17c650e952b570d6a63d9d4d2256a14 289.36 ms 340.38 ms 51.02 ms
b9da04683b8d9c79aab89a5745eb90876d2a19a8 393.00 ms 455.52 ms 62.52 ms
b47809a5f032149d70c9c8cdc226a1b71189ae88 333.42 ms 368.36 ms 34.95 ms
2966d88d828c6e2604b15b95f0d0d958acc2cc68 365.71 ms 422.50 ms 56.79 ms
683fd34f35c964a36534f6df6b3d4cb325f5069c 336.53 ms 418.10 ms 81.57 ms
3de8b9b92406e56cedb15086ae779e72d5cdfb08 348.55 ms 445.84 ms 97.29 ms
dd1f7d2483a28171b7997267c82bb72740f38726 338.54 ms 387.10 ms 48.56 ms
4b943a1ac1698fd9bd8c8fb87aad3d13cf713ebb 348.17 ms 437.15 ms 88.98 ms

App size

Revision Plain With Sentry Diff
7ade5af85bc00839aa6788a05725d7f9ecda0b6d 5.94 MiB 6.95 MiB 1.01 MiB
29297d43a910bfd6a6932ecb456e70aac411508a 6.34 MiB 7.28 MiB 967.79 KiB
633cf2e1c17c650e952b570d6a63d9d4d2256a14 5.94 MiB 6.92 MiB 1001.53 KiB
b9da04683b8d9c79aab89a5745eb90876d2a19a8 6.06 MiB 7.03 MiB 990.30 KiB
b47809a5f032149d70c9c8cdc226a1b71189ae88 5.94 MiB 6.96 MiB 1.02 MiB
2966d88d828c6e2604b15b95f0d0d958acc2cc68 6.33 MiB 7.27 MiB 954.11 KiB
683fd34f35c964a36534f6df6b3d4cb325f5069c 6.27 MiB 7.20 MiB 960.43 KiB
3de8b9b92406e56cedb15086ae779e72d5cdfb08 6.27 MiB 7.20 MiB 957.75 KiB
dd1f7d2483a28171b7997267c82bb72740f38726 6.06 MiB 7.10 MiB 1.04 MiB
4b943a1ac1698fd9bd8c8fb87aad3d13cf713ebb 6.34 MiB 7.28 MiB 968.41 KiB

Previous results on branch: feat/replay

Startup times

Revision Plain With Sentry Diff
d01e3d233f96cfeb55dde8999bcb739cf12b2b18 395.96 ms 496.24 ms 100.28 ms
3aacb23b71943a26389baf04f302aea80abaab3c 379.58 ms 461.34 ms 81.76 ms
648f8bcf8f98946cd92aec6563c761ac862c4ac5 472.36 ms 573.74 ms 101.38 ms

App size

Revision Plain With Sentry Diff
d01e3d233f96cfeb55dde8999bcb739cf12b2b18 6.52 MiB 7.61 MiB 1.08 MiB
3aacb23b71943a26389baf04f302aea80abaab3c 6.35 MiB 7.44 MiB 1.08 MiB
648f8bcf8f98946cd92aec6563c761ac862c4ac5 6.35 MiB 7.44 MiB 1.08 MiB