Improve Pref Experiment Workflow
Categories
(Fenix :: Experimentation and Telemetry, task)
Tracking
(Not tracked)
People
(Reporter: beth, Unassigned, NeedInfo)
References
Details
Right now to run a pref setting experiment on Fenix, one needs to do the following:
- Add the feature to the Fenix Nimbus manifest
- Add a pref instance to GeckoRuntimeSettings
- Add a getter and setter for that member
- Add a member to the GeckoEngine settings object in android-components and assign it in the
.apply
block - Update the DefaultSettings ctor to set this new member based on a value from FxNimbus
On Desktop, we annotate the feature manifest with what prefs each variable will set, which is much simpler to (a) implement and (b) remove when your experimentation is complete.
I don't think this doesn't belong in the Nimbus SDK bug tracker. Any solution here will likely have to be in client code
Comment 1•5 months ago
•
|
||
Sorry, I completely forgot that there is an alternative route for engine experiments. There is an ExperimentDelegate
on the GeckoRuntime
, that can fetch the experiment data from the embedding application.
This might reduce the steps needed for running the kinds of experiments that you want, but this issue is probably still valid to see if this option can also be improved.
Reporter | ||
Comment 2•5 months ago
|
||
Yeah that could likely be used to set prefs in a data driven manner like how its done for Desktop
Comment 4•3 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Fenix::Experimentation and Telemetry' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 5•3 days ago
|
||
I'm going to make some gecko preferences, currently exposed as Nimbus features, accessible for pref flip experiments in Fenix.
There are about a half dozen preferences in the networking and security components.
I don't need exposure counting, just the ability to have the pref's set via experiment enrollment.
I'm wondering what's a better route -- the steps Beth described in comment 0, which seem straightforward.
Or via the ExperimentDelegate which Olivia added in bug 1845824. I don't fully understand how it binds prefs but it seems interesting.
Olivia -- do you have any thoughts on this?
Reporter | ||
Comment 6•3 days ago
|
||
(In reply to Andrew Creskey [:acreskey] from comment #5)
I'm going to make some gecko preferences, currently exposed as Nimbus features, accessible for pref flip experiments in Fenix.
There are about a half dozen preferences in the networking and security components.
I don't need exposure counting, just the ability to have the pref's set via experiment enrollment.
I'm wondering what's a better route -- the steps Beth described in comment 0, which seem straightforward.
Or via the ExperimentDelegate which Olivia added in bug 1845824. I don't fully understand how it binds prefs but it seems interesting.
Olivia -- do you have any thoughts on this?
The ExperimentDelegate does not do that for you automatically. It lets you query feature values at runtime, so you could set prefs yourself with whatever API calls are available.
Comment 7•2 days ago
|
||
(In reply to Beth Rennie [:beth] (she/her) from comment #6)
(In reply to Andrew Creskey [:acreskey] from comment #5)
I'm going to make some gecko preferences, currently exposed as Nimbus features, accessible for pref flip experiments in Fenix.
There are about a half dozen preferences in the networking and security components.
I don't need exposure counting, just the ability to have the pref's set via experiment enrollment.
I'm wondering what's a better route -- the steps Beth described in comment 0, which seem straightforward.
Or via the ExperimentDelegate which Olivia added in bug 1845824. I don't fully understand how it binds prefs but it seems interesting.
Olivia -- do you have any thoughts on this?
The ExperimentDelegate does not do that for you automatically. It lets you query feature values at runtime, so you could set prefs yourself with whatever API calls are available.
Ah, I see.
Let me go through the Fenix Feature Manifest to improve my understanding of this workflow.
Comment 8•21 hours ago
|
||
FYI, my first attempt at getting a pref-setting Nimbus experiment setup on Fenix, bug 1925390.
Description
•