Closed Bug 1613455 Opened 4 years ago Closed 1 year ago

Support "push-to-try" for Fenix performance tests

Categories

(Testing :: Raptor, enhancement, P3)

Version 3
enhancement

Tracking

(firefox113 fixed)

RESOLVED FIXED
113 Branch
Tracking Status
firefox113 --- fixed

People

(Reporter: acreskey, Assigned: sparky)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fxp])

Attachments

(1 file, 1 obsolete file)

Currently, browsertime in automation will use a fixed binary for geckoview-consuming apps like Fenix (performanceTest nightly, I believe).

So this doesn't provide a means to evaluate the performance impact of changes to either Gecko or Fenix source.

The bug is to provide a method by which the user can provide the .apk used in the test (perhaps simply a url to the apk).

Whiteboard: [perftest:triage]
Blocks: browsertime

:acreskey, the patch I posted works locally and lets you install/re-install custom APKs of the Firefox Android browsers (using --installer-path and --binary). But it's quite likely that you'll hit some unexpected errors while using this patch.

I thought this would have been a small fix but I think there's a lot more to do here (mainly because the mozharness+mach intricacies). See bug 1616960.

See Also: → 1616960

Thank you for moving this along Greg. If you don't mind, I'm going to way for this in automation because local runs though ./mach are not something I do frequently.

Priority: -- → P3
Whiteboard: [perftest:triage]

I just want to mention that we've decided to leave this as a P3 since there's nothing crucial that depends on this at the moment. If that's not the case, please say so, otherwise, we will hack on this later on.

I've renamed this to make it more clear.
What we would be looking for is the ability to "push to try" changes in gecko, but testing them in Fenix.
This would be useful for performance experiments (startup, pageload, some day responsiveness).

Summary: Provide a way for raptor-browsertime to test a modified binary of a geckoview consuming app (e.g. Fenix) → Support "push-to-try" for Fenix performance tests

One complication is that a given mozilla-central is not always API compatible with the latest Android-Components and Fenix.

It may be necessary to "push-to-try" but also select a compatible Fenix revision.

Assignee: nobody → gmierz2
Status: NEW → ASSIGNED
Assignee: gmierz2 → nobody
Status: ASSIGNED → NEW
Attachment #9127929 - Attachment is obsolete: true
Severity: normal → S3
See Also: → 1661290

This patch allows mobile developers to upload custom APKs for testing through a commit. This allows them to run our performance tests by building locally, and then uploading to CI to run tests there.

The ./mach try perf command is modified to make this simpler. It accepts either an environment variable, or a path to an APK, and copies it in-tree. After adding it to hg, the command stops running and asks the user to commit the changes. From there the user re-runs the ./mach try perf command to select the appropriate tests.

Using --browsertime-upload-apk, users can use a custom APK for browsertime tests, and using --mozperftest-upload-apk, users can use a custom APK in mozperftest tests. The reason it's done this way is that we don't have common areas between the two frameworks. The methods are the same in both cases, i.e. for a fenix test, a fenix APK needs to be uploaded.

Assignee: nobody → gmierz2
Status: NEW → ASSIGNED
Pushed by gmierz2@outlook.com:
https://hg.mozilla.org/integration/autoland/rev/faa1c03828fe
Allow custom APK uploads for Geckoview/Fenix perftests. r=perftest-reviewers,afinder

Backed out for causing btime failures.

[task 2023-03-22T16:51:53.713Z] 16:51:47     INFO - Return code: 0
[task 2023-03-22T16:51:53.713Z] Using adb 1.0.41
[task 2023-03-22T16:51:53.713Z] /system/bin/ls -1A supported
[task 2023-03-22T16:51:53.713Z] Native cp support: True
[task 2023-03-22T16:51:53.713Z] Native chmod -R support: True
[task 2023-03-22T16:51:53.713Z] Native chown -R support: True
[task 2023-03-22T16:51:53.713Z] Native normal pidof support: True
[task 2023-03-22T16:51:53.713Z] adbd not restarted as root
[task 2023-03-22T16:51:53.713Z] su -c setenforce 0 exitcode 0, stdout: None
[task 2023-03-22T16:51:53.713Z] su -c supported
[task 2023-03-22T16:51:53.713Z] Setting SELinux Permissive
[task 2023-03-22T16:51:59.029Z] 16:51:53     INFO - Running post-action listener: _resource_record_post_action
[task 2023-03-22T16:51:59.029Z] 16:51:53     INFO - [mozharness: 2023-03-22 16:51:53.641665Z] Finished install step (failed)
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL - Uncaught exception: Traceback (most recent call last):
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL -   File "/builds/task_167950380049590/workspace/mozharness/mozharness/base/script.py", line 2385, in run
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL -     self.run_action(action)
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL -   File "/builds/task_167950380049590/workspace/mozharness/mozharness/base/script.py", line 2319, in run_action
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL -     self._possibly_run_method(method_name, error_if_missing=True)
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL -   File "/builds/task_167950380049590/workspace/mozharness/mozharness/base/script.py", line 2271, in _possibly_run_method
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL -     return getattr(self, method_name)()
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL -   File "/builds/task_167950380049590/workspace/mozharness/mozharness/mozilla/testing/raptor.py", line 1246, in install
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL -     installer_path = self.installerpath
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL - AttributeError: 'Raptor' object has no attribute 'installerpath'
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL - Running post_fatal callback...
[task 2023-03-22T16:51:59.029Z] 16:51:53    FATAL - Exiting -1
Flags: needinfo?(gmierz2)

Thanks for backing out, I've updated the patch and re-requested review.

Flags: needinfo?(gmierz2)
Pushed by gmierz2@outlook.com:
https://hg.mozilla.org/integration/autoland/rev/d44809bdb073
Allow custom APK uploads for Geckoview/Fenix perftests. r=perftest-reviewers,afinder
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: