[Cleanup] Rename UMA_HISTOGRAM_SPARSE_SLOWLY to base::UmaHistogramSparse().

This CL only covers //components.  Will migrate the other uses in sibling CLs.

[email protected]

Bug: 773850
Change-Id: Ia57dc5c75b5d2ab57436be3264b20c9d2b9b4342
Reviewed-on: https://chromium-review.googlesource.com/818726
Commit-Queue: Ilya Sherman <[email protected]>
Reviewed-by: Colin Blundell <[email protected]>
Cr-Commit-Position: refs/heads/master@{#523321}
diff --git a/components/autofill/core/browser/autofill_metrics.cc b/components/autofill/core/browser/autofill_metrics.cc
index 85cc547c..5beba32 100644
--- a/components/autofill/core/browser/autofill_metrics.cc
+++ b/components/autofill/core/browser/autofill_metrics.cc
@@ -11,7 +11,6 @@
 #include "base/logging.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/metrics/user_metrics.h"
 #include "base/strings/strcat.h"
 #include "base/strings/string_piece.h"
@@ -554,8 +553,8 @@
 
   DCHECK_LE(predicted_type, UINT16_MAX);
   DCHECK_LE(actual_type, UINT16_MAX);
-  UMA_HISTOGRAM_SPARSE_SLOWLY(raw_data_histogram,
-                              (predicted_type << 16) | actual_type);
+  base::UmaHistogramSparse(raw_data_histogram,
+                           (predicted_type << 16) | actual_type);
 
   form_interactions_ukm_logger->LogFieldType(
       form.form_parsed_timestamp(), form.form_signature(),
@@ -1132,8 +1131,8 @@
 // static
 void AutofillMetrics::LogAutofillSuggestionAcceptedIndex(int index) {
   // A maximum of 50 is enforced to minimize the number of buckets generated.
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Autofill.SuggestionAcceptedIndex",
-                              std::min(index, 50));
+  base::UmaHistogramSparse("Autofill.SuggestionAcceptedIndex",
+                           std::min(index, 50));
 
   base::RecordAction(base::UserMetricsAction("Autofill_SelectedSuggestion"));
 }
@@ -1141,8 +1140,8 @@
 // static
 void AutofillMetrics::LogAutocompleteSuggestionAcceptedIndex(int index) {
   // A maximum of 50 is enforced to minimize the number of buckets generated.
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Autofill.SuggestionAcceptedIndex.Autocomplete",
-                              std::min(index, 50));
+  base::UmaHistogramSparse("Autofill.SuggestionAcceptedIndex.Autocomplete",
+                           std::min(index, 50));
 }
 
 // static
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc
index 2d65deb..58e17ba 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc
@@ -7,6 +7,7 @@
 #include <vector>
 
 #include "base/metrics/field_trial_params.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/time/time.h"
@@ -168,7 +169,7 @@
       net::ERR_CONNECTION_RESET > -400 && net::ERR_SSL_PROTOCOL_ERROR > -400,
       "net error is not handled");
 
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
+  base::UmaHistogramSparse(
       "DataReductionProxy.InvalidResponseHeadersReceived.NetError",
       -status.error());
 
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.cc
index a8eb96ca..070c52ae 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.cc
@@ -5,8 +5,8 @@
 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.h"
 
 #include "base/callback.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h"
 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_headers.h"
 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
@@ -35,14 +35,12 @@
     const net::ProxyServer& proxy_server,
     int net_error) {
   if (is_primary) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
-        "DataReductionProxy.BypassOnNetworkErrorPrimary",
-        std::abs(net_error));
+    base::UmaHistogramSparse("DataReductionProxy.BypassOnNetworkErrorPrimary",
+                             std::abs(net_error));
     return;
   }
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
-      "DataReductionProxy.BypassOnNetworkErrorFallback",
-      std::abs(net_error));
+  base::UmaHistogramSparse("DataReductionProxy.BypassOnNetworkErrorFallback",
+                           std::abs(net_error));
 }
 
 }  // namespace
@@ -82,11 +80,11 @@
   }
 
   if (is_primary) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
+    base::UmaHistogramSparse(
         "DataReductionProxy.MissingViaHeader.ResponseCode.Primary",
         headers.response_code());
   } else {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
+    base::UmaHistogramSparse(
         "DataReductionProxy.MissingViaHeader.ResponseCode.Fallback",
         headers.response_code());
   }
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
index 9d025c1..573d068 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
@@ -15,8 +15,8 @@
 #include "base/metrics/field_trial.h"
 #include "base/metrics/histogram.h"
 #include "base/metrics/histogram_base.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/optional.h"
 #include "base/single_thread_task_runner.h"
 #include "base/stl_util.h"
@@ -432,8 +432,8 @@
     // TODO(bengr): Remove once we understand the reasons secure proxy checks
     // are failing. Secure proxy check errors are either due to fetcher-level
     // errors or modified responses. This only tracks the former.
-    UMA_HISTOGRAM_SPARSE_SLOWLY(kUMAProxyProbeURLNetError,
-                                std::abs(status.error()));
+    base::UmaHistogramSparse(kUMAProxyProbeURLNetError,
+                             std::abs(status.error()));
   }
 
   bool secure_proxy_allowed_past =
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc
index 0791b5c..693a123 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc
@@ -14,8 +14,8 @@
 #include "base/json/json_writer.h"
 #include "base/location.h"
 #include "base/logging.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/values.h"
 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h"
@@ -474,8 +474,7 @@
 
   if (net::NetworkChangeNotifier::GetConnectionType() !=
       net::NetworkChangeNotifier::CONNECTION_NONE) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(kUMAConfigServiceFetchResponseCode,
-                                response_code);
+    base::UmaHistogramSparse(kUMAConfigServiceFetchResponseCode, response_code);
   }
 
   if (status.status() == net::URLRequestStatus::SUCCESS &&
diff --git a/components/data_reduction_proxy/core/browser/warmup_url_fetcher.cc b/components/data_reduction_proxy/core/browser/warmup_url_fetcher.cc
index 735738e..8109c36 100644
--- a/components/data_reduction_proxy/core/browser/warmup_url_fetcher.cc
+++ b/components/data_reduction_proxy/core/browser/warmup_url_fetcher.cc
@@ -5,6 +5,7 @@
 #include "components/data_reduction_proxy/core/browser/warmup_url_fetcher.h"
 
 #include "base/guid.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_headers.h"
 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
@@ -95,11 +96,11 @@
       "DataReductionProxy.WarmupURL.FetchSuccessful",
       source->GetStatus().status() == net::URLRequestStatus::SUCCESS);
 
-  UMA_HISTOGRAM_SPARSE_SLOWLY("DataReductionProxy.WarmupURL.NetError",
-                              std::abs(source->GetStatus().error()));
+  base::UmaHistogramSparse("DataReductionProxy.WarmupURL.NetError",
+                           std::abs(source->GetStatus().error()));
 
-  UMA_HISTOGRAM_SPARSE_SLOWLY("DataReductionProxy.WarmupURL.HttpResponseCode",
-                              std::abs(source->GetResponseCode()));
+  base::UmaHistogramSparse("DataReductionProxy.WarmupURL.HttpResponseCode",
+                           std::abs(source->GetResponseCode()));
 
   if (source->GetResponseHeaders()) {
     UMA_HISTOGRAM_BOOLEAN(
@@ -114,4 +115,4 @@
   }
 }
 
-}  // namespace data_reduction_proxy
\ No newline at end of file
+}  // namespace data_reduction_proxy
diff --git a/components/domain_reliability/uploader.cc b/components/domain_reliability/uploader.cc
index a4cc7de4..1bda01b 100644
--- a/components/domain_reliability/uploader.cc
+++ b/components/domain_reliability/uploader.cc
@@ -10,7 +10,7 @@
 #include "base/callback.h"
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/supports_user_data.h"
 #include "components/domain_reliability/util.h"
 #include "net/base/load_flags.h"
@@ -173,10 +173,9 @@
             << ", response code " << http_response_code
             << ", retry after " << retry_after;
 
-    UMA_HISTOGRAM_SPARSE_SLOWLY("DomainReliability.UploadResponseCode",
-                                http_response_code);
-    UMA_HISTOGRAM_SPARSE_SLOWLY("DomainReliability.UploadNetError",
-                                -net_error);
+    base::UmaHistogramSparse("DomainReliability.UploadResponseCode",
+                             http_response_code);
+    base::UmaHistogramSparse("DomainReliability.UploadNetError", -net_error);
 
     UploadResult result;
     GetUploadResultFromResponseDetails(net_error,
diff --git a/components/download/content/internal/download_driver_impl.cc b/components/download/content/internal/download_driver_impl.cc
index 0554e55..e6d3f64a 100644
--- a/components/download/content/internal/download_driver_impl.cc
+++ b/components/download/content/internal/download_driver_impl.cc
@@ -8,7 +8,7 @@
 #include <vector>
 
 #include "base/memory/ptr_util.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/trace_event/memory_usage_estimator.h"
 #include "components/download/internal/driver_entry.h"
@@ -64,8 +64,7 @@
 
 // Logs interrupt reason when download fails.
 void LogDownloadInterruptReason(content::DownloadInterruptReason reason) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Download.Service.Driver.InterruptReason",
-                              reason);
+  base::UmaHistogramSparse("Download.Service.Driver.InterruptReason", reason);
 }
 
 }  // namespace
diff --git a/components/download/internal/stats.cc b/components/download/internal/stats.cc
index 7967baf..c32ad80e 100644
--- a/components/download/internal/stats.cc
+++ b/components/download/internal/stats.cc
@@ -345,8 +345,8 @@
   UMA_HISTOGRAM_CUSTOM_TIMES("Download.Service.Files.LifeTime", file_life_time,
                              base::TimeDelta::FromSeconds(1),
                              base::TimeDelta::FromDays(8), 100);
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Download.Service.Files.Cleanup.Attempts",
-                              num_cleanup_attempts);
+  base::UmaHistogramSparse("Download.Service.Files.Cleanup.Attempts",
+                           num_cleanup_attempts);
 }
 
 void LogFileDirDiskUtilization(int64_t total_disk_space,
diff --git a/components/drive/resource_metadata_storage.cc b/components/drive/resource_metadata_storage.cc
index 60eb58a..91c44d6 100644
--- a/components/drive/resource_metadata_storage.cc
+++ b/components/drive/resource_metadata_storage.cc
@@ -17,6 +17,7 @@
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/metrics/histogram.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/sequenced_task_runner.h"
 #include "base/threading/thread_restrictions.h"
@@ -529,8 +530,8 @@
                          &serialized_header).ok() ||
       !header.ParseFromString(serialized_header))
     return false;
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Drive.MetadataDBVersionBeforeUpgradeCheck",
-                              header.version());
+  base::UmaHistogramSparse("Drive.MetadataDBVersionBeforeUpgradeCheck",
+                           header.version());
 
   switch (header.version()) {
     case 1:
diff --git a/components/favicon/core/favicon_handler.cc b/components/favicon/core/favicon_handler.cc
index 0126530..739ea8d 100644
--- a/components/favicon/core/favicon_handler.cc
+++ b/components/favicon/core/favicon_handler.cc
@@ -13,6 +13,7 @@
 #include "base/bind_helpers.h"
 #include "base/feature_list.h"
 #include "base/memory/ref_counted_memory.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "build/build_config.h"
 #include "components/favicon/core/favicon_service.h"
@@ -53,16 +54,15 @@
   attempts = std::max(0, std::min(attempts, 16));
   switch (handler_type) {
     case FaviconDriverObserver::NON_TOUCH_16_DIP:
-      UMA_HISTOGRAM_SPARSE_SLOWLY("Favicons.DownloadAttempts.Favicons",
-                                  attempts);
+      base::UmaHistogramSparse("Favicons.DownloadAttempts.Favicons", attempts);
       return;
     case FaviconDriverObserver::NON_TOUCH_LARGEST:
-      UMA_HISTOGRAM_SPARSE_SLOWLY("Favicons.DownloadAttempts.LargeIcons",
-                                  attempts);
+      base::UmaHistogramSparse("Favicons.DownloadAttempts.LargeIcons",
+                               attempts);
       return;
     case FaviconDriverObserver::TOUCH_LARGEST:
-      UMA_HISTOGRAM_SPARSE_SLOWLY("Favicons.DownloadAttempts.TouchIcons",
-                                  attempts);
+      base::UmaHistogramSparse("Favicons.DownloadAttempts.TouchIcons",
+                               attempts);
       return;
   }
   NOTREACHED();
diff --git a/components/favicon/core/large_icon_service.cc b/components/favicon/core/large_icon_service.cc
index 1dc430d8..8d8c73a 100644
--- a/components/favicon/core/large_icon_service.cc
+++ b/components/favicon/core/large_icon_service.cc
@@ -18,6 +18,7 @@
 #include "base/memory/ref_counted.h"
 #include "base/memory/singleton.h"
 #include "base/metrics/field_trial_params.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/stringprintf.h"
 #include "base/task_runner.h"
@@ -187,8 +188,8 @@
     DCHECK_GT(fallback_icon_size, 0);
     fallback_icon_size = std::min(fallback_icon_size, 128);
   }
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Favicons.LargeIconService.FallbackSize",
-                              fallback_icon_size);
+  base::UmaHistogramSparse("Favicons.LargeIconService.FallbackSize",
+                           fallback_icon_size);
 }
 
 void FinishServerRequestAsynchronously(
diff --git a/components/guest_view/browser/bad_message.cc b/components/guest_view/browser/bad_message.cc
index f16f086..81240a0 100644
--- a/components/guest_view/browser/bad_message.cc
+++ b/components/guest_view/browser/bad_message.cc
@@ -5,7 +5,7 @@
 #include "components/guest_view/browser/bad_message.h"
 
 #include "base/logging.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "content/public/browser/browser_message_filter.h"
 #include "content/public/browser/render_process_host.h"
 
@@ -16,8 +16,7 @@
 
 void LogBadMessage(BadMessageReason reason) {
   LOG(ERROR) << "Terminating renderer for bad IPC message, reason " << reason;
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Stability.BadMessageTerminated.GuestView",
-                              reason);
+  base::UmaHistogramSparse("Stability.BadMessageTerminated.GuestView", reason);
 }
 
 }  // namespace
diff --git a/components/history/core/browser/history_database.cc b/components/history/core/browser/history_database.cc
index 1640c737..d0fce2b 100644
--- a/components/history/core/browser/history_database.cc
+++ b/components/history/core/browser/history_database.cc
@@ -15,6 +15,7 @@
 #include "base/command_line.h"
 #include "base/containers/hash_tables.h"
 #include "base/files/file_util.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/numerics/safe_conversions.h"
 #include "base/rand_util.h"
@@ -46,8 +47,7 @@
 // what to return from ::Init (to simplify the call sites). Migration failures
 // are almost always fatal since the database can be in an inconsistent state.
 sql::InitStatus LogMigrationFailure(int from_version) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY("History.MigrateFailureFromVersion",
-                              from_version);
+  base::UmaHistogramSparse("History.MigrateFailureFromVersion", from_version);
   LOG(ERROR) << "History failed to migrate from version " << from_version
              << ". History will be disabled.";
   return sql::INIT_FAILURE;
