-
-
Notifications
You must be signed in to change notification settings - Fork 342
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(replay): Add breadcrumbs mapping from RN to RRWeb format #3846
Conversation
|
android/src/main/java/io/sentry/react/RNSentryReplayBreadcrumbConverter.java
Outdated
Show resolved
Hide resolved
…Converter.java Co-authored-by: Roman Zavarnitsyn <[email protected]>
e51bb69
to
fb1bb90
Compare
ccb6331
to
3d76fae
Compare
I've updated the base replay PR and this one with the latest changes from main & tested this manually. Everything seems to work as expected.
|
Android (legacy) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
41db11d | 429.33 ms | 451.24 ms | 21.91 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
41db11d | 17.73 MiB | 20.04 MiB | 2.30 MiB |
Previous results on branch: feat/replay-breadcrumbs
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
9afd1d1 | 458.68 ms | 478.26 ms | 19.57 ms |
5aeaa1a | 435.25 ms | 454.86 ms | 19.61 ms |
8d0724c | 393.89 ms | 455.47 ms | 61.58 ms |
46a7238 | 394.98 ms | 429.48 ms | 34.50 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
9afd1d1 | 17.73 MiB | 20.04 MiB | 2.30 MiB |
5aeaa1a | 17.73 MiB | 20.04 MiB | 2.30 MiB |
8d0724c | 17.73 MiB | 20.04 MiB | 2.30 MiB |
46a7238 | 17.73 MiB | 20.04 MiB | 2.30 MiB |
iOS (legacy) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
41db11d+dirty | 1207.36 ms | 1210.32 ms | 2.96 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
41db11d+dirty | 2.36 MiB | 3.04 MiB | 698.69 KiB |
Previous results on branch: feat/replay-breadcrumbs
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
8d0724c+dirty | 1219.06 ms | 1212.34 ms | -6.72 ms |
5aeaa1a+dirty | 1209.26 ms | 1212.90 ms | 3.64 ms |
46a7238+dirty | 1224.98 ms | 1237.22 ms | 12.25 ms |
9afd1d1+dirty | 1246.31 ms | 1244.80 ms | -1.51 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
8d0724c+dirty | 2.36 MiB | 3.05 MiB | 701.22 KiB |
5aeaa1a+dirty | 2.36 MiB | 3.05 MiB | 701.67 KiB |
46a7238+dirty | 2.36 MiB | 3.05 MiB | 701.62 KiB |
9afd1d1+dirty | 2.36 MiB | 3.05 MiB | 701.17 KiB |
iOS (new) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
41db11d+dirty | 1208.60 ms | 1210.47 ms | 1.87 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
41db11d+dirty | 2.92 MiB | 3.61 MiB | 705.84 KiB |
Previous results on branch: feat/replay-breadcrumbs
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
8d0724c+dirty | 1214.55 ms | 1216.37 ms | 1.82 ms |
5aeaa1a+dirty | 1211.06 ms | 1210.47 ms | -0.59 ms |
46a7238+dirty | 1234.27 ms | 1228.81 ms | -5.45 ms |
9afd1d1+dirty | 1241.30 ms | 1238.83 ms | -2.46 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
8d0724c+dirty | 2.92 MiB | 3.61 MiB | 708.14 KiB |
5aeaa1a+dirty | 2.92 MiB | 3.61 MiB | 708.64 KiB |
46a7238+dirty | 2.92 MiB | 3.61 MiB | 708.49 KiB |
9afd1d1+dirty | 2.92 MiB | 3.61 MiB | 708.07 KiB |
Build legacy ios production dynamic-frameworks
It looks like some of these classes are missing headers/or not included in the headers, the dynamic frameworks build fails. |
Build legacy macos production no-frameworksWe need to guard these parts with
|
We could add replays to our E2E tests -> #3902 |
I've tried a couple of things to fix this but with no luck. the error only happens when building a dynamic framework. Shouldn't be because of missing includes because the error fails at link time, so it's the symbols that are missing.
Maybe @brustolin has an idea? |
8bc46af
to
1a13827
Compare
android/src/main/java/io/sentry/react/RNSentryReplayBreadcrumbConverter.java
Show resolved
Hide resolved
This reverts commit 6211bbf.
Let's add changelog. |
https://github.com/getsentry/sentry-cocoa/releases/tag/8.30.0 includes the needed changes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks awesome! Thank you!
android/src/main/java/io/sentry/react/RNSentryReplayBreadcrumbConverter.java
Show resolved
Hide resolved
ArrayList path = (ArrayList) breadcrumb.getData("path"); | ||
if (path != null) { | ||
StringBuilder message = new StringBuilder(); | ||
for (int i = Math.min(3, path.size()); i >= 0; i--) { | ||
HashMap item = (HashMap) path.get(i); | ||
message.append(item.get("name")); | ||
if (item.containsKey("element") || item.containsKey("file")) { | ||
message.append('('); | ||
if (item.containsKey("element")) { | ||
message.append(item.get("element")); | ||
if (item.containsKey("file")) { | ||
message.append(", "); | ||
message.append(item.get("file")); | ||
} | ||
} else if (item.containsKey("file")) { | ||
message.append(item.get("file")); | ||
} | ||
message.append(')'); | ||
} | ||
if (i > 0) { | ||
message.append(" > "); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good in the UI, let's leave it like this for now, in the Replay alpha branch.
We should discuss this with the front end as they can assemble the string from the structured data.
* feat(replay): Add Mobile Replay Alpha (#3714) * feat(sample): add running indicator (animation overlay) (#3903) * feat(replay): Add breadcrumbs mapping from RN to RRWeb format (#3846) * feat(replay): Add network breadcrumbs (#3912) * fix(replay): Add tests for touch events (#3924) * feat(replay): Filter Sentry event breadcrumbs (#3925) * fix(changelog): Add latest native SDKs details * release: 5.25.0-alpha.2 * misc(samples): Add console anything examples for replay testing (#3928) * feat: Add Sentry Babel Transformer (#3916) * fix(replay): Add app lifecycle breadcrumbs conversion tests (#3932) * chore(deps): bump sentry-android to 7.12.0-alpha.3 * chore(deps): bump sentry-android to 7.12.0-alpha.4 * fix(replay): Mask SVGs from `react-native-svg` when `maskAllVectors=true` (#3930) * fix(replay): Add missing properties to android nav breadcrumbs (#3942) * release: 5.26.0-alpha.3 * misc(replay): Add Mobile Replay Public Beta changelog (#3943) --------- Co-authored-by: Ivan Dlugos <[email protected]> Co-authored-by: Ivan Dlugos <[email protected]> Co-authored-by: getsentry-bot <[email protected]> Co-authored-by: getsentry-bot <[email protected]> Co-authored-by: Roman Zavarnitsyn <[email protected]> Co-authored-by: Bruno Garcia <[email protected]>
📜 Description
ui.tap
breadcrumbs for Android #3818Note: identifiers can be improved after Improve touch events breadcrumbs components tree #2863
Dependencies
Blocked by