Index: components/ntp_tiles/metrics.cc |
diff --git a/components/ntp_tiles/metrics.cc b/components/ntp_tiles/metrics.cc |
index 0a2f207c32393722a1142221581dbee18bb8e6f4..819a6aed935e2a6206b653b4e0fc839fdffec5f6 100644 |
--- a/components/ntp_tiles/metrics.cc |
+++ b/components/ntp_tiles/metrics.cc |
@@ -27,9 +27,11 @@ const char kHistogramPopularName[] = "popular"; |
const char kHistogramWhitelistName[] = "whitelist"; |
// Suffixes for the various icon types. |
-const char kIconTypeSuffixColor[] = "IconsColor"; |
-const char kIconTypeSuffixGray[] = "IconsGray"; |
-const char kIconTypeSuffixReal[] = "IconsReal"; |
+const char kTileTypeSuffixIconColor[] = "IconsColor"; |
+const char kTileTypeSuffixIconGray[] = "IconsGray"; |
+const char kTileTypeSuffixIconReal[] = "IconsReal"; |
+const char kTileTypeSuffixThumbnail[] = "Thumbnail"; |
+const char kTileTypeSuffixThumbnailFailed[] = "ThumbnailFailed"; |
// Log an event for a given |histogram| at a given element |position|. This |
// routine exists because regular histogram macros are cached thus can't be used |
@@ -59,17 +61,19 @@ std::string GetSourceHistogramName(TileSource source) { |
return std::string(); |
} |
-const char* GetIconTypeSuffix(TileVisualType type) { |
+const char* GetTileTypeSuffix(TileVisualType type) { |
switch (type) { |
case TileVisualType::ICON_COLOR: |
- return kIconTypeSuffixColor; |
+ return kTileTypeSuffixIconColor; |
case TileVisualType::ICON_DEFAULT: |
- return kIconTypeSuffixGray; |
+ return kTileTypeSuffixIconGray; |
case TileVisualType::ICON_REAL: |
- return kIconTypeSuffixReal; |
+ return kTileTypeSuffixIconReal; |
+ case THUMBNAIL: |
+ return kTileTypeSuffixThumbnail; |
+ case THUMBNAIL_FAILED: |
+ return kTileTypeSuffixThumbnailFailed; |
case TileVisualType::NONE: // Fall through. |
- case TileVisualType::NUM_RECORDED_TILE_TYPES: // Fall through. |
- case TileVisualType::THUMBNAIL: // Fall through. |
case TileVisualType::UNKNOWN_TILE_TYPE: |
break; |
} |
@@ -85,7 +89,6 @@ void RecordPageImpression(const std::vector<TileImpression>& tiles, |
for (int index = 0; index < static_cast<int>(tiles.size()); index++) { |
TileSource source = tiles[index].source; |
TileVisualType tile_type = tiles[index].type; |
- const GURL& url = tiles[index].url; |
UMA_HISTOGRAM_ENUMERATION("NewTabPage.SuggestionsImpression", index, |
kMaxNumTiles); |
@@ -95,26 +98,28 @@ void RecordPageImpression(const std::vector<TileImpression>& tiles, |
"NewTabPage.SuggestionsImpression.%s", source_name.c_str()); |
LogHistogramEvent(impression_histogram, index, kMaxNumTiles); |
- if (tile_type >= NUM_RECORDED_TILE_TYPES) { |
+ if (tile_type > LAST_RECORDED_TILE_TYPE) { |
continue; |
} |
UMA_HISTOGRAM_ENUMERATION("NewTabPage.TileType", tile_type, |
- NUM_RECORDED_TILE_TYPES); |
+ LAST_RECORDED_TILE_TYPE + 1); |
std::string tile_type_histogram = |
base::StringPrintf("NewTabPage.TileType.%s", source_name.c_str()); |
- LogHistogramEvent(tile_type_histogram, tile_type, NUM_RECORDED_TILE_TYPES); |
+ LogHistogramEvent(tile_type_histogram, tile_type, |
+ LAST_RECORDED_TILE_TYPE + 1); |
- const char* icon_type_suffix = GetIconTypeSuffix(tile_type); |
- if (icon_type_suffix) { |
+ const char* tile_type_suffix = GetTileTypeSuffix(tile_type); |
+ if (tile_type_suffix) { |
+ // Note: This handles a null |rappor_service|. |
rappor::SampleDomainAndRegistryFromGURL( |
rappor_service, |
- base::StringPrintf("NTP.SuggestionsImpressions.%s", icon_type_suffix), |
- url); |
+ base::StringPrintf("NTP.SuggestionsImpressions.%s", tile_type_suffix), |
+ tiles[index].url); |
std::string icon_impression_histogram = base::StringPrintf( |
- "NewTabPage.SuggestionsImpression.%s", icon_type_suffix); |
+ "NewTabPage.SuggestionsImpression.%s", tile_type_suffix); |
LogHistogramEvent(icon_impression_histogram, index, kMaxNumTiles); |
} |
} |
@@ -127,21 +132,21 @@ void RecordTileClick(int index, TileSource source, TileVisualType tile_type) { |
"NewTabPage.MostVisited.%s", GetSourceHistogramName(source).c_str()); |
LogHistogramEvent(histogram, index, kMaxNumTiles); |
- const char* icon_type_suffix = GetIconTypeSuffix(tile_type); |
- if (icon_type_suffix) { |
- std::string icon_histogram = |
- base::StringPrintf("NewTabPage.MostVisited.%s", icon_type_suffix); |
- LogHistogramEvent(icon_histogram, index, kMaxNumTiles); |
+ const char* tile_type_suffix = GetTileTypeSuffix(tile_type); |
+ if (tile_type_suffix) { |
+ std::string tile_type_histogram = |
+ base::StringPrintf("NewTabPage.MostVisited.%s", tile_type_suffix); |
+ LogHistogramEvent(tile_type_histogram, index, kMaxNumTiles); |
} |
- if (tile_type < NUM_RECORDED_TILE_TYPES) { |
+ if (tile_type <= LAST_RECORDED_TILE_TYPE) { |
UMA_HISTOGRAM_ENUMERATION("NewTabPage.TileTypeClicked", tile_type, |
- NUM_RECORDED_TILE_TYPES); |
+ LAST_RECORDED_TILE_TYPE + 1); |
std::string histogram = |
base::StringPrintf("NewTabPage.TileTypeClicked.%s", |
GetSourceHistogramName(source).c_str()); |
- LogHistogramEvent(histogram, tile_type, NUM_RECORDED_TILE_TYPES); |
+ LogHistogramEvent(histogram, tile_type, LAST_RECORDED_TILE_TYPE + 1); |
} |
} |