@@ -68,8 +68,8 @@
 };
 
 sql::InitStatus LogInitFailure(InitStep what) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY("History.InitializationFailureStep",
-                              static_cast<int>(what));
+  base::UmaHistogramSparse("History.InitializationFailureStep",
+                           static_cast<int>(what));
   return sql::INIT_FAILURE;
 }
 
diff --git a/components/infobars/core/infobar_container.cc b/components/infobars/core/infobar_container.cc
index f101220..461c009 100644
--- a/components/infobars/core/infobar_container.cc
+++ b/components/infobars/core/infobar_container.cc
@@ -9,7 +9,7 @@
 #include "base/auto_reset.h"
 #include "base/logging.h"
 #include "base/metrics/histogram_base.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/metrics_hashes.h"
 #include "build/build_config.h"
 #include "components/infobars/core/infobar.h"
@@ -159,8 +159,8 @@
 
   // Record the infobar being displayed.
   DCHECK_NE(InfoBarDelegate::INVALID, infobar->delegate()->GetIdentifier());
-  UMA_HISTOGRAM_SPARSE_SLOWLY("InfoBar.Shown",
-                              infobar->delegate()->GetIdentifier());
+  base::UmaHistogramSparse("InfoBar.Shown",
+                           infobar->delegate()->GetIdentifier());
 }
 
 }  // namespace infobars
diff --git a/components/language_usage_metrics/language_usage_metrics.cc b/components/language_usage_metrics/language_usage_metrics.cc
index 34ac3ba..51c061b8 100644
--- a/components/language_usage_metrics/language_usage_metrics.cc
+++ b/components/language_usage_metrics/language_usage_metrics.cc
@@ -6,14 +6,13 @@
 
 #include <algorithm>
 
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/strings/string_tokenizer.h"
 #include "base/strings/string_util.h"
 
 namespace {
 void RecordAcceptLanguage(int language_code) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY("LanguageUsage.AcceptLanguage",
-                              language_code);
+  base::UmaHistogramSparse("LanguageUsage.AcceptLanguage", language_code);
 }
 }  // namespace
 
@@ -32,8 +31,8 @@
     const std::string& application_locale) {
   const int language_code = ToLanguageCode(application_locale);
   if (language_code != 0)
-    UMA_HISTOGRAM_SPARSE_SLOWLY("LanguageUsage.ApplicationLanguage",
-                                language_code);
+    base::UmaHistogramSparse("LanguageUsage.ApplicationLanguage",
+                             language_code);
 }
 
 // static
diff --git a/components/metrics/metrics_reporting_service.cc b/components/metrics/metrics_reporting_service.cc
index 0f2f219..4ab08d7 100644
--- a/components/metrics/metrics_reporting_service.cc
+++ b/components/metrics/metrics_reporting_service.cc
@@ -8,6 +8,7 @@
 
 #include "base/bind.h"
 #include "base/callback.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "components/metrics/metrics_pref_names.h"
 #include "components/metrics/persisted_logs_metrics_impl.h"
@@ -76,13 +77,11 @@
                                                      int error_code,
                                                      bool was_https) {
   if (was_https) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
-        "UMA.LogUpload.ResponseOrErrorCode",
-        response_code >= 0 ? response_code : error_code);
+    base::UmaHistogramSparse("UMA.LogUpload.ResponseOrErrorCode",
+                             response_code >= 0 ? response_code : error_code);
   } else {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
-        "UMA.LogUpload.ResponseOrErrorCode.HTTP",
-        response_code >= 0 ? response_code : error_code);
+    base::UmaHistogramSparse("UMA.LogUpload.ResponseOrErrorCode.HTTP",
+                             response_code >= 0 ? response_code : error_code);
   }
 }
 
diff --git a/components/metrics/metrics_service.cc b/components/metrics/metrics_service.cc
index 256941b6..4a26e60 100644
--- a/components/metrics/metrics_service.cc
+++ b/components/metrics/metrics_service.cc
@@ -134,10 +134,10 @@
 #include "base/location.h"
 #include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_base.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/histogram_samples.h"
 #include "base/metrics/persistent_histogram_allocator.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/metrics/statistics_recorder.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/string_piece.h"
@@ -479,8 +479,8 @@
     // monitoring.
     state_manager_->clean_exit_beacon()->WriteBeaconValue(true);
     ExecutionPhaseManager manager(local_state_);
-    UMA_HISTOGRAM_SPARSE_SLOWLY("Chrome.Browser.CrashedExecutionPhase",
-                                static_cast<int>(manager.GetExecutionPhase()));
+    base::UmaHistogramSparse("Chrome.Browser.CrashedExecutionPhase",
+                             static_cast<int>(manager.GetExecutionPhase()));
     manager.SetExecutionPhase(ExecutionPhase::UNINITIALIZED_PHASE);
   }
 
