| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/webui/ntp/ntp_user_data_logger.h" | 5 #include "chrome/browser/ui/webui/ntp/ntp_user_data_logger.h" |
| 6 | 6 |
| 7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
| 8 #include "base/metrics/statistics_recorder.h" | 8 #include "base/metrics/statistics_recorder.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "chrome/common/search/ntp_logging_events.h" | 10 #include "chrome/common/search/ntp_logging_events.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 | 36 |
| 37 } // namespace | 37 } // namespace |
| 38 | 38 |
| 39 class NTPUserDataLoggerTest : public testing::Test { | 39 class NTPUserDataLoggerTest : public testing::Test { |
| 40 content::TestBrowserThreadBundle thread_bundle_; | 40 content::TestBrowserThreadBundle thread_bundle_; |
| 41 }; | 41 }; |
| 42 | 42 |
| 43 TEST_F(NTPUserDataLoggerTest, TestLogging) { | 43 TEST_F(NTPUserDataLoggerTest, TestLogging) { |
| 44 base::StatisticsRecorder::Initialize(); | 44 base::StatisticsRecorder::Initialize(); |
| 45 | 45 |
| 46 // Ensure empty statistics. | |
| 47 EXPECT_EQ(0, GetTotalCount("NewTabPage.NumberOfMouseOvers")); | |
| 48 EXPECT_EQ(0, GetBinCount("NewTabPage.NumberOfMouseOvers", 0)); | |
| 49 | |
| 50 // Enusure non-zero statistics. | 46 // Enusure non-zero statistics. |
| 51 TestNTPUserDataLogger logger; | 47 TestNTPUserDataLogger logger; |
| 52 | 48 |
| 53 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); | 49 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); |
| 54 | 50 |
| 55 for (int i = 0; i < 20; ++i) | |
| 56 logger.LogEvent(NTP_MOUSEOVER, delta); | |
| 57 for (int i = 0; i < 8; ++i) | 51 for (int i = 0; i < 8; ++i) |
| 58 logger.LogEvent(NTP_TILE, delta); | 52 logger.LogEvent(NTP_TILE, delta); |
| 59 for (int i = 0; i < 4; ++i) | 53 for (int i = 0; i < 4; ++i) |
| 60 logger.LogEvent(NTP_THUMBNAIL_TILE, delta); | 54 logger.LogEvent(NTP_THUMBNAIL_TILE, delta); |
| 61 for (int i = 0; i < 2; ++i) | 55 for (int i = 0; i < 2; ++i) |
| 62 logger.LogEvent(NTP_THUMBNAIL_ERROR, delta); | 56 logger.LogEvent(NTP_THUMBNAIL_ERROR, delta); |
| 63 logger.LogEvent(NTP_GRAY_TILE_FALLBACK, delta); | 57 logger.LogEvent(NTP_GRAY_TILE_FALLBACK, delta); |
| 64 logger.LogEvent(NTP_EXTERNAL_TILE_FALLBACK, delta); | 58 logger.LogEvent(NTP_EXTERNAL_TILE_FALLBACK, delta); |
| 65 for (int i = 0; i < 2; ++i) | 59 for (int i = 0; i < 2; ++i) |
| 66 logger.LogEvent(NTP_EXTERNAL_TILE, delta); | 60 logger.LogEvent(NTP_EXTERNAL_TILE, delta); |
| 67 for (int i = 0; i < 2; ++i) | 61 for (int i = 0; i < 2; ++i) |
| 68 logger.LogEvent(NTP_GRAY_TILE, delta); | 62 logger.LogEvent(NTP_GRAY_TILE, delta); |
| 69 logger.LogEvent(NTP_SERVER_SIDE_SUGGESTION, delta); | 63 logger.LogEvent(NTP_SERVER_SIDE_SUGGESTION, delta); |
| 70 | 64 |
| 71 logger.EmitNtpStatistics(); | 65 logger.EmitNtpStatistics(); |
| 72 | 66 |
| 73 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfMouseOvers")); | |
| 74 EXPECT_EQ(0, GetBinCount("NewTabPage.NumberOfMouseOvers", 0)); | |
| 75 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfMouseOvers", 20)); | |
| 76 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles")); | 67 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles")); |
| 77 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfTiles", 8)); | 68 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfTiles", 8)); |
| 78 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailTiles")); | 69 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailTiles")); |
| 79 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfThumbnailTiles", 4)); | 70 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfThumbnailTiles", 4)); |
| 80 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailErrors")); | 71 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailErrors")); |
| 81 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfThumbnailErrors", 2)); | 72 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfThumbnailErrors", 2)); |
| 82 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTileFallbacks")); | 73 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTileFallbacks")); |
| 83 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfGrayTileFallbacks", 1)); | 74 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfGrayTileFallbacks", 1)); |
| 84 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTileFallbacks")); | 75 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTileFallbacks")); |
| 85 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfExternalTileFallbacks", 1)); | 76 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfExternalTileFallbacks", 1)); |
| 86 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTiles")); | 77 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTiles")); |
| 87 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfExternalTiles", 2)); | 78 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfExternalTiles", 2)); |
| 88 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTiles")); | 79 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTiles")); |
| 89 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfGrayTiles", 2)); | 80 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfGrayTiles", 2)); |
| 90 EXPECT_EQ(1, GetTotalCount("NewTabPage.SuggestionsType")); | 81 EXPECT_EQ(1, GetTotalCount("NewTabPage.SuggestionsType")); |
| 91 EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsType", 1)); | 82 EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsType", 1)); |
| 92 | 83 |
| 93 // Statistics should be reset to 0, so we should not log anything else. | 84 // Statistics should be reset to 0, so we should not log anything else. |
| 94 logger.EmitNtpStatistics(); | 85 logger.EmitNtpStatistics(); |
| 95 EXPECT_EQ(2, GetTotalCount("NewTabPage.NumberOfMouseOvers")); | |
| 96 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfMouseOvers", 0)); | |
| 97 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfMouseOvers", 20)); | |
| 98 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles")); | 86 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles")); |
| 99 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailTiles")); | 87 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailTiles")); |
| 100 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailErrors")); | 88 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailErrors")); |
| 101 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTileFallbacks")); | 89 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTileFallbacks")); |
| 102 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTileFallbacks")); | 90 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTileFallbacks")); |
| 103 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTiles")); | 91 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTiles")); |
| 104 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTiles")); | 92 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTiles")); |
| 105 EXPECT_EQ(1, GetTotalCount("NewTabPage.SuggestionsType")); | 93 EXPECT_EQ(1, GetTotalCount("NewTabPage.SuggestionsType")); |
| 106 } | 94 } |
| 107 | 95 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 1)); | 165 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 1)); |
| 178 EXPECT_EQ(0, GetBinCount("NewTabPage.MostVisited.client", 5)); | 166 EXPECT_EQ(0, GetBinCount("NewTabPage.MostVisited.client", 5)); |
| 179 | 167 |
| 180 logger.LogMostVisitedNavigation(5, NTPLoggingTileSource::CLIENT); | 168 logger.LogMostVisitedNavigation(5, NTPLoggingTileSource::CLIENT); |
| 181 EXPECT_EQ(4, GetTotalCount("NewTabPage.MostVisited")); | 169 EXPECT_EQ(4, GetTotalCount("NewTabPage.MostVisited")); |
| 182 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.server", 1)); | 170 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.server", 1)); |
| 183 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.server", 5)); | 171 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.server", 5)); |
| 184 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 1)); | 172 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 1)); |
| 185 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 5)); | 173 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 5)); |
| 186 } | 174 } |
| OLD | NEW |