Baseline profile infrastructure
Closes: #6746
Description
The PR adds:
- A module with tests to
- Generate a new baseline profile
- Tests that benchmark if the newly generated profile brings an improvement
- Extracts shared code from the quicklogin module to a separate module, so both modules can use that
- A tested baseline profile file
Testing instructions
- Read
baselineprofile/README.mdfile and try to- Generated a new profile
- Test if it brings startup improvement time
- Test if quicklogin module (
woo_login.sh) still works
(the test instruction is a bit vague to make sure that readme.md is written in a clear way)
- [x] I have considered if this change warrants user-facing release notes and have added them to
RELEASE-NOTES.txtif necessary.
| Warnings | |
|---|---|
| :warning: | PR is not assigned to a milestone. |
| :warning: | PR has more than 300 lines of code changing. Consider splitting into smaller PRs if possible. |
Generated by :no_entry_sign: dangerJS
You can trigger optional UI/connected tests for these changes by visiting CircleCI here.
You can test the changes on this Pull Request by downloading an installable build, or scanning this QR code:
hi @kidinov 👋 . This looks like solid work but I won't be able to review this PR soon - I've learned about baseline profiles, this sounds really interesting but I'd have to spend more time on it to contribute with a meaningful review.
As this feature will improve the new user activation journey, maybe the Kiwi team will be interested in adding this review to their backlog?
@0nko @hichamboushaba as @wzieba noticed this might be indeed something that bit but contribute to your team goal. It's not urgent at all but would be nice if you folks will find a sec so it won't be a waste!
Codecov Report
Merging #6747 (fd29dc7) into trunk (b2a2e7d) will increase coverage by
0.20%. The diff coverage isn/a.
:exclamation: Current head fd29dc7 differs from pull request most recent head ddbce73. Consider uploading reports for the commit ddbce73 to get more accurate results
@@ Coverage Diff @@
## trunk #6747 +/- ##
============================================
+ Coverage 44.54% 44.75% +0.20%
+ Complexity 3006 2935 -71
============================================
Files 539 531 -8
Lines 29806 28909 -897
Branches 3942 3816 -126
============================================
- Hits 13277 12937 -340
+ Misses 15289 14774 -515
+ Partials 1240 1198 -42
| Impacted Files | Coverage Δ | |
|---|---|---|
| ...n/com/woocommerce/android/extensions/RefundsExt.kt | 0.00% <0.00%> (-100.00%) |
:arrow_down: |
| ...in/kotlin/com/woocommerce/android/util/MathUtil.kt | 0.00% <0.00%> (-50.00%) |
:arrow_down: |
| .../woocommerce/android/ui/mystore/MyStoreUiModels.kt | 13.63% <0.00%> (-31.82%) |
:arrow_down: |
| ...woocommerce/android/model/OrderShipmentTracking.kt | 70.00% <0.00%> (-30.00%) |
:arrow_down: |
| ...android/ui/orders/fulfill/OrderFulfillViewModel.kt | 58.73% <0.00%> (-18.44%) |
:arrow_down: |
| ...ommerce/android/ui/refunds/IssueRefundViewModel.kt | 47.46% <0.00%> (-18.21%) |
:arrow_down: |
| ...roid/ui/orders/creation/OrderCreationRepository.kt | 24.10% <0.00%> (-13.40%) |
:arrow_down: |
| ...woocommerce/android/ui/mystore/MyStoreViewModel.kt | 67.94% <0.00%> (-9.68%) |
:arrow_down: |
| .../woocommerce/android/viewmodel/LiveDataDelegate.kt | 62.96% <0.00%> (-2.43%) |
:arrow_down: |
| ...rdreader/onboarding/CardReaderOnboardingChecker.kt | 91.35% <0.00%> (-2.27%) |
:arrow_down: |
| ... and 87 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing dataPowered by Codecov. Last update 4af3f9a...ddbce73. Read the comment docs.
Found 1 violations:
The PR caused the following dependency changes:
expand
\--- com.automattic:about:0.0.6
\--- androidx.compose.ui:ui:1.0.5 -> 1.1.1
- \--- androidx.profileinstaller:profileinstaller:1.1.0
- +--- androidx.annotation:annotation:1.2.0 -> 1.3.0
- \--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*)
+ \--- androidx.profileinstaller:profileinstaller:1.1.0 -> 1.2.0-beta01
+ +--- androidx.annotation:annotation:1.2.0 -> 1.3.0
+ \--- androidx.startup:startup-runtime:1.1.1 (*)
+\--- androidx.profileinstaller:profileinstaller:1.2.0-beta01 (*)
Please review and act accordingly
<this is a auto generated comment from violation-comments-lib F7F8ASD8123FSDF>
<ACCUMULATED-VIOLATIONS>
Closed in favour of https://github.com/woocommerce/woocommerce-android/pull/8061 that used some part of it