diff --git a/components/metrics/metrics_state_manager.cc b/components/metrics/metrics_state_manager.cc
index 3ab6e8d..ef15b0b 100644
--- a/components/metrics/metrics_state_manager.cc
+++ b/components/metrics/metrics_state_manager.cc
@@ -10,8 +10,8 @@
 #include "base/command_line.h"
 #include "base/guid.h"
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/rand_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/threading/thread_restrictions.h"
@@ -51,8 +51,8 @@
 
 // Records the given |low_entorpy_source_value| in a histogram.
 void LogLowEntropyValue(int low_entropy_source_value) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY("UMA.LowEntropySourceValue",
-                              low_entropy_source_value);
+  base::UmaHistogramSparse("UMA.LowEntropySourceValue",
+                           low_entropy_source_value);
 }
 
 int64_t ReadEnabledDate(PrefService* local_state) {
diff --git a/components/metrics/stability_metrics_helper.cc b/components/metrics/stability_metrics_helper.cc
index 46faa24..7c700c6e 100644
--- a/components/metrics/stability_metrics_helper.cc
+++ b/components/metrics/stability_metrics_helper.cc
@@ -9,8 +9,8 @@
 #include <vector>
 
 #include "base/logging.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/metrics/user_metrics.h"
 #include "build/build_config.h"
 #include "build/buildflag.h"
@@ -200,13 +200,13 @@
 #endif
         IncrementPrefValue(prefs::kStabilityExtensionRendererCrashCount);
 
-        UMA_HISTOGRAM_SPARSE_SLOWLY("CrashExitCodes.Extension",
-                                    MapCrashExitCodeForHistogram(exit_code));
+        base::UmaHistogramSparse("CrashExitCodes.Extension",
+                                 MapCrashExitCodeForHistogram(exit_code));
       } else {
         IncrementPrefValue(prefs::kStabilityRendererCrashCount);
 
-        UMA_HISTOGRAM_SPARSE_SLOWLY("CrashExitCodes.Renderer",
-                                    MapCrashExitCodeForHistogram(exit_code));
+        base::UmaHistogramSparse("CrashExitCodes.Renderer",
+                                 MapCrashExitCodeForHistogram(exit_code));
       }
 
       UMA_HISTOGRAM_ENUMERATION("BrowserRenderProcessHost.ChildCrashes",
@@ -237,7 +237,7 @@
     case base::TERMINATION_STATUS_LAUNCH_FAILED:
       UMA_HISTOGRAM_ENUMERATION("BrowserRenderProcessHost.ChildLaunchFailures",
                                 histogram_type, RENDERER_TYPE_COUNT);
-      UMA_HISTOGRAM_SPARSE_SLOWLY(
+      base::UmaHistogramSparse(
           "BrowserRenderProcessHost.ChildLaunchFailureCodes", exit_code);
       if (was_extension_process)
         IncrementPrefValue(prefs::kStabilityExtensionRendererFailedLaunchCount);
diff --git a/components/nacl/browser/bad_message.cc b/components/nacl/browser/bad_message.cc
index a6a9429..1a4874a 100644
--- a/components/nacl/browser/bad_message.cc
+++ b/components/nacl/browser/bad_message.cc
@@ -5,7 +5,7 @@
 #include "components/nacl/browser/bad_message.h"
 
 #include "base/logging.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "content/public/browser/browser_message_filter.h"
 
 namespace nacl {
@@ -14,7 +14,7 @@
 void ReceivedBadMessage(content::BrowserMessageFilter* filter,
                         BadMessageReason reason) {
   LOG(ERROR) << "Terminating renderer for bad IPC message, reason " << reason;
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Stability.BadMessageTerminated.NaCl", reason);
+  base::UmaHistogramSparse("Stability.BadMessageTerminated.NaCl", reason);
   filter->ShutdownForBadMessage();
 }
 
diff --git a/components/network_time/network_time_tracker.cc b/components/network_time/network_time_tracker.cc
index 119bb290..19697a33 100644
--- a/components/network_time/network_time_tracker.cc
+++ b/components/network_time/network_time_tracker.cc
@@ -12,8 +12,8 @@
 #include "base/json/json_reader.h"
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/rand_util.h"
 #include "base/run_loop.h"
 #include "base/strings/string_number_conversions.h"
@@ -526,8 +526,8 @@
              << ",code=" << time_fetcher_->GetResponseCode();
     // The error code is negated because net errors are negative, but
     // the corresponding histogram enum is positive.
-    UMA_HISTOGRAM_SPARSE_SLOWLY("NetworkTimeTracker.UpdateTimeFetchFailed",
-                                -time_fetcher_->GetStatus().error());
+    base::UmaHistogramSparse("NetworkTimeTracker.UpdateTimeFetchFailed",
+                             -time_fetcher_->GetStatus().error());
     return false;
   }
 
diff --git a/components/ntp_snippets/remote/json_request.cc b/components/ntp_snippets/remote/json_request.cc
index b334545..8d0f10d 100644
--- a/components/ntp_snippets/remote/json_request.cc
+++ b/components/ntp_snippets/remote/json_request.cc
@@ -11,8 +11,8 @@
 #include "base/command_line.h"
 #include "base/json/json_writer.h"
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/strings/stringprintf.h"
 #include "base/time/clock.h"
 #include "base/values.h"
@@ -167,9 +167,8 @@
   DCHECK_EQ(url_fetcher_.get(), source);
   const URLRequestStatus& status = url_fetcher_->GetStatus();
   int response = url_fetcher_->GetResponseCode();
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
-      "NewTabPage.Snippets.FetchHttpResponseOrErrorCode",
-      status.is_success() ? response : status.error());
+  base::UmaHistogramSparse("NewTabPage.Snippets.FetchHttpResponseOrErrorCode",
+                           status.is_success() ? response : status.error());
 
   if (!status.is_success()) {
     std::move(request_completed_callback_)
diff --git a/components/ntp_snippets/remote/remote_suggestions_fetcher_impl.cc b/components/ntp_snippets/remote/remote_suggestions_fetcher_impl.cc
index 7e366d3..6482903 100644
--- a/components/ntp_snippets/remote/remote_suggestions_fetcher_impl.cc
+++ b/components/ntp_snippets/remote/remote_suggestions_fetcher_impl.cc
@@ -5,6 +5,7 @@
 #include "components/ntp_snippets/remote/remote_suggestions_fetcher_impl.h"
 
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
@@ -161,11 +162,11 @@
     const RequestParams& params,
     SnippetsAvailableCallback callback) {
   if (!params.interactive_request) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
+    base::UmaHistogramSparse(
         "NewTabPage.Snippets.FetchTimeLocal",
         GetMinuteOfTheDay(/*local_time=*/true,
                           /*reduced_resolution=*/true, clock_));
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
+    base::UmaHistogramSparse(
         "NewTabPage.Snippets.FetchTimeUTC",
         GetMinuteOfTheDay(/*local_time=*/false,
                           /*reduced_resolution=*/true, clock_));
diff --git a/components/ntp_snippets/remote/remote_suggestions_provider_impl.cc b/components/ntp_snippets/remote/remote_suggestions_provider_impl.cc
index 0f1906e..0c172b9 100644
--- a/components/ntp_snippets/remote/remote_suggestions_provider_impl.cc
+++ b/components/ntp_snippets/remote/remote_suggestions_provider_impl.cc
@@ -13,8 +13,8 @@
 #include "base/location.h"
 #include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial_params.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/stl_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
@@ -301,8 +301,8 @@
   UMA_HISTOGRAM_BOOLEAN("NewTabPage.Snippets.IncompleteSnippetsAfterFetch",
                         num_suggestions_removed > 0);
   if (num_suggestions_removed > 0) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY("NewTabPage.Snippets.NumIncompleteSnippets",
-                                num_suggestions_removed);
+    base::UmaHistogramSparse("NewTabPage.Snippets.NumIncompleteSnippets",
+                             num_suggestions_removed);
   }
 }
 
@@ -971,7 +971,7 @@
     bool response_includes_article_category = false;
     for (FetchedCategory& fetched_category : *fetched_categories) {
       if (fetched_category.category == articles_category_) {
-        UMA_HISTOGRAM_SPARSE_SLOWLY(
+        base::UmaHistogramSparse(
             "NewTabPage.Snippets.NumArticlesFetched",
             std::min(fetched_category.suggestions.size(),
                      static_cast<size_t>(kMaxNormalFetchSuggestionCount)));
@@ -1041,8 +1041,8 @@
   auto content_it = category_contents_.find(articles_category_);
   DCHECK(content_it != category_contents_.end());
   const CategoryContent& content = content_it->second;
-  UMA_HISTOGRAM_SPARSE_SLOWLY("NewTabPage.Snippets.NumArticles",
-                              content.suggestions.size());
+  base::UmaHistogramSparse("NewTabPage.Snippets.NumArticles",
+                           content.suggestions.size());
   if (content.suggestions.empty() && !content.dismissed.empty()) {
     UMA_HISTOGRAM_COUNTS("NewTabPage.Snippets.NumArticlesZeroDueToDiscarded",
                          content.dismissed.size());
diff --git a/components/ntp_tiles/metrics.cc b/components/ntp_tiles/metrics.cc
index c700806..bce9376 100644
--- a/components/ntp_tiles/metrics.cc
+++ b/components/ntp_tiles/metrics.cc
@@ -8,7 +8,6 @@
 
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/strings/stringprintf.h"
 #include "components/rappor/public/rappor_utils.h"
 
@@ -84,7 +83,7 @@
 }  // namespace
 
 void RecordPageImpression(int number_of_tiles) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY("NewTabPage.NumberOfTiles", number_of_tiles);
+  base::UmaHistogramSparse("NewTabPage.NumberOfTiles", number_of_tiles);
 }
 
 void RecordTileImpression(const NTPTileImpression& impression,
diff --git a/components/offline_pages/core/prefetch/metrics_finalization_task.cc b/components/offline_pages/core/prefetch/metrics_finalization_task.cc
index 4243206..75e56b6 100644
--- a/components/offline_pages/core/prefetch/metrics_finalization_task.cc
+++ b/components/offline_pages/core/prefetch/metrics_finalization_task.cc
@@ -11,6 +11,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/sparse_histogram.h"
 #include "components/offline_pages/core/offline_store_utils.h"
@@ -176,8 +177,8 @@
   }
 
   // Error code reporting.
-  UMA_HISTOGRAM_SPARSE_SLOWLY("OfflinePages.Prefetching.FinishedItemErrorCode",
-                              static_cast<int>(url.error_code));
+  base::UmaHistogramSparse("OfflinePages.Prefetching.FinishedItemErrorCode",
+                           static_cast<int>(url.error_code));
 
   // Unexpected file size reporting.
   int file_size_enum_value =
diff --git a/components/offline_pages/core/prefetch/stale_entry_finalizer_task.cc b/components/offline_pages/core/prefetch/stale_entry_finalizer_task.cc
index 89f0db79..bd836ad 100644
--- a/components/offline_pages/core/prefetch/stale_entry_finalizer_task.cc
+++ b/components/offline_pages/core/prefetch/stale_entry_finalizer_task.cc
@@ -7,7 +7,7 @@
 #include <array>
 
 #include "base/bind.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "components/offline_pages/core/offline_store_utils.h"
 #include "components/offline_pages/core/prefetch/prefetch_dispatcher.h"
 #include "components/offline_pages/core/prefetch/prefetch_downloader.h"
@@ -133,8 +133,8 @@
   statement.BindInt64(0, earliest_valid_creation_time);
 
   while (statement.Step()) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY("OfflinePages.Prefetching.StuckItemState",
-                                statement.ColumnInt(0));
+    base::UmaHistogramSparse("OfflinePages.Prefetching.StuckItemState",
+                             statement.ColumnInt(0));
   }
 }
 
