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
Provide automatic breadcrumbs and transactions for click/scroll events for Compose #2390
Conversation
|
Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
ecf9680 | 303.12 ms | 346.35 ms | 43.23 ms |
ecf9680 | 321.55 ms | 385.52 ms | 63.97 ms |
b85d8aa | 289.35 ms | 335.92 ms | 46.56 ms |
81a1a6c | 294.04 ms | 341.19 ms | 47.15 ms |
81a1a6c | 328.73 ms | 421.28 ms | 92.55 ms |
90e9745 | 314.68 ms | 357.28 ms | 42.60 ms |
4a9c176 | 336.33 ms | 384.73 ms | 48.41 ms |
38e4f11 | 358.20 ms | 433.73 ms | 75.53 ms |
f809aac | 301.51 ms | 346.60 ms | 45.09 ms |
3695453 | 299.25 ms | 360.04 ms | 60.79 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
ecf9680 | 1.73 MiB | 2.32 MiB | 612.39 KiB |
ecf9680 | 1.73 MiB | 2.32 MiB | 612.39 KiB |
b85d8aa | 1.73 MiB | 2.32 MiB | 611.62 KiB |
81a1a6c | 1.73 MiB | 2.32 MiB | 612.47 KiB |
81a1a6c | 1.73 MiB | 2.32 MiB | 612.47 KiB |
90e9745 | 1.73 MiB | 2.32 MiB | 608.63 KiB |
4a9c176 | 1.73 MiB | 2.33 MiB | 612.69 KiB |
38e4f11 | 1.73 MiB | 2.32 MiB | 609.82 KiB |
f809aac | 1.73 MiB | 2.32 MiB | 608.63 KiB |
3695453 | 1.73 MiB | 2.32 MiB | 611.62 KiB |
Previous results on branch: feat/compose-ui-transactions
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
f86ae53 | 262.90 ms | 328.56 ms | 65.66 ms |
a236d78 | 346.83 ms | 411.12 ms | 64.30 ms |
7c0ffde | 324.06 ms | 417.49 ms | 93.43 ms |
cbc0267 | 357.77 ms | 402.40 ms | 44.63 ms |
8f44f14 | 352.34 ms | 409.55 ms | 57.21 ms |
003b449 | 358.02 ms | 385.31 ms | 27.29 ms |
2198116 | 353.12 ms | 382.02 ms | 28.90 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
f86ae53 | 1.73 MiB | 2.33 MiB | 613.64 KiB |
a236d78 | 1.73 MiB | 2.32 MiB | 611.71 KiB |
7c0ffde | 1.73 MiB | 2.33 MiB | 613.08 KiB |
cbc0267 | 1.73 MiB | 2.33 MiB | 613.63 KiB |
8f44f14 | 1.73 MiB | 2.33 MiB | 613.64 KiB |
003b449 | 1.73 MiB | 2.33 MiB | 613.11 KiB |
2198116 | 1.73 MiB | 2.33 MiB | 613.64 KiB |
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.
as discussed internally let's try to use our SentryGestureListener for that so we still add value even for those who don't use SAGP for auto-instrumentation
...droid-core/src/main/java/io/sentry/android/core/internal/gestures/SentryGestureListener.java
Outdated
Show resolved
Hide resolved
sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryClickableIntegration.kt
Outdated
Show resolved
Hide resolved
sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryClickableIntegration.kt
Outdated
Show resolved
Hide resolved
sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryClickableIntegration.kt
Outdated
Show resolved
Hide resolved
sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryClickableIntegration.kt
Outdated
Show resolved
Hide resolved
Used for automatic breadcrumbs and transaction starts
Co-authored-by: Roman Zavarnitsyn <rom4ek93@gmail.com>
...oid-core/src/main/java/io/sentry/android/core/internal/gestures/AndroidComposeViewUtils.java
Outdated
Show resolved
Hide resolved
…entry-java into feat/compose-ui-transactions
sentry-android-core/src/main/java/io/sentry/android/core/internal/gestures/ViewUtils.java
Outdated
Show resolved
Hide resolved
@romtsn looking good now from my perspective. A few points I'm not happy about right now:
|
sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts
Outdated
Show resolved
Hide resolved
sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java
Outdated
Show resolved
Hide resolved
…entry-java into feat/compose-ui-transactions
.../src/main/java/io/sentry/android/core/internal/gestures/AndroidViewGestureTargetLocator.java
Outdated
Show resolved
Hide resolved
.../src/main/java/io/sentry/android/core/internal/gestures/AndroidViewGestureTargetLocator.java
Outdated
Show resolved
Hide resolved
.../src/main/java/io/sentry/android/core/internal/gestures/AndroidViewGestureTargetLocator.java
Outdated
Show resolved
Hide resolved
sentry/src/main/java/io/sentry/internal/gestures/UiElement.java
Outdated
Show resolved
Hide resolved
As agreed let's get rid of the reflection parts and use java instead. This requires us to use shadow due to https://youtrack.jetbrains.com/issue/KT-30878. |
sentry-compose-helper/src/main/java/io/sentry/compose/gestures/ComposeGestureTargetLocator.java
Show resolved
Hide resolved
sentry-compose-helper/src/main/java/io/sentry/compose/gestures/ComposeGestureTargetLocator.java
Show resolved
Hide resolved
great stuff 🚀 I think now it looks more fail-safe and more performant than it was with reflection, etc. Thanks for bearing with back and forths :) |
ah, yeah, one more thing I forgot - could you please add a |
…entry-java into feat/compose-ui-transactions
Codecov ReportBase: 80.21% // Head: 80.00% // Decreases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #2390 +/- ##
============================================
- Coverage 80.21% 80.00% -0.21%
Complexity 3772 3772
============================================
Files 302 303 +1
Lines 14222 14263 +41
Branches 1885 1890 +5
============================================
+ Hits 11408 11411 +3
- Misses 2073 2111 +38
Partials 741 741
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
📜 Description
Provide automatic breadcrumbs and transactions for click/scroll events on Composable UI widgets.
💚 How did you test it?
📝 Checklist
🔮 Next steps