Use ML models of tab reactivation as a signal when deciding which tab(s) to discard. See the parent bug for more info, in particular the design doc at http://go/improved-tab-discarding.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b commit 34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b Author: Michael Giuffrida <michaelpg@chromium.org> Date: Mon May 14 17:15:48 2018 Tab Ranker: Predict reactivation of tabs Adds an ML model to score tabs based on whether they will be reactivated. Currently this is only used in tests; a future CL will add an experiment to use these scores as part of the tab discarder's tab selection algorithm. The model includes hard-coded weights generated by tf.native. This is documented in tab_ranker/native_inference.md. Bug: 836898 Change-Id: I6445de4d80fa5c5c1487d4fa2a90e9f118f9c691 Reviewed-on: https://chromium-review.googlesource.com/1028583 Reviewed-by: François Doray <fdoray@chromium.org> Reviewed-by: Brian White <bcwhite@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Michael Giuffrida <michaelpg@chromium.org> Cr-Commit-Position: refs/heads/master@{#558348} [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/.gn [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/BUILD.gn [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/browser_resources.grd [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_activity_watcher.cc [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_activity_watcher.h [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_activity_watcher_browsertest.cc [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_metrics_logger.cc [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_metrics_logger.h [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_metrics_logger_unittest.cc [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/BUILD.gn [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/OWNERS [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/README.md [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/example_preprocessor_config.pb [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/mru_features.h [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/native_inference.cc [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/native_inference.h [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/native_inference.md [rename] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/tab_features.cc [rename] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/tab_features.h [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/tab_score_predictor.cc [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/tab_score_predictor.h [add] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/tab_score_predictor_unittest.cc [rename] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/window_features.cc [rename] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/resource_coordinator/tab_ranker/window_features.h [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/ui/tabs/window_activity_watcher.cc [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/browser/ui/tabs/window_activity_watcher.h [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/chrome/test/BUILD.gn [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/tools/metrics/histograms/enums.xml [modify] https://crrev.com/34882499b58a56b37e8ff0c8bb2b9fdbe4aabf3b/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7e7d57d829206683340aa24faba74a2a54d5fc6f commit 7e7d57d829206683340aa24faba74a2a54d5fc6f Author: Michael Giuffrida <michaelpg@chromium.org> Date: Fri May 18 00:00:06 2018 Show reactivation score in Discards UI Adds the Tab Ranker reactivation prediction as a column in chrome://discards. The reactivation score is only calculated while this WebUI is open. Bug: 836898 Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation Change-Id: Idc0c55ca2e6832ac6033afe2c58784d2a2ed1917 Reviewed-on: https://chromium-review.googlesource.com/1036596 Reviewed-by: Will Harris <wfh@chromium.org> Reviewed-by: Chris Hamilton <chrisha@chromium.org> Commit-Queue: Michael Giuffrida <michaelpg@chromium.org> Cr-Commit-Position: refs/heads/master@{#559741} [modify] https://crrev.com/7e7d57d829206683340aa24faba74a2a54d5fc6f/chrome/browser/resource_coordinator/tab_activity_watcher.cc [modify] https://crrev.com/7e7d57d829206683340aa24faba74a2a54d5fc6f/chrome/browser/resources/discards/discards.html [modify] https://crrev.com/7e7d57d829206683340aa24faba74a2a54d5fc6f/chrome/browser/resources/discards/discards.js [modify] https://crrev.com/7e7d57d829206683340aa24faba74a2a54d5fc6f/chrome/browser/ui/webui/discards/discards.mojom [modify] https://crrev.com/7e7d57d829206683340aa24faba74a2a54d5fc6f/chrome/browser/ui/webui/discards/discards_ui.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/de251ef1db042969dca0942a021a779b764a30de commit de251ef1db042969dca0942a021a779b764a30de Author: Michael Giuffrida <michaelpg@chromium.org> Date: Tue May 22 00:47:57 2018 Sort tabs for discarding using TabRanker if enabled Adds a |score| field to LifecycleUnit::SortKey that is used for ranking tabs for discarding if the TabFeatures experiment is enabled. Tabs will be sorted first by their reactivation score, then by focused time as a tiebreaker. If TabFeatures is disabled (the default), the score is not calculated or used. Because calculating the score is somewhat computationally involved, this exposes the LifecycleUnit's last forgerounded time outside of the SortKey itself. Bug: 836898 Change-Id: Ib27e43ccee06a6dab27fd950773822e64e8de9ec Reviewed-on: https://chromium-review.googlesource.com/1063176 Commit-Queue: Michael Giuffrida <michaelpg@chromium.org> Reviewed-by: François Doray <fdoray@chromium.org> Cr-Commit-Position: refs/heads/master@{#560436} [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/discard_metrics_lifecycle_unit_observer.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/discard_metrics_lifecycle_unit_observer_unittest.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/lifecycle_unit.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/lifecycle_unit.h [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/lifecycle_unit_base_unittest.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/lifecycle_unit_unittest.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/tab_lifecycle_unit.h [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/tab_lifecycle_unit_source_unittest.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/tab_lifecycle_unit_unittest.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/tab_manager_delegate_chromeos_unittest.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/tab_manager_features.cc [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/resource_coordinator/tab_manager_features.h [modify] https://crrev.com/de251ef1db042969dca0942a021a779b764a30de/chrome/browser/ui/webui/discards/discards_ui.cc
Comment 1 by michae...@chromium.org
, May 11 2018