diff --git a/components/omnibox/browser/clipboard_url_provider.cc b/components/omnibox/browser/clipboard_url_provider.cc
index 42809bf8..7ffb4b975 100644
--- a/components/omnibox/browser/clipboard_url_provider.cc
+++ b/components/omnibox/browser/clipboard_url_provider.cc
@@ -8,6 +8,7 @@
 
 #include "base/feature_list.h"
 #include "base/logging.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/utf_string_conversions.h"
 #include "components/omnibox/browser/autocomplete_input.h"
@@ -79,7 +80,7 @@
     current_url_suggested_ = url;
     current_url_suggested_times_ = 1;
   }
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
+  base::UmaHistogramSparse(
       "Omnibox.ClipboardSuggestionShownNumTimes",
       std::min(current_url_suggested_times_, static_cast<size_t>(20)));
 
diff --git a/components/omnibox/browser/search_suggestion_parser.cc b/components/omnibox/browser/search_suggestion_parser.cc
index 674e7d2..1bfae522 100644
--- a/components/omnibox/browser/search_suggestion_parser.cc
+++ b/components/omnibox/browser/search_suggestion_parser.cc
@@ -15,6 +15,7 @@
 #include "base/json/json_string_value_serializer.h"
 #include "base/json/json_writer.h"
 #include "base/logging.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
@@ -556,8 +557,7 @@
             answer = SuggestionAnswer::ParseAnswer(answer_json);
             int answer_type = 0;
             if (answer && base::StringToInt(answer_type_str, &answer_type)) {
-              UMA_HISTOGRAM_SPARSE_SLOWLY("Omnibox.AnswerParseType",
-                                          answer_type);
+              base::UmaHistogramSparse("Omnibox.AnswerParseType", answer_type);
               answer_parsed_successfully = true;
 
               answer->set_type(answer_type);
diff --git a/components/password_manager/content/browser/bad_message.cc b/components/password_manager/content/browser/bad_message.cc
index a829773..c46175f 100644
--- a/components/password_manager/content/browser/bad_message.cc
+++ b/components/password_manager/content/browser/bad_message.cc
@@ -5,7 +5,7 @@
 #include "components/password_manager/content/browser/bad_message.h"
 
 #include "base/logging.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "content/public/browser/render_process_host.h"
 
 namespace password_manager {
@@ -16,8 +16,8 @@
   LOG(ERROR)
       << "Terminating renderer for bad PasswordManager IPC message, reason "
       << static_cast<int>(reason);
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Stability.BadMessageTerminated.PasswordManager",
-                              static_cast<int>(reason));
+  base::UmaHistogramSparse("Stability.BadMessageTerminated.PasswordManager",
+                           static_cast<int>(reason));
   host->ShutdownForBadMessage(
       content::RenderProcessHost::CrashReportMode::GENERATE_CRASH_DUMP);
 }
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc
index eac6188..83e9f38 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc
@@ -11,8 +11,8 @@
 #include <string>
 #include <utility>
 
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "components/password_manager/core/browser/android_affiliation/affiliation_api.pb.h"
 #include "components/password_manager/core/browser/android_affiliation/affiliation_utils.h"
 #include "components/password_manager/core/browser/android_affiliation/test_affiliation_fetcher_factory.h"
@@ -46,11 +46,11 @@
   UMA_HISTOGRAM_ENUMERATION("PasswordManager.AffiliationFetcher.FetchResult",
                             result, AFFILIATION_FETCH_RESULT_MAX);
   if (fetcher) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
+    base::UmaHistogramSparse(
         "PasswordManager.AffiliationFetcher.FetchHttpResponseCode",
         fetcher->GetResponseCode());
     // Network error codes are negative. See: src/net/base/net_error_list.h.
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
+    base::UmaHistogramSparse(
         "PasswordManager.AffiliationFetcher.FetchErrorCode",
         -fetcher->GetStatus().error());
   }
diff --git a/components/password_manager/core/browser/login_database.cc b/components/password_manager/core/browser/login_database.cc
index 5870ea41..8c07677 100644
--- a/components/password_manager/core/browser/login_database.cc
+++ b/components/password_manager/core/browser/login_database.cc
@@ -16,8 +16,8 @@
 #include "base/files/file_path.h"
 #include "base/logging.h"
 #include "base/macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/numerics/safe_conversions.h"
 #include "base/pickle.h"
 #include "base/stl_util.h"
@@ -600,8 +600,8 @@
     meta_table_.SetVersionNumber(kCurrentVersionNumber);
   } else {
     LogDatabaseInitError(MIGRATION_ERROR);
-    UMA_HISTOGRAM_SPARSE_SLOWLY("PasswordManager.LoginDatabaseFailedVersion",
-                                meta_table_.GetVersionNumber());
+    base::UmaHistogramSparse("PasswordManager.LoginDatabaseFailedVersion",
+                             meta_table_.GetVersionNumber());
     LOG(ERROR) << "Unable to migrate database from "
                << meta_table_.GetVersionNumber() << " to "
                << kCurrentVersionNumber;
diff --git a/components/payments/core/journey_logger.cc b/components/payments/core/journey_logger.cc
index 1db75fc0..b14cb2c 100644
--- a/components/payments/core/journey_logger.cc
+++ b/components/payments/core/journey_logger.cc
@@ -7,7 +7,6 @@
 #include <algorithm>
 
 #include "base/metrics/histogram_functions.h"
-#include "base/metrics/histogram_macros.h"
 #include "services/metrics/public/cpp/ukm_builders.h"
 #include "services/metrics/public/cpp/ukm_recorder.h"
 
@@ -240,7 +239,7 @@
     events_ |= EVENT_HAD_INITIAL_FORM_OF_PAYMENT;
 
   // Record the events in UMA.
-  UMA_HISTOGRAM_SPARSE_SLOWLY("PaymentRequest.Events", events_);
+  base::UmaHistogramSparse("PaymentRequest.Events", events_);
 
   if (!ukm_recorder_ || !url_.is_valid())
     return;
diff --git a/components/policy/core/browser/browser_policy_connector.cc b/components/policy/core/browser/browser_policy_connector.cc
index 6ea20cd..b8e2c06 100644
--- a/components/policy/core/browser/browser_policy_connector.cc
+++ b/components/policy/core/browser/browser_policy_connector.cc
@@ -12,8 +12,8 @@
 #include "base/command_line.h"
 #include "base/logging.h"
 #include "base/macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/strings/string16.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/thread_task_runner_handle.h"
@@ -82,8 +82,8 @@
     ReportRegexSuccessMetric(false);
     UMA_HISTOGRAM_ENUMERATION("Enterprise.DomainWhitelistRegexFailure",
                               index, arraysize(kNonManagedDomainPatterns));
-    UMA_HISTOGRAM_SPARSE_SLOWLY("Enterprise.DomainWhitelistRegexFailureStatus",
-                                status);
+    base::UmaHistogramSparse("Enterprise.DomainWhitelistRegexFailureStatus",
+                             status);
     return false;
   }
   ReportRegexSuccessMetric(true);
diff --git a/components/policy/core/common/policy_loader_win.cc b/components/policy/core/common/policy_loader_win.cc
index 8d0aaa47..f7fefd7 100644
--- a/components/policy/core/common/policy_loader_win.cc
+++ b/components/policy/core/common/policy_loader_win.cc
@@ -130,8 +130,7 @@
 
       const PolicyDetails* details =
           GetChromePolicyDetails(key::kExtensionInstallForcelist);
-      UMA_HISTOGRAM_SPARSE_SLOWLY("EnterpriseCheck.InvalidPolicies",
-                                  details->id);
+      base::UmaHistogramSparse("EnterpriseCheck.InvalidPolicies", details->id);
     }
   }
 
@@ -142,8 +141,7 @@
       invalid_policies++;
       const PolicyDetails* details =
           GetChromePolicyDetails(kInsecurePolicies[i]);
-      UMA_HISTOGRAM_SPARSE_SLOWLY("EnterpriseCheck.InvalidPolicies",
-                                  details->id);
+      base::UmaHistogramSparse("EnterpriseCheck.InvalidPolicies", details->id);
     }
   }
 
diff --git a/components/policy/core/common/policy_statistics_collector.cc b/components/policy/core/common/policy_statistics_collector.cc
index 8fba816..de3cd16 100644
--- a/components/policy/core/common/policy_statistics_collector.cc
+++ b/components/policy/core/common/policy_statistics_collector.cc
@@ -11,7 +11,7 @@
 #include "base/callback.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/task_runner.h"
 #include "components/policy/core/common/policy_pref_names.h"
 #include "components/policy/core/common/policy_service.h"
@@ -59,7 +59,7 @@
 }
 
 void PolicyStatisticsCollector::RecordPolicyUse(int id) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Enterprise.Policies", id);
+  base::UmaHistogramSparse("Enterprise.Policies", id);
 }
 
 void PolicyStatisticsCollector::CollectStatistics() {
diff --git a/components/previews/core/previews_opt_out_store_sql.cc b/components/previews/core/previews_opt_out_store_sql.cc
index da88903..53f7254 100644
--- a/components/previews/core/previews_opt_out_store_sql.cc
+++ b/components/previews/core/previews_opt_out_store_sql.cc
@@ -15,6 +15,7 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/sequenced_task_runner.h"
 #include "base/single_thread_task_runner.h"
@@ -115,8 +116,7 @@
   // The default handling is to assert on debug and to ignore on release.
   if (!sql::Connection::IsExpectedSqliteError(extended_error)) {
     DLOG(WARNING) << db->GetErrorMessage();
-    UMA_HISTOGRAM_SPARSE_SLOWLY("Previews.OptOut.SQLiteLoadError",
-                                extended_error);
+    base::UmaHistogramSparse("Previews.OptOut.SQLiteLoadError", extended_error);
   }
 }
 
diff --git a/components/proximity_auth/metrics.cc b/components/proximity_auth/metrics.cc
index b8ceb1f..d14a5e7 100644
--- a/components/proximity_auth/metrics.cc
+++ b/components/proximity_auth/metrics.cc
@@ -11,8 +11,8 @@
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/md5.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/sys_byteorder.h"
 
 namespace proximity_auth {
@@ -52,16 +52,16 @@
   if (rolling_rssi != kUnknownProximityValue)
     rolling_rssi = std::min(50, std::max(-100, rolling_rssi));
 
-  UMA_HISTOGRAM_SPARSE_SLOWLY("EasyUnlock.AuthProximity.RollingRssi",
-                              rolling_rssi);
+  base::UmaHistogramSparse("EasyUnlock.AuthProximity.RollingRssi",
+                           rolling_rssi);
 }
 
 void RecordAuthProximityTransmitPowerDelta(int transmit_power_delta) {
   if (transmit_power_delta != kUnknownProximityValue)
     transmit_power_delta = std::min(50, std::max(-100, transmit_power_delta));
 
-  UMA_HISTOGRAM_SPARSE_SLOWLY("EasyUnlock.AuthProximity.TransmitPowerDelta",
-                              transmit_power_delta);
+  base::UmaHistogramSparse("EasyUnlock.AuthProximity.TransmitPowerDelta",
+                           transmit_power_delta);
 }
 
 void RecordAuthProximityTimeSinceLastZeroRssi(
@@ -71,8 +71,8 @@
 }
 
 void RecordAuthProximityRemoteDeviceModelHash(const std::string& device_model) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY("EasyUnlock.AuthProximity.RemoteDeviceModelHash",
-                              HashDeviceModelName(device_model));
+  base::UmaHistogramSparse("EasyUnlock.AuthProximity.RemoteDeviceModelHash",
+                           HashDeviceModelName(device_model));
 }
 
 void RecordRemoteSecuritySettingsState(RemoteSecuritySettingsState state) {
diff --git a/components/rappor/log_uploader.cc b/components/rappor/log_uploader.cc
index 1530148..f957858a 100644
--- a/components/rappor/log_uploader.cc
+++ b/components/rappor/log_uploader.cc
@@ -8,8 +8,8 @@
 #include <stdint.h>
 #include <utility>
 
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "components/data_use_measurement/core/data_use_user_data.h"
 #include "net/base/load_flags.h"
 #include "net/base/net_errors.h"
@@ -178,15 +178,15 @@
   DVLOG(2) << "Upload fetch complete response code: " << response_code;
 
   if (request_status.status() != net::URLRequestStatus::SUCCESS) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY("Rappor.FailedUploadErrorCode",
-                                -request_status.error());
+    base::UmaHistogramSparse("Rappor.FailedUploadErrorCode",
+                             -request_status.error());
     DVLOG(1) << "Rappor server upload failed with error: "
              << request_status.error() << ": "
              << net::ErrorToString(request_status.error());
     DCHECK_EQ(-1, response_code);
   } else {
     // Log a histogram to track response success vs. failure rates.
-    UMA_HISTOGRAM_SPARSE_SLOWLY("Rappor.UploadResponseCode", response_code);
+    base::UmaHistogramSparse("Rappor.UploadResponseCode", response_code);
   }
 
   const bool upload_succeeded = response_code == 200;
diff --git a/components/safe_browsing/db/prefix_set.cc b/components/safe_browsing/db/prefix_set.cc
index 815bce8..b615520 100644
--- a/components/safe_browsing/db/prefix_set.cc
+++ b/components/safe_browsing/db/prefix_set.cc
@@ -14,8 +14,7 @@
 #include "base/logging.h"
 #include "base/md5.h"
 #include "base/memory/ptr_util.h"
-#include "base/metrics/histogram.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 
 namespace safe_browsing {
 
@@ -187,7 +186,7 @@
     return nullptr;
 
   // Track version read to inform removal of support for older versions.
-  UMA_HISTOGRAM_SPARSE_SLOWLY("SB2.PrefixSetVersionRead", header.version);
+  base::UmaHistogramSparse("SB2.PrefixSetVersionRead", header.version);
 
   if (header.version <= kDeprecatedVersion) {
     return nullptr;
diff --git a/components/safe_browsing/db/v4_protocol_manager_util.cc b/components/safe_browsing/db/v4_protocol_manager_util.cc
index 8b07e68..453b54a 100644
--- a/components/safe_browsing/db/v4_protocol_manager_util.cc
+++ b/components/safe_browsing/db/v4_protocol_manager_util.cc
@@ -6,7 +6,7 @@
 
 #include "base/base64.h"
 #include "base/hash.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/rand_util.h"
 #include "base/sha1.h"
 #include "base/strings/string_util.h"
@@ -259,7 +259,7 @@
     const char* metric_name,
     const net::URLRequestStatus& status,
     int response_code) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
+  base::UmaHistogramSparse(
       metric_name, status.is_success() ? response_code : status.error());
 }
 
diff --git a/components/safe_browsing/db/v4_store.cc b/components/safe_browsing/db/v4_store.cc
index e6a019a3..8e264bf 100644
--- a/components/safe_browsing/db/v4_store.cc
+++ b/components/safe_browsing/db/v4_store.cc
@@ -8,8 +8,8 @@
 #include "base/bind.h"
 #include "base/files/file_util.h"
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/stl_util.h"
 #include "base/strings/stringprintf.h"
 #include "components/safe_browsing/db/v4_rice.h"
@@ -700,8 +700,8 @@
     return UNEXPECTED_MAGIC_NUMBER_FAILURE;
   }
 
-  UMA_HISTOGRAM_SPARSE_SLOWLY("SafeBrowsing.V4StoreVersionRead",
-                              file_format.version_number());
+  base::UmaHistogramSparse("SafeBrowsing.V4StoreVersionRead",
+                           file_format.version_number());
   if (file_format.version_number() != kFileVersion) {
     return FILE_VERSION_INCOMPATIBLE_FAILURE;
   }
diff --git a/components/safe_browsing/password_protection/password_protection_request.cc b/components/safe_browsing/password_protection/password_protection_request.cc
index 5a37aca..754ccc6 100644
--- a/components/safe_browsing/password_protection/password_protection_request.cc
+++ b/components/safe_browsing/password_protection/password_protection_request.cc
@@ -6,6 +6,7 @@
 
 #include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "components/data_use_measurement/core/data_use_user_data.h"
 #include "components/password_manager/core/browser/password_reuse_detector.h"
@@ -298,7 +299,7 @@
   const bool is_success = status.is_success();
   const int response_code = source->GetResponseCode();
 
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
+  base::UmaHistogramSparse(
       "PasswordProtection.PasswordProtectionResponseOrErrorCode",
       is_success ? response_code : status.error());
 
diff --git a/components/suggestions/suggestions_service_impl.cc b/components/suggestions/suggestions_service_impl.cc
index c01817d..21e28ee7 100644
--- a/components/suggestions/suggestions_service_impl.cc
+++ b/components/suggestions/suggestions_service_impl.cc
@@ -11,8 +11,8 @@
 #include "base/location.h"
 #include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial_params.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
@@ -505,8 +505,8 @@
   if (request_status.status() != net::URLRequestStatus::SUCCESS) {
     // This represents network errors (i.e. the server did not provide a
     // response).
-    UMA_HISTOGRAM_SPARSE_SLOWLY("Suggestions.FailedRequestErrorCode",
-                                -request_status.error());
+    base::UmaHistogramSparse("Suggestions.FailedRequestErrorCode",
+                             -request_status.error());
     DVLOG(1) << "Suggestions server request failed with error: "
              << request_status.error() << ": "
              << net::ErrorToString(request_status.error());
@@ -516,7 +516,7 @@
   }
 
   const int response_code = request->GetResponseCode();
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Suggestions.FetchResponseCode", response_code);
+  base::UmaHistogramSparse("Suggestions.FetchResponseCode", response_code);
   if (response_code != net::HTTP_OK) {
     // A non-200 response code means that server has no (longer) suggestions for
     // this user. Aggressively clear the cache.
diff --git a/components/sync/device_info/device_count_metrics_provider.cc b/components/sync/device_info/device_count_metrics_provider.cc
index 7d35b58..3090da1e0 100644
--- a/components/sync/device_info/device_count_metrics_provider.cc
+++ b/components/sync/device_info/device_count_metrics_provider.cc
@@ -6,7 +6,7 @@
 
 #include <algorithm>
 
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "components/sync/device_info/device_info_tracker.h"
 
 namespace syncer {
@@ -29,8 +29,8 @@
 
 void DeviceCountMetricsProvider::ProvideCurrentSessionData(
     metrics::ChromeUserMetricsExtension* uma_proto) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Sync.DeviceCount",
-                              std::min(MaxActiveDeviceCount(), 100));
+  base::UmaHistogramSparse("Sync.DeviceCount",
+                           std::min(MaxActiveDeviceCount(), 100));
 }
 
 }  // namespace syncer
diff --git a/components/sync/engine/net/http_bridge.cc b/components/sync/engine/net/http_bridge.cc
index 90a4f876..98822ef 100644
--- a/components/sync/engine/net/http_bridge.cc
+++ b/components/sync/engine/net/http_bridge.cc
@@ -10,8 +10,8 @@
 
 #include "base/bit_cast.h"
 #include "base/location.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
@@ -366,10 +366,10 @@
 
   if (fetch_state_.request_succeeded)
     LogTimeout(false);
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Sync.URLFetchResponse",
-                              source->GetStatus().is_success()
-                                  ? source->GetResponseCode()
-                                  : source->GetStatus().ToNetError());
+  base::UmaHistogramSparse("Sync.URLFetchResponse",
+                           source->GetStatus().is_success()
+                               ? source->GetResponseCode()
+                               : source->GetStatus().ToNetError());
   UMA_HISTOGRAM_LONG_TIMES("Sync.URLFetchTime",
                            fetch_state_.end_time - fetch_state_.start_time);
 
diff --git a/components/sync/engine_impl/attachments/attachment_downloader_impl.cc b/components/sync/engine_impl/attachments/attachment_downloader_impl.cc
index 2ec1b1d..932ea3a 100644
--- a/components/sync/engine_impl/attachments/attachment_downloader_impl.cc
+++ b/components/sync/engine_impl/attachments/attachment_downloader_impl.cc
@@ -10,8 +10,8 @@
 #include "base/bind.h"
 #include "base/location.h"
 #include "base/metrics/histogram.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/single_thread_task_runner.h"
 #include "base/sys_byteorder.h"
 #include "base/threading/thread_task_runner_handle.h"
