In Issue 737394 we discovered that changing the order of initialization of (empty) sqlite databases may affect a non-startup benchmark system_health.common_desktop.
Looking closer revealed that db initialization continues for a few seconds _after_ the measurements start. In Telemetry the DesktopBrowserBackend._WaitForBrowserToComeUp polls every 100ms and hence tiny changes leading to that being triggered earlier will increase the measurements by up to a 100ms.
In the related Issue 726937 we see a proposal to also reduce the amount of background tasks when benchmarking. It should hopefully help reducing the overall time to run the benchmark.
Let's make _WaitForBrowserToComeUp to wait until Chrome is 'more idle'.
A highly speculative list of databases to wait for (based on a few examined traces) is:
* previews_opt_out_store_sql
* data_reduction_proxy_service
* model_type_store_impl
* top_sites_backend
* proto_database_impl
* web_database_service
Consequences:
* It is not clear how to maintain this list. Hopefully we can add things as we see wontfix-ed perf regressions?
* Increases the time to run this benchmark by a few seconds.
Comment 1 by sheriffbot@chromium.org
, Aug 23Status: Untriaged (was: Available)