[NoQA] e2e: new common metrics (FPS, CPU, RAM)#43482
[NoQA] e2e: new common metrics (FPS, CPU, RAM)#43482hayata-suenaga merged 9 commits intoExpensify:mainfrom
Conversation
507a0c3 to
53b6269
Compare
|
One quick note: I see that all units are in ms. I think we should fix that, so the units can be different. |
Yeah, I also noticed that, but decided that it will bring a lot of changes in a single PR, so probably it would be good to handle as a separate task 👀 I think main units will be:
|
|
How often did you ran the tests from the screenshot? We should run a full test run (I think these are 30x?) on a real device. We need to check if the values we get are stable. |
|
@hannojg it was captured on debug build with dev config (x8 runs) on emulator. Below I attached a screenshot from a real device (my Pixel 7 Pro), 60x runs, release variant:
Metrics are very stable as you can see 👀 I'll update a description with a new screenshot 👍 |
|
@alitoshmatov Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
@hannojg @mountiny @alitoshmatov this one is ready for review 🙌 Feel free to have a look 👀 |
hannojg
left a comment
There was a problem hiding this comment.
overall looks good, just a few things to think about twice 😊
There was a problem hiding this comment.
do we need this patch, or was that just for your debugging?
If we need it, we need an upstream issue + PR please
There was a problem hiding this comment.
@hannojg I already created it bamlab/flashlight#291 but haven't received any comments yet 🤔
There was a problem hiding this comment.
ah awesome - I think we should add this to the PR description !
tests/e2e/config.dev.ts
Outdated
There was a problem hiding this comment.
@hannojg yes. When we submit test result, then we specify branch and then we use the name of the branch to store the result.
Flashlight is running on the server, so we have to distinguish different builds (that's why I added BRANCH_MAIN/BRANCH_DELTA).
For dev config we run the same debug build (always main). That's why we specify main in both cases 🙂
There was a problem hiding this comment.
For that I created PR to upstream: bamlab/flashlight#294
8475499 to
043e362
Compare
|
Also added separate metrics for JS and UI thread. So now we track next metrics:
|
|
@alitoshmatov @mountiny this PR is ready for review 👀 |
mountiny
left a comment
There was a problem hiding this comment.
I do not think we need C+ review here. @hayata-suenaga do you want to review and add the checklist?
tests/e2e/utils/measure.ts
Outdated
There was a problem hiding this comment.
When will this version of the method callled?
I can see that the pulling is assigned a value inside start, but will the stop method change to this original definition when the profiler is stopped?
There was a problem hiding this comment.
You're right, I added missing code in 7b1994b 🙌
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
|
Just one question, but other than that, the code looks good to me! |
7202a82 to
eeaa464
Compare
|
I think this is ready for another look @hayata-suenaga |
|
@hayata-suenaga just a friendly reminder 😊 |
|
sorry I have been on and off with travel sickness. I'm reviewing this now 🙇 |
|
@hayata-suenaga okay, sure 🙌 🙂 |
hayata-suenaga
left a comment
There was a problem hiding this comment.
the change looks good to me 🟢 sorry for the late review 🙇
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.0.3-7 🚀
|
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.0.5-13 🚀
|

Details
Capture CPU, FPS and RAM for all tests.
Dev run (debug build, emulator, 8x runs):
Release run (release build, real device, 60x runs):
I also had to patch the new library - I opened the issue with all details bamlab/flashlight#291 (basically it was reproducible only on emulator, but I decided to keep the patch anyway because it improves the stability and maybe someone as me sometimes is running e2e tests on emulator too).
For second patch I created a PR to upstream: bamlab/flashlight#294
Fixed Issues
$ #19596
PROPOSAL: #19596 (comment)
Tests
Offline tests
N/A
QA Steps
N/A
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop