| Index: chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc
|
| diff --git a/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc b/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc
|
| index da644f5eb7dbd82671bbe493f153994754ac78fe..a8b828d0e4b2c0025898d8d2c11f24b4c9c857f5 100644
|
| --- a/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc
|
| +++ b/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc
|
| @@ -16,6 +16,7 @@
|
| #include "chrome/common/search/search_urls.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "components/browser_sync/profile_sync_service.h"
|
| +#include "components/ntp_tiles/metrics.h"
|
| #include "components/sync_sessions/sessions_sync_manager.h"
|
| #include "components/sync_sessions/sync_sessions_metrics.h"
|
| #include "content/public/browser/navigation_details.h"
|
| @@ -25,35 +26,6 @@
|
|
|
| namespace {
|
|
|
| -// Name of the histogram keeping track of suggestion impressions.
|
| -const char kMostVisitedImpressionHistogramName[] =
|
| - "NewTabPage.SuggestionsImpression";
|
| -
|
| -// Format string to generate the name for the histogram keeping track of
|
| -// suggestion impressions.
|
| -const char kMostVisitedImpressionHistogramWithProvider[] =
|
| - "NewTabPage.SuggestionsImpression.%s";
|
| -
|
| -// Name of the histogram keeping track of suggestion navigations.
|
| -const char kMostVisitedNavigationHistogramName[] =
|
| - "NewTabPage.MostVisited";
|
| -
|
| -// Format string to generate the name for the histogram keeping track of
|
| -// suggestion navigations.
|
| -const char kMostVisitedNavigationHistogramWithProvider[] =
|
| - "NewTabPage.MostVisited.%s";
|
| -
|
| -std::string GetSourceName(NTPLoggingTileSource tile_source) {
|
| - switch (tile_source) {
|
| - case NTPLoggingTileSource::CLIENT:
|
| - return "client";
|
| - case NTPLoggingTileSource::SERVER:
|
| - return "server";
|
| - }
|
| - NOTREACHED();
|
| - return std::string();
|
| -}
|
| -
|
| void RecordSyncSessionMetrics(content::WebContents* contents) {
|
| if (!contents)
|
| return;
|
| @@ -69,6 +41,17 @@ void RecordSyncSessionMetrics(content::WebContents* contents) {
|
| sessions);
|
| }
|
|
|
| +ntp_tiles::NTPTileSource ConvertTileSource(NTPLoggingTileSource tile_source) {
|
| + switch (tile_source) {
|
| + case NTPLoggingTileSource::CLIENT:
|
| + return ntp_tiles::NTPTileSource::TOP_SITES;
|
| + case NTPLoggingTileSource::SERVER:
|
| + return ntp_tiles::NTPTileSource::SUGGESTIONS_SERVICE;
|
| + }
|
| + NOTREACHED();
|
| + return ntp_tiles::NTPTileSource::TOP_SITES;
|
| +}
|
| +
|
| } // namespace
|
|
|
| DEFINE_WEB_CONTENTS_USER_DATA_KEY(NTPUserDataLogger);
|
| @@ -142,36 +125,14 @@ void NTPUserDataLogger::LogMostVisitedImpression(
|
| break;
|
| }
|
|
|
| - UMA_HISTOGRAM_ENUMERATION(kMostVisitedImpressionHistogramName, position,
|
| - kNumMostVisited);
|
| -
|
| - // Cannot rely on UMA histograms macro because the name of the histogram is
|
| - // generated dynamically.
|
| - base::HistogramBase* counter = base::LinearHistogram::FactoryGet(
|
| - base::StringPrintf(kMostVisitedImpressionHistogramWithProvider,
|
| - GetSourceName(tile_source).c_str()),
|
| - 1,
|
| - kNumMostVisited,
|
| - kNumMostVisited + 1,
|
| - base::Histogram::kUmaTargetedHistogramFlag);
|
| - counter->Add(position);
|
| + ntp_tiles::metrics::RecordTileImpression(position,
|
| + ConvertTileSource(tile_source));
|
| }
|
|
|
| void NTPUserDataLogger::LogMostVisitedNavigation(
|
| int position, NTPLoggingTileSource tile_source) {
|
| - UMA_HISTOGRAM_ENUMERATION(kMostVisitedNavigationHistogramName, position,
|
| - kNumMostVisited);
|
| -
|
| - // Cannot rely on UMA histograms macro because the name of the histogram is
|
| - // generated dynamically.
|
| - base::HistogramBase* counter = base::LinearHistogram::FactoryGet(
|
| - base::StringPrintf(kMostVisitedNavigationHistogramWithProvider,
|
| - GetSourceName(tile_source).c_str()),
|
| - 1,
|
| - kNumMostVisited,
|
| - kNumMostVisited + 1,
|
| - base::Histogram::kUmaTargetedHistogramFlag);
|
| - counter->Add(position);
|
| + ntp_tiles::metrics::RecordTileClick(position, ConvertTileSource(tile_source),
|
| + ntp_tiles::metrics::THUMBNAIL);
|
|
|
| // Records the action. This will be available as a time-stamped stream
|
| // server-side and can be used to compute time-to-long-dwell.
|
| @@ -219,12 +180,15 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time) {
|
| DVLOG(1) << "Emitting NTP load time: " << load_time << ", "
|
| << "number of tiles: " << number_of_tiles;
|
|
|
| + ntp_tiles::metrics::RecordPageImpression(number_of_tiles);
|
| +
|
| LogLoadTimeHistogram("NewTabPage.LoadTime", load_time);
|
|
|
| // Split between ML and MV.
|
| std::string type = has_server_side_suggestions_ ?
|
| "MostLikely" : "MostVisited";
|
| LogLoadTimeHistogram("NewTabPage.LoadTime." + type, load_time);
|
| +
|
| // Split between Web and Local.
|
| std::string source = ntp_url_.SchemeIsHTTPOrHTTPS() ? "Web" : "LocalNTP";
|
| LogLoadTimeHistogram("NewTabPage.LoadTime." + source, load_time);
|
| @@ -233,9 +197,6 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time) {
|
| std::string status = during_startup_ ? "Startup" : "NewTab";
|
| LogLoadTimeHistogram("NewTabPage.LoadTime." + status, load_time);
|
|
|
| - UMA_HISTOGRAM_CUSTOM_COUNTS(
|
| - "NewTabPage.NumberOfTiles", number_of_tiles, 1, kNumMostVisited,
|
| - kNumMostVisited + 1);
|
| has_emitted_ = true;
|
| during_startup_ = false;
|
| }
|
|
|