@@ -165,7 +165,7 @@
 
   net::URLRequestStatus status = source->GetStatus();
   const int response_code = source->GetResponseCode();
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
+  base::UmaHistogramSparse(
       "Sync.Attachments.DownloadResponseCode",
       status.is_success() ? response_code : status.error());
   if (response_code == net::HTTP_OK) {
diff --git a/components/sync/engine_impl/attachments/attachment_uploader_impl.cc b/components/sync/engine_impl/attachments/attachment_uploader_impl.cc
index 40c707b..683a6549b 100644
--- a/components/sync/engine_impl/attachments/attachment_uploader_impl.cc
+++ b/components/sync/engine_impl/attachments/attachment_uploader_impl.cc
@@ -12,7 +12,7 @@
 #include "base/bind.h"
 #include "base/location.h"
 #include "base/memory/weak_ptr.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/string_piece.h"
 #include "base/strings/stringprintf.h"
@@ -185,7 +185,7 @@
   AttachmentId attachment_id = attachment_.GetId();
   net::URLRequestStatus status = source->GetStatus();
   const int response_code = source->GetResponseCode();
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
+  base::UmaHistogramSparse(
       "Sync.Attachments.UploadResponseCode",
       status.is_success() ? response_code : status.error());
   if (response_code == net::HTTP_OK) {
diff --git a/components/sync_sessions/revisit/offset_tab_matcher.cc b/components/sync_sessions/revisit/offset_tab_matcher.cc
index 5ca1434..545f2ef 100644
--- a/components/sync_sessions/revisit/offset_tab_matcher.cc
+++ b/components/sync_sessions/revisit/offset_tab_matcher.cc
@@ -8,8 +8,8 @@
 
 #include <algorithm>
 
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "components/sessions/core/serialized_navigation_entry.h"
 #include "components/sessions/core/session_types.h"
 
@@ -65,8 +65,8 @@
     // sparse we could end up with a very large output space across many
     // clients. So we clamp on a resonable bound that's larger than we expect to
     // be sure no unexpected data causes problems.
-    UMA_HISTOGRAM_SPARSE_SLOWLY("Sync.PageRevisitNavigationMatchOffset",
-                                Clamp(best_offset_, -kMaxOffset, kMaxOffset));
+    base::UmaHistogramSparse("Sync.PageRevisitNavigationMatchOffset",
+                             Clamp(best_offset_, -kMaxOffset, kMaxOffset));
     REVISIT_HISTOGRAM_AGE("Sync.PageRevisitNavigationMatchAge",
                           best_tab_->timestamp);
     UMA_HISTOGRAM_ENUMERATION("Sync.PageRevisitNavigationMatchTransition",
diff --git a/components/translate/core/browser/translate_browser_metrics.cc b/components/translate/core/browser/translate_browser_metrics.cc
index 39ef114..7a3ef47ac 100644
--- a/components/translate/core/browser/translate_browser_metrics.cc
+++ b/components/translate/core/browser/translate_browser_metrics.cc
@@ -9,9 +9,9 @@
 #include <string>
 
 #include "base/macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/metrics_hashes.h"
-#include "base/metrics/sparse_histogram.h"
 #include "components/language_usage_metrics/language_usage_metrics.h"
 
 namespace translate {
@@ -76,7 +76,7 @@
 }
 
 void ReportLocalesOnDisabledByPrefs(const std::string& locale) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
+  base::UmaHistogramSparse(
       kTranslateLocalesOnDisabledByPrefs,
       language_usage_metrics::LanguageUsageMetrics::ToLanguageCode(locale));
 }
@@ -84,25 +84,24 @@
 void ReportUndisplayableLanguage(const std::string& language) {
   int language_code =
       language_usage_metrics::LanguageUsageMetrics::ToLanguageCode(language);
-  UMA_HISTOGRAM_SPARSE_SLOWLY(kTranslateUndisplayableLanguage,
-                              language_code);
+  base::UmaHistogramSparse(kTranslateUndisplayableLanguage, language_code);
 }
 
 void ReportUnsupportedLanguageAtInitiation(const std::string& language) {
   int language_code =
       language_usage_metrics::LanguageUsageMetrics::ToLanguageCode(language);
-  UMA_HISTOGRAM_SPARSE_SLOWLY(kTranslateUnsupportedLanguageAtInitiation,
-                              language_code);
+  base::UmaHistogramSparse(kTranslateUnsupportedLanguageAtInitiation,
+                           language_code);
 }
 
 void ReportTranslateSourceLanguage(const std::string& language) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY(kTranslateSourceLanguage,
-                              base::HashMetricName(language));
+  base::UmaHistogramSparse(kTranslateSourceLanguage,
+                           base::HashMetricName(language));
 }
 
 void ReportTranslateTargetLanguage(const std::string& language) {
-  UMA_HISTOGRAM_SPARSE_SLOWLY(kTranslateTargetLanguage,
-                              base::HashMetricName(language));
+  base::UmaHistogramSparse(kTranslateTargetLanguage,
+                           base::HashMetricName(language));
 }
 
 const char* GetMetricsName(MetricsNameIndex index) {
diff --git a/components/translate/core/common/translate_metrics.cc b/components/translate/core/common/translate_metrics.cc
index df910a8..db31f0e 100644
--- a/components/translate/core/common/translate_metrics.cc
+++ b/components/translate/core/common/translate_metrics.cc
@@ -9,6 +9,7 @@
 #include <algorithm>
 
 #include "base/macros.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/metrics_hashes.h"
 #include "url/url_constants.h"
@@ -119,7 +120,7 @@
   const std::string page_lang_token =
       it == std::end(kLanguageDetectionConflictPageLangs) ? "other" : *it;
 
-  UMA_HISTOGRAM_SPARSE_SLOWLY(
+  base::UmaHistogramSparse(
       metrics_internal::kTranslateLanguageDetectionConflict,
       base::HashMetricName(page_lang_token + "," + cld_lang));
 }
diff --git a/components/translate/core/language_detection/language_detection_util.cc b/components/translate/core/language_detection/language_detection_util.cc
index 619db24..48bd50e 100644
--- a/components/translate/core/language_detection/language_detection_util.cc
+++ b/components/translate/core/language_detection/language_detection_util.cc
@@ -9,9 +9,9 @@
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/metrics/histogram_base.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/metrics_hashes.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
@@ -90,8 +90,7 @@
   const base::HistogramBase::Sample pred_lang_hash =
       static_cast<base::HistogramBase::Sample>(
           base::HashMetricName(predicted_language));
-  UMA_HISTOGRAM_SPARSE_SLOWLY("Translate.CLD3.LanguageDetected",
-                              pred_lang_hash);
+  base::UmaHistogramSparse("Translate.CLD3.LanguageDetected", pred_lang_hash);
   if (predicted_language != chrome_lang_id::NNetLanguageIdentifier::kUnknown) {
     UMA_HISTOGRAM_PERCENTAGE("Translate.CLD3.LanguagePercentage",
                              static_cast<int>(100 * lang_id_result.proportion));
diff --git a/components/ukm/ukm_reporting_service.cc b/components/ukm/ukm_reporting_service.cc
index 9a7502ff..2ff266d6 100644
--- a/components/ukm/ukm_reporting_service.cc
+++ b/components/ukm/ukm_reporting_service.cc
@@ -8,6 +8,7 @@
 
 #include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial_params.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/ukm/persisted_logs_metrics_impl.h"
@@ -97,8 +98,8 @@
                                                  int error_code,
                                                  bool was_https) {
   // |was_https| is ignored since all UKM logs are received over HTTPS.
-  UMA_HISTOGRAM_SPARSE_SLOWLY("UKM.LogUpload.ResponseOrErrorCode",
-                              response_code >= 0 ? response_code : error_code);
+  base::UmaHistogramSparse("UKM.LogUpload.ResponseOrErrorCode",
+                           response_code >= 0 ? response_code : error_code);
 }
 
 void UkmReportingService::LogSuccess(size_t log_size) {
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
index 6bec272..26988a5d 100644
--- a/components/variations/service/variations_service.cc
+++ b/components/variations/service/variations_service.cc
@@ -16,8 +16,8 @@
 #include "base/command_line.h"
 #include "base/feature_list.h"
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
 #include "base/sys_info.h"
@@ -612,11 +612,11 @@
   const int response_code = request->GetResponseCode();
   bool was_https = request->GetURL().SchemeIs(url::kHttpsScheme);
   if (was_https) {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
+    base::UmaHistogramSparse(
         "Variations.SeedFetchResponseOrErrorCode",
         status.is_success() ? response_code : status.error());
   } else {
-    UMA_HISTOGRAM_SPARSE_SLOWLY(
+    base::UmaHistogramSparse(
         "Variations.SeedFetchResponseOrErrorCode.HTTP",
         status.is_success() ? response_code : status.error());
   }