-
-
Notifications
You must be signed in to change notification settings - Fork 443
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
CI: performance impact measurements #2171
Conversation
Codecov ReportBase: 80.62% // Head: 80.62% // No change to project coverage 👍
Additional details and impacted files@@ Coverage Diff @@
## main #2171 +/- ##
=========================================
Coverage 80.62% 80.62%
Complexity 3358 3358
=========================================
Files 240 240
Lines 12337 12337
Branches 1639 1639
=========================================
Hits 9947 9947
Misses 1783 1783
Partials 607 607 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. |
I think it would be nice to use the official Android lib recommended by Google for benchmarking the app start time. |
FYI there was also some discussion on Discord: https://discord.com/channels/621778831602221064/621783562739384331/996842523446222909 |
Any hints how to fix the CI build failure?
|
It's likely because you also need to exclude them for bom and distribution, like we did with sentry-java/sentry-bom/build.gradle.kts Lines 6 to 18 in 121d465
and Line 101 in 121d465
|
@vaind sorry man, I haven't got time to look at the PR, so I will leave this to @marandaneto as I'm on parental leave starting from tomorrow. Good luck! |
thanks and enjoy the time with your kid/s |
Because the latter doesn't work on saucelabs with `storage:` specifier. See https://support.saucelabs.com/hc/en-us/requests/123037
See the overall issue at getsentry/team-mobile#5 and the sibling PR at sentry-java for the approach & some more details: getsentry/sentry-java#2171
Performance metrics 🚀
|
sentry-android-integration-tests/test-app-plain/build.gradle.kts
Outdated
Show resolved
Hide resolved
@vaind I left a comment, is there anything pending or ready to merge? |
} | ||
} | ||
|
||
dependencies { |
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.
The Sentry Android Core lib has the dependencies of:
// lifecycle processor, session tracking
implementation(Config.Libs.lifecycleProcess)
implementation(Config.Libs.lifecycleCommonJava8)
implementation(Config.Libs.androidxCore)
But most if not all Apps also have them as well, what if we add those dependencies in the plain test so they are not counted for the diff in size?
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.
Hmm, personally I'm not sure about that - you'd know better. Maybe we can try in a followup PR what's the difference?
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.
sounds good, so we unblock this PR.
Good to go from my POV |
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.
Thank you @vaind
Approach and scope of this PR
See my notes below on Macrobenchmark - after facing issues trying to get it to work on SauceLabs, I have pivoted towards Appium as it can be used to run both iOS and Android, and should also be usable for our other SDKs: Flutter, Unity, React-Native)
apk
s for both apps (this can later be used for another check described in team-mobile#5Next steps
Notes on Macrobenchmark
I have first tried using jetpack macrobenchmark by deploying the app from getsentry/sentry-android-gradle-plugin#317 to SauceLabs - the only option that seemed like it could work was using the
espresso
configuration for SauceLabs - it didn't though work though, the error was as follows, regardless of the config I tried (current state in https://github.com/vaind/sentry-android-gradle-plugin/commits/perf/benchmark-app-startup-time - if anyone wants to give it a try).#skip-changelog