From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Wed, 25 Apr 2018 10:23:51 +0200 Subject: Disable various metrics Disable metrics on all I/O threads Set initial metrics opt-out Disable metrics collection for NTP tiles Fix startup crash for debug builds (uazo) License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../browser/firstrun/FirstRunActivityBase.java | 2 +- .../android/ntp/most_visited_sites_bridge.cc | 17 ----------------- chrome/browser/browser_process_impl.cc | 2 +- chrome/browser/chrome_content_browser_client.cc | 1 - ...ntent_browser_client_navigation_throttles.cc | 15 --------------- .../chrome_metrics_services_manager_client.cc | 4 ++++ .../browser/ui/search/ntp_user_data_logger.cc | 4 ---- components/ntp_tiles/BUILD.gn | 3 --- .../ntp_tiles/custom_links_manager_impl.cc | 1 - components/ntp_tiles/most_visited_sites.cc | 4 ---- .../site_data/leveldb_site_data_store.cc | 2 +- services/metrics/public/cpp/ukm_recorder.cc | 1 + 12 files changed, 8 insertions(+), 48 deletions(-) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java @@ -56,7 +56,7 @@ public abstract class FirstRunActivityBase extends FullscreenSigninAndHistorySyn static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage"; static final String SHOW_HISTORY_SYNC_PAGE = "ShowHistorySync"; - public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = true; + public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = false; private boolean mNativeInitialized; private @Nullable BasicAppHeaderStateProvider mAppHeaderStateProvider; diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc --- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc +++ b/chrome/browser/android/ntp/most_visited_sites_bridge.cc @@ -23,7 +23,6 @@ #include "chrome/browser/profiles/profile.h" #include "components/favicon_base/favicon_types.h" #include "components/history/core/browser/history_service.h" -#include "components/ntp_tiles/metrics.h" #include "components/ntp_tiles/most_visited_sites.h" #include "components/ntp_tiles/section_type.h" #include "components/ntp_tiles/tile_source.h" @@ -44,7 +43,6 @@ using ntp_tiles::NTPTilesVector; using ntp_tiles::SectionType; using ntp_tiles::TileSource; using ntp_tiles::TileTitleSource; -using ntp_tiles::TileVisualType; namespace { @@ -261,7 +259,6 @@ void MostVisitedSitesBridge::AddOrRemoveBlockedUrl( void MostVisitedSitesBridge::RecordPageImpression(JNIEnv* env, int32_t jtiles_count) { - ntp_tiles::metrics::RecordPageImpression(jtiles_count); } void MostVisitedSitesBridge::RecordTileImpression( @@ -272,15 +269,6 @@ void MostVisitedSitesBridge::RecordTileImpression( int32_t jtitle_source, int32_t jsource, const JavaRef& jurl) { - GURL url = url::GURLAndroid::ToNativeGURL(env, jurl); - TileTitleSource title_source = static_cast(jtitle_source); - TileSource source = static_cast(jsource); - TileVisualType visual_type = static_cast(jvisual_type); - favicon_base::IconType icon_type = - static_cast(jicon_type); - - ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression( - jindex, source, title_source, visual_type, icon_type, url)); } void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(JNIEnv* env, @@ -288,11 +276,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(JNIEnv* env, int32_t tile_type, int32_t title_source, int32_t source) { - ntp_tiles::metrics::RecordTileClick(ntp_tiles::NTPTileImpression( - index, static_cast(source), - static_cast(title_source), - static_cast(tile_type), favicon_base::IconType::kInvalid, - /*url_for_rappor=*/GURL())); } double MostVisitedSitesBridge::GetSuggestionScore(JNIEnv* env, diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc @@ -1288,7 +1288,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { #endif // BUILDFLAG(IS_CHROMEOS) registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled, - GoogleUpdateSettings::GetCollectStatsConsent()); + false); registry->RegisterIntegerPref( metrics::prefs::kMetricsReportingLevel, static_cast(GoogleUpdateSettings::GetMetricsReportingLevel())); diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc @@ -1498,7 +1498,6 @@ ChromeContentBrowserClient::ChromeContentBrowserClient() { extra_parts_.push_back( std::make_unique()); #endif - #if !BUILDFLAG(IS_ANDROID) extra_parts_.push_back( std::make_unique()); diff --git a/chrome/browser/chrome_content_browser_client_navigation_throttles.cc b/chrome/browser/chrome_content_browser_client_navigation_throttles.cc --- a/chrome/browser/chrome_content_browser_client_navigation_throttles.cc +++ b/chrome/browser/chrome_content_browser_client_navigation_throttles.cc @@ -20,7 +20,6 @@ #include "chrome/browser/glic/glic_navigation_throttle.h" #include "chrome/browser/history/history_service_factory.h" #include "chrome/browser/interstitials/enterprise_util.h" -#include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h" #include "chrome/browser/plugins/pdf_iframe_navigation_throttle.h" #include "chrome/browser/policy/chrome_policy_blocklist_service_factory.h" #include "chrome/browser/policy/policy_util.h" @@ -276,18 +275,6 @@ void MaybeCreateAndAddVisitedLinkNavigationThrottle( void CreateAndAddChromeThrottlesForNavigation( content::NavigationThrottleRegistry& registry) { content::NavigationHandle& handle = registry.GetNavigationHandle(); - if (handle.IsInMainFrame()) { - // MetricsNavigationThrottle requires that it runs before - // NavigationThrottles that may delay or cancel navigations, so only - // NavigationThrottles that don't delay or cancel navigations (e.g. - // throttles that are only observing callbacks without affecting navigation - // behavior) should be added before MetricsNavigationThrottle. - // TODO(https://crbug.com/412524375): This assumption is fragile. This - // should be cared by adding an attribute flag to - // NavigationThrottleRegistry::AddThrottle(). - page_load_metrics::MetricsNavigationThrottle::CreateAndAdd(registry); - } - DSEPrewarmNavigationThrottle::MaybeCreateAndAdd(registry); #if BUILDFLAG(IS_ANDROID) @@ -397,8 +384,6 @@ void CreateAndAddChromeThrottlesForNavigation( throttle_manager->MaybeCreateAndAddNavigationThrottles(registry); } - LookalikeUrlNavigationThrottle::MaybeCreateAndAdd(registry); - PDFIFrameNavigationThrottle::MaybeCreateAndAdd(registry); #if BUILDFLAG(ENABLE_PDF) diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc --- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc +++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc @@ -85,6 +85,10 @@ BASE_FEATURE(kPostFREFixMetricsReportingFeature, // Name of the variations param that defines the sampling rate. const char kRateParamName[] = "sampling_rate_per_mille"; +SET_CROMITE_FEATURE_DISABLED(kMetricsReportingFeature); +#if BUILDFLAG(IS_ANDROID) +SET_CROMITE_FEATURE_DISABLED(kPostFREFixMetricsReportingFeature); +#endif // BUILDFLAG(IS_ANDROID) } // namespace internal } // namespace metrics diff --git a/chrome/browser/ui/search/ntp_user_data_logger.cc b/chrome/browser/ui/search/ntp_user_data_logger.cc --- a/chrome/browser/ui/search/ntp_user_data_logger.cc +++ b/chrome/browser/ui/search/ntp_user_data_logger.cc @@ -387,8 +387,6 @@ void NTPUserDataLogger::LogMostVisitedImpression( void NTPUserDataLogger::LogMostVisitedNavigation( const ntp_tiles::NTPTileImpression& impression) { - ntp_tiles::metrics::RecordTileClick(impression); - // Records the action. This will be available as a time-stamped stream // server-side and can be used to compute time-to-long-dwell. base::RecordAction(base::UserMetricsAction("MostVisited_Clicked")); @@ -420,10 +418,8 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time, if (!impression.has_value()) { break; } - ntp_tiles::metrics::RecordTileImpression(*impression); ++tiles_count; } - ntp_tiles::metrics::RecordPageImpression(tiles_count); DVLOG(1) << "Emitting NTP load time: " << load_time << ", " << "number of tiles: " << tiles_count; diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn --- a/components/ntp_tiles/BUILD.gn +++ b/components/ntp_tiles/BUILD.gn @@ -33,8 +33,6 @@ static_library("ntp_tiles") { "icon_cacher.h", "icon_cacher_impl.cc", "icon_cacher_impl.h", - "metrics.cc", - "metrics.h", "most_visited_sites.cc", "most_visited_sites.h", "ntp_tile.cc", @@ -126,7 +124,6 @@ source_set("unit_tests") { "custom_links_manager_impl_unittest.cc", "custom_links_store_unittest.cc", "icon_cacher_impl_unittest.cc", - "metrics_unittest.cc", "most_visited_sites_unittest.cc", "popular_sites_impl_unittest.cc", ] diff --git a/components/ntp_tiles/custom_links_manager_impl.cc b/components/ntp_tiles/custom_links_manager_impl.cc --- a/components/ntp_tiles/custom_links_manager_impl.cc +++ b/components/ntp_tiles/custom_links_manager_impl.cc @@ -216,7 +216,6 @@ void CustomLinksManagerImpl::RemoveCustomLinksForPreinstalledApps() { } } if (default_app_links_deleted) { - metrics::RecordsMigratedDefaultAppDeleted(TileType::kCustomLinks); prefs_->SetBoolean(prefs::kCustomLinksForPreinstalledAppsRemoved, true); } } diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/most_visited_sites.cc --- a/components/ntp_tiles/most_visited_sites.cc +++ b/components/ntp_tiles/most_visited_sites.cc @@ -970,10 +970,6 @@ void MostVisitedSites::SaveTilesAndNotify( ? RemoveInvalidPreinstallApps(new_tiles) : new_tiles; - if (fixed_tiles.size() != new_tiles.size()) { - metrics::RecordsMigratedDefaultAppDeleted(TileType::kTopSites); - } - fixed_tiles = ImposeCustomLinks(std::move(fixed_tiles)); fixed_tiles = ImposeEnterpriseShortcuts(std::move(fixed_tiles)); diff --git a/components/performance_manager/persistence/site_data/leveldb_site_data_store.cc b/components/performance_manager/persistence/site_data/leveldb_site_data_store.cc --- a/components/performance_manager/persistence/site_data/leveldb_site_data_store.cc +++ b/components/performance_manager/persistence/site_data/leveldb_site_data_store.cc @@ -37,7 +37,7 @@ namespace { #if !BUILDFLAG(IS_ANDROID) // Disable some testing features in Android to reduce APK size. -std::atomic g_use_in_memory_db_for_testing = false; +std::atomic g_use_in_memory_db_for_testing = true; #endif // !BUILDFLAG(IS_ANDROID) // Attempt to repair the database stored in |db_path|. diff --git a/services/metrics/public/cpp/ukm_recorder.cc b/services/metrics/public/cpp/ukm_recorder.cc --- a/services/metrics/public/cpp/ukm_recorder.cc +++ b/services/metrics/public/cpp/ukm_recorder.cc @@ -199,4 +199,5 @@ void UkmRecorder::RemoveObserver(Observer* observer) { observers_.RemoveObserver(observer); } +SET_CROMITE_FEATURE_DISABLED(kUkmFeature); } // namespace ukm --