[Experiment] Pref-Flip Experiment: Tab Unloading on Low Memory for Windows Fx 97.0 to 98.0 Release
Categories
(Shield :: Shield Study, task, P3)
Tracking
(Not tracked)
People
(Reporter: experimenter, Assigned: haik)
References
()
Details
User Story
Delivery Type: Pref Flip Experiment What is the preference we will be changing browser.tabs.unloadOnLowMemory What are the branches of the experiment and what values should each branch be set to? - Control tab-unloading-disabled 50%: Value: false Tab Unloading is disabled. - Treatment tab-unloading-enabled 50%: Value: true Tab Unloading is enabled. What version and channel do you intend to ship to? 1% of Release Firefox 97.0 to 98.0 Are there specific criteria for participants? None Countries: all Locales: all What is your intended go live date and how long will the experiment run? Mar 08, 2022 - Apr 05, 2022 (28 days) What is the main effect you are looking for and what data will you use to make these decisions? This is a repeat of the first tab unloading experiment with additional metrics and this time running on Release instead of Nightly. Original design document: https://mana.mozilla.org/wiki/display/FIREFOX/Tab+Unloading+Experiment Background and links to experiments for all platforms: https://docs.google.com/document/d/1y9eetT3yKZs1TPuDp2BiUfAivGpahywpT5hrQuThWUk/edit#heading=h.3nli4ae604mt Reference experiment used for list of metrics to measure responsiveness: https://protosaur.dev/partybal/bug1722551preffulljsparsingexperimentnightly94_94.html **Metrics List:** **Tab Unloading Metrics:** * **Number of tabs unloaded:** We'd like to see how often tab unloading users unload tabs. * **Number of reloads of unloaded tabs:** We'd like to see how often tab unloading users reload tabs we previously unloaded. A high number means we might be doing a bad job of choosing which tabs to unload. * **How many times the memory situation was switched from low to high:** Tab unloading users should have more `on_high_memory` events because TabUnloader helps it. * **tab_reload_cnt**: We'd like to see how often tab unloading users reload tabs we previously unloaded. A high number means we might be doing a bad job of choosing which tabs to unload. * **tab_unload_to_reload**: We'd like to see how often tab unloading users reload tabs we previously unloaded. A low time means we might be doing a bad job of choosing which tabs to unload. * **memory\_situation\_switched** **General Metrics:** * **active_hours**: Tab unloading users should browse as many or more hours as control users because their browsing session is not cut short by an OOM. * **active_hrs** * **ad_clicks** * **checkerboard_severity** * **checkerboard\_severity\_count\_per\_hour** * **child\_process\_launch_ms** * **content\_crashes\_per\_hour**: Tab unloading users should have fewer content process crashes (because they are a superset of content process OOMs). * **content\_frame\_time\_vsync** * **content\_process\_max** * **cycle\_collecto\r_max\_pause** * **cycle\_collector\_max\_pause\_content** * **days\_of\_use**: Tab unloading users should browse as many or more days as control users because they are happier that their Firefox is crashing less. * **fx\_new\_window\_ms** * **fx\_tab\_switch\_composite\_e10s\_ms** * **gc\_budget\_overrun**: * **gc\_mark\_rate\_2**: how much did GC slices blow their budget * **gc\_reason\_2**: frequency & duration of memory pressure GCs (GC_REASON_2 this is an enum, so we want the frequency of 35 over the frequency of all reasons) * **gc\_max\_pause\_ms\_2** * **gc\_max\_pause\_ms\_2\_content** * **gc\_ms** * **gc\_ms\_content** * **gc\_non\_incremental**: how often was the GC non-incremental * **gc\_slice\_during_idle** * **gc\_slice\_during\_idle\_content** * **gpu\_keypress\_present\_latency** * **identity** * **input\_event\_response\_ms** * **input\_event\_response\_ms\_parent** * **js\_pageload\_baseline\_compile\_ms * **js\_pageload\_delazification\_ms** * **js\_pageload\_execution\_ms** * **js\_pageload\_parse\_ms** * **js\_pageload\_protect\_ms** * **js\_pageload\_xdr\_encoding\_ms** * **main\_crashes\_per\_hour**: Tab unloading users should have fewer parent process crashes (because they are a superset of parent process OOMs). * **max\_concurrent\_tab\_count** * **max\_concurrent\_tab\_pinned_count** * **Maximum number of tab opened at the same time:** We'd like to see TabUnloader does not change users tab operation. * **Maximum number of tab pinned at the same time:** We'd like to see TabUnloader does not change users tab operation. * **memory\_total: Tab unloading users should use the same or less memory.** * **memory\_unique\_content\_startup** * **oom\_crashes\_per\_hour: Tab unloading users should have fewer OOMs.** * **organic\_search\_count** * **perf\_first\_contentful\_paint\_ms** * **perf\_page\_load\_time\_ms** * **search\_count** * **searches\_with\_ads** * **separate\_search\_engine** * **shutdown\_hangs\_per\_hour** * **subsession\_length**: Tab unloading users should have longer sessions because their browsing session is not cut short by an OOM. * **tab\_open\_event\_count**: We'd like to see TabUnloader does not change users tab operation. * **tab\_pinned\_event\_count**: We'd like to see TabUnloader does not change users tab operation. * **tagged\_follow\_on\_search\_content** * **tagged\_follow\_on\_search\_count** * **tagged\_search\_count** * **time\_to\_first\_interaction_ms** * **uri\_cnt** * **uri\_count**: Tab unloading users should load more URIs because their browsing session is not cut short by an OOM. Original DO ticket: https://mozilla-hub.atlassian.net/browse/DO-554 **Estimated Total Enrolled Clients:** 1. Release Windows WAUs = 2. XX control users + XX treatment users Who is the owner of the data analysis for this experiment? None Will this experiment require uplift? False QA Status of your code: QA did experiment readiness testing of this feature for the earlier experiment. The feature has already shipped to Release and doesn't need further QA testing. Link to more information about this experiment: https://experimenter.services.mozilla.com/experiments/tab-unloading-v2-windows-release/
Tab Unloading V2 - Windows - Release
When Firefox detects the available system memory is becoming low, it will first attempt to reduce its memory usage by freeing memory where possible. If low memory continues, Firefox will then begin unloading the least-recently used tabs. By freeing memory and unloading tabs, we hope to avoid performance problems and crashes caused by low memory.
Experimenter is the source of truth for details and delivery. Changes to Bugzilla are not reflected in Experimenter and will not change delivery configuration.
Data Science Issue: https://mozilla-hub.atlassian.net/browse/DO-554
More information: https://experimenter.services.mozilla.com/experiments/tab-unloading-v2-windows-release/
Comment 1•3 years ago
|
||
We've finished running the Experiment Test Cases and sent a GREEN sign-off via email. You can also see it here.
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Comment 2•3 years ago
|
||
Reporter | ||
Updated•3 years ago
|
Description
•