| 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 <memory> | 7 #include <memory> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "base/metrics/histogram.h" | 11 #include "base/metrics/histogram.h" |
| 12 #include "base/metrics/statistics_recorder.h" | 12 #include "base/metrics/statistics_recorder.h" |
| 13 #include "base/test/histogram_tester.h" | 13 #include "base/test/histogram_tester.h" |
| 14 #include "chrome/common/search/ntp_logging_events.h" | 14 #include "chrome/common/search/ntp_logging_events.h" |
| 15 #include "testing/gmock/include/gmock/gmock.h" | 15 #include "testing/gmock/include/gmock/gmock.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
| 17 | 17 |
| 18 using base::Bucket; | 18 using base::Bucket; |
| 19 using ntp_tiles::NTPTileSource; | 19 using ntp_tiles::TileSource; |
| 20 using testing::ElementsAre; | 20 using testing::ElementsAre; |
| 21 using testing::IsEmpty; | 21 using testing::IsEmpty; |
| 22 using testing::SizeIs; | 22 using testing::SizeIs; |
| 23 | 23 |
| 24 namespace { | 24 namespace { |
| 25 | 25 |
| 26 using Sample = base::HistogramBase::Sample; | 26 using Sample = base::HistogramBase::Sample; |
| 27 using Samples = std::vector<Sample>; | 27 using Samples = std::vector<Sample>; |
| 28 | 28 |
| 29 class TestNTPUserDataLogger : public NTPUserDataLogger { | 29 class TestNTPUserDataLogger : public NTPUserDataLogger { |
| 30 public: | 30 public: |
| 31 TestNTPUserDataLogger() : NTPUserDataLogger(nullptr) {} | 31 TestNTPUserDataLogger() : NTPUserDataLogger(nullptr) {} |
| 32 ~TestNTPUserDataLogger() override {} | 32 ~TestNTPUserDataLogger() override {} |
| 33 }; | 33 }; |
| 34 | 34 |
| 35 } // namespace | 35 } // namespace |
| 36 | 36 |
| 37 TEST(NTPUserDataLoggerTest, TestNumberOfTiles) { | 37 TEST(NTPUserDataLoggerTest, TestNumberOfTiles) { |
| 38 base::StatisticsRecorder::Initialize(); | 38 base::StatisticsRecorder::Initialize(); |
| 39 | 39 |
| 40 base::HistogramTester histogram_tester; | 40 base::HistogramTester histogram_tester; |
| 41 | 41 |
| 42 // Ensure non-zero statistics. | 42 // Ensure non-zero statistics. |
| 43 TestNTPUserDataLogger logger; | 43 TestNTPUserDataLogger logger; |
| 44 logger.ntp_url_ = GURL("chrome://newtab/"); | 44 logger.ntp_url_ = GURL("chrome://newtab/"); |
| 45 | 45 |
| 46 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); | 46 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); |
| 47 | 47 |
| 48 for (int i = 0; i < 8; ++i) | 48 for (int i = 0; i < 8; ++i) |
| 49 logger.LogMostVisitedImpression(i, NTPTileSource::SUGGESTIONS_SERVICE); | 49 logger.LogMostVisitedImpression(i, TileSource::SUGGESTIONS_SERVICE); |
| 50 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); | 50 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); |
| 51 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), | 51 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), |
| 52 ElementsAre(Bucket(8, 1))); | 52 ElementsAre(Bucket(8, 1))); |
| 53 | 53 |
| 54 // We should not log again for the same NTP. | 54 // We should not log again for the same NTP. |
| 55 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); | 55 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); |
| 56 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), | 56 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), |
| 57 ElementsAre(Bucket(8, 1))); | 57 ElementsAre(Bucket(8, 1))); |
| 58 | 58 |
| 59 // Navigating away and back resets stats. | 59 // Navigating away and back resets stats. |
| (...skipping 10 matching lines...) Expand all Loading... |
| 70 base::StatisticsRecorder::Initialize(); | 70 base::StatisticsRecorder::Initialize(); |
| 71 | 71 |
| 72 base::HistogramTester histogram_tester; | 72 base::HistogramTester histogram_tester; |
| 73 | 73 |
| 74 TestNTPUserDataLogger logger; | 74 TestNTPUserDataLogger logger; |
| 75 logger.ntp_url_ = GURL("chrome://newtab/"); | 75 logger.ntp_url_ = GURL("chrome://newtab/"); |
| 76 | 76 |
| 77 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); | 77 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); |
| 78 | 78 |
| 79 // Impressions increment the associated bins. | 79 // Impressions increment the associated bins. |
| 80 logger.LogMostVisitedImpression(0, NTPTileSource::SUGGESTIONS_SERVICE); | 80 logger.LogMostVisitedImpression(0, TileSource::SUGGESTIONS_SERVICE); |
| 81 logger.LogMostVisitedImpression(1, NTPTileSource::SUGGESTIONS_SERVICE); | 81 logger.LogMostVisitedImpression(1, TileSource::SUGGESTIONS_SERVICE); |
| 82 logger.LogMostVisitedImpression(2, NTPTileSource::SUGGESTIONS_SERVICE); | 82 logger.LogMostVisitedImpression(2, TileSource::SUGGESTIONS_SERVICE); |
| 83 logger.LogMostVisitedImpression(3, NTPTileSource::SUGGESTIONS_SERVICE); | 83 logger.LogMostVisitedImpression(3, TileSource::SUGGESTIONS_SERVICE); |
| 84 logger.LogMostVisitedImpression(4, NTPTileSource::TOP_SITES); | 84 logger.LogMostVisitedImpression(4, TileSource::TOP_SITES); |
| 85 logger.LogMostVisitedImpression(5, NTPTileSource::TOP_SITES); | 85 logger.LogMostVisitedImpression(5, TileSource::TOP_SITES); |
| 86 logger.LogMostVisitedImpression(6, NTPTileSource::TOP_SITES); | 86 logger.LogMostVisitedImpression(6, TileSource::TOP_SITES); |
| 87 logger.LogMostVisitedImpression(7, NTPTileSource::TOP_SITES); | 87 logger.LogMostVisitedImpression(7, TileSource::TOP_SITES); |
| 88 | 88 |
| 89 // Repeated impressions for the same bins are ignored. | 89 // Repeated impressions for the same bins are ignored. |
| 90 logger.LogMostVisitedImpression(0, NTPTileSource::SUGGESTIONS_SERVICE); | 90 logger.LogMostVisitedImpression(0, TileSource::SUGGESTIONS_SERVICE); |
| 91 logger.LogMostVisitedImpression(1, NTPTileSource::TOP_SITES); | 91 logger.LogMostVisitedImpression(1, TileSource::TOP_SITES); |
| 92 logger.LogMostVisitedImpression(2, NTPTileSource::SUGGESTIONS_SERVICE); | 92 logger.LogMostVisitedImpression(2, TileSource::SUGGESTIONS_SERVICE); |
| 93 logger.LogMostVisitedImpression(3, NTPTileSource::TOP_SITES); | 93 logger.LogMostVisitedImpression(3, TileSource::TOP_SITES); |
| 94 | 94 |
| 95 // Impressions are silently ignored for tiles >= 8. | 95 // Impressions are silently ignored for tiles >= 8. |
| 96 logger.LogMostVisitedImpression(8, NTPTileSource::SUGGESTIONS_SERVICE); | 96 logger.LogMostVisitedImpression(8, TileSource::SUGGESTIONS_SERVICE); |
| 97 logger.LogMostVisitedImpression(9, NTPTileSource::TOP_SITES); | 97 logger.LogMostVisitedImpression(9, TileSource::TOP_SITES); |
| 98 | 98 |
| 99 // The actual histograms are emitted only after the ALL_TILES_LOADED event, so | 99 // The actual histograms are emitted only after the ALL_TILES_LOADED event, so |
| 100 // at this point everything should still be empty. | 100 // at this point everything should still be empty. |
| 101 EXPECT_THAT( | 101 EXPECT_THAT( |
| 102 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression"), | 102 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression"), |
| 103 IsEmpty()); | 103 IsEmpty()); |
| 104 EXPECT_THAT( | 104 EXPECT_THAT( |
| 105 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.server"), | 105 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.server"), |
| 106 IsEmpty()); | 106 IsEmpty()); |
| 107 EXPECT_THAT( | 107 EXPECT_THAT( |
| (...skipping 12 matching lines...) Expand all Loading... |
| 120 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1), Bucket(3, 1))); | 120 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1), Bucket(3, 1))); |
| 121 EXPECT_THAT( | 121 EXPECT_THAT( |
| 122 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.client"), | 122 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.client"), |
| 123 ElementsAre(Bucket(4, 1), Bucket(5, 1), Bucket(6, 1), Bucket(7, 1))); | 123 ElementsAre(Bucket(4, 1), Bucket(5, 1), Bucket(6, 1), Bucket(7, 1))); |
| 124 | 124 |
| 125 // After navigating away from the NTP and back, we record again. | 125 // After navigating away from the NTP and back, we record again. |
| 126 logger.NavigatedFromURLToURL(GURL("chrome://newtab/"), | 126 logger.NavigatedFromURLToURL(GURL("chrome://newtab/"), |
| 127 GURL("http://chromium.org")); | 127 GURL("http://chromium.org")); |
| 128 logger.NavigatedFromURLToURL(GURL("http://chromium.org"), | 128 logger.NavigatedFromURLToURL(GURL("http://chromium.org"), |
| 129 GURL("chrome://newtab/")); | 129 GURL("chrome://newtab/")); |
| 130 logger.LogMostVisitedImpression(0, NTPTileSource::SUGGESTIONS_SERVICE); | 130 logger.LogMostVisitedImpression(0, TileSource::SUGGESTIONS_SERVICE); |
| 131 logger.LogMostVisitedImpression(1, NTPTileSource::TOP_SITES); | 131 logger.LogMostVisitedImpression(1, TileSource::TOP_SITES); |
| 132 logger.LogMostVisitedImpression(2, NTPTileSource::SUGGESTIONS_SERVICE); | 132 logger.LogMostVisitedImpression(2, TileSource::SUGGESTIONS_SERVICE); |
| 133 logger.LogMostVisitedImpression(3, NTPTileSource::TOP_SITES); | 133 logger.LogMostVisitedImpression(3, TileSource::TOP_SITES); |
| 134 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); | 134 logger.LogEvent(NTP_ALL_TILES_LOADED, delta); |
| 135 | 135 |
| 136 EXPECT_THAT( | 136 EXPECT_THAT( |
| 137 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression"), | 137 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression"), |
| 138 ElementsAre(Bucket(0, 2), Bucket(1, 2), Bucket(2, 2), Bucket(3, 2), | 138 ElementsAre(Bucket(0, 2), Bucket(1, 2), Bucket(2, 2), Bucket(3, 2), |
| 139 Bucket(4, 1), Bucket(5, 1), Bucket(6, 1), Bucket(7, 1))); | 139 Bucket(4, 1), Bucket(5, 1), Bucket(6, 1), Bucket(7, 1))); |
| 140 EXPECT_THAT( | 140 EXPECT_THAT( |
| 141 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.server"), | 141 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.server"), |
| 142 ElementsAre(Bucket(0, 2), Bucket(1, 1), Bucket(2, 2), Bucket(3, 1))); | 142 ElementsAre(Bucket(0, 2), Bucket(1, 1), Bucket(2, 2), Bucket(3, 1))); |
| 143 EXPECT_THAT( | 143 EXPECT_THAT( |
| 144 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.client"), | 144 histogram_tester.GetAllSamples("NewTabPage.SuggestionsImpression.client"), |
| 145 ElementsAre(Bucket(1, 1), Bucket(3, 1), Bucket(4, 1), Bucket(5, 1), | 145 ElementsAre(Bucket(1, 1), Bucket(3, 1), Bucket(4, 1), Bucket(5, 1), |
| 146 Bucket(6, 1), Bucket(7, 1))); | 146 Bucket(6, 1), Bucket(7, 1))); |
| 147 } | 147 } |
| 148 | 148 |
| 149 TEST(NTPUserDataLoggerTest, TestLogMostVisitedNavigation) { | 149 TEST(NTPUserDataLoggerTest, TestLogMostVisitedNavigation) { |
| 150 base::StatisticsRecorder::Initialize(); | 150 base::StatisticsRecorder::Initialize(); |
| 151 | 151 |
| 152 base::HistogramTester histogram_tester; | 152 base::HistogramTester histogram_tester; |
| 153 | 153 |
| 154 TestNTPUserDataLogger logger; | 154 TestNTPUserDataLogger logger; |
| 155 | 155 |
| 156 logger.LogMostVisitedNavigation(0, NTPTileSource::SUGGESTIONS_SERVICE); | 156 logger.LogMostVisitedNavigation(0, TileSource::SUGGESTIONS_SERVICE); |
| 157 EXPECT_THAT( | 157 EXPECT_THAT( |
| 158 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 158 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
| 159 ElementsAre(Bucket(0, 1))); | 159 ElementsAre(Bucket(0, 1))); |
| 160 EXPECT_THAT( | 160 EXPECT_THAT( |
| 161 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 161 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
| 162 ElementsAre(Bucket(0, 1))); | 162 ElementsAre(Bucket(0, 1))); |
| 163 EXPECT_THAT( | 163 EXPECT_THAT( |
| 164 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 164 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
| 165 IsEmpty()); | 165 IsEmpty()); |
| 166 | 166 |
| 167 logger.LogMostVisitedNavigation(1, NTPTileSource::SUGGESTIONS_SERVICE); | 167 logger.LogMostVisitedNavigation(1, TileSource::SUGGESTIONS_SERVICE); |
| 168 EXPECT_THAT( | 168 EXPECT_THAT( |
| 169 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 169 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
| 170 ElementsAre(Bucket(0, 1), Bucket(1, 1))); | 170 ElementsAre(Bucket(0, 1), Bucket(1, 1))); |
| 171 EXPECT_THAT( | 171 EXPECT_THAT( |
| 172 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 172 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
| 173 ElementsAre(Bucket(0, 1), Bucket(1, 1))); | 173 ElementsAre(Bucket(0, 1), Bucket(1, 1))); |
| 174 EXPECT_THAT( | 174 EXPECT_THAT( |
| 175 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 175 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
| 176 IsEmpty()); | 176 IsEmpty()); |
| 177 | 177 |
| 178 logger.LogMostVisitedNavigation(2, NTPTileSource::TOP_SITES); | 178 logger.LogMostVisitedNavigation(2, TileSource::TOP_SITES); |
| 179 EXPECT_THAT( | 179 EXPECT_THAT( |
| 180 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 180 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
| 181 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1))); | 181 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1))); |
| 182 EXPECT_THAT( | 182 EXPECT_THAT( |
| 183 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 183 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
| 184 ElementsAre(Bucket(0, 1), Bucket(1, 1))); | 184 ElementsAre(Bucket(0, 1), Bucket(1, 1))); |
| 185 EXPECT_THAT( | 185 EXPECT_THAT( |
| 186 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 186 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
| 187 ElementsAre(Bucket(2, 1))); | 187 ElementsAre(Bucket(2, 1))); |
| 188 | 188 |
| 189 logger.LogMostVisitedNavigation(3, NTPTileSource::TOP_SITES); | 189 logger.LogMostVisitedNavigation(3, TileSource::TOP_SITES); |
| 190 EXPECT_THAT( | 190 EXPECT_THAT( |
| 191 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 191 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
| 192 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1), Bucket(3, 1))); | 192 ElementsAre(Bucket(0, 1), Bucket(1, 1), Bucket(2, 1), Bucket(3, 1))); |
| 193 EXPECT_THAT( | 193 EXPECT_THAT( |
| 194 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 194 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
| 195 ElementsAre(Bucket(0, 1), Bucket(1, 1))); | 195 ElementsAre(Bucket(0, 1), Bucket(1, 1))); |
| 196 EXPECT_THAT( | 196 EXPECT_THAT( |
| 197 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 197 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
| 198 ElementsAre(Bucket(2, 1), Bucket(3, 1))); | 198 ElementsAre(Bucket(2, 1), Bucket(3, 1))); |
| 199 | 199 |
| 200 // Navigations always increase. | 200 // Navigations always increase. |
| 201 logger.LogMostVisitedNavigation(0, NTPTileSource::SUGGESTIONS_SERVICE); | 201 logger.LogMostVisitedNavigation(0, TileSource::SUGGESTIONS_SERVICE); |
| 202 logger.LogMostVisitedNavigation(1, NTPTileSource::TOP_SITES); | 202 logger.LogMostVisitedNavigation(1, TileSource::TOP_SITES); |
| 203 logger.LogMostVisitedNavigation(2, NTPTileSource::SUGGESTIONS_SERVICE); | 203 logger.LogMostVisitedNavigation(2, TileSource::SUGGESTIONS_SERVICE); |
| 204 logger.LogMostVisitedNavigation(3, NTPTileSource::TOP_SITES); | 204 logger.LogMostVisitedNavigation(3, TileSource::TOP_SITES); |
| 205 EXPECT_THAT( | 205 EXPECT_THAT( |
| 206 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), | 206 histogram_tester.GetAllSamples("NewTabPage.MostVisited"), |
| 207 ElementsAre(Bucket(0, 2), Bucket(1, 2), Bucket(2, 2), Bucket(3, 2))); | 207 ElementsAre(Bucket(0, 2), Bucket(1, 2), Bucket(2, 2), Bucket(3, 2))); |
| 208 EXPECT_THAT( | 208 EXPECT_THAT( |
| 209 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), | 209 histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
| 210 ElementsAre(Bucket(0, 2), Bucket(1, 1), Bucket(2, 1))); | 210 ElementsAre(Bucket(0, 2), Bucket(1, 1), Bucket(2, 1))); |
| 211 EXPECT_THAT( | 211 EXPECT_THAT( |
| 212 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), | 212 histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
| 213 ElementsAre(Bucket(1, 1), Bucket(2, 1), Bucket(3, 2))); | 213 ElementsAre(Bucket(1, 1), Bucket(2, 1), Bucket(3, 2))); |
| 214 } | 214 } |
| 215 | 215 |
| 216 TEST(NTPUserDataLoggerTest, TestLoadTime) { | 216 TEST(NTPUserDataLoggerTest, TestLoadTime) { |
| 217 base::StatisticsRecorder::Initialize(); | 217 base::StatisticsRecorder::Initialize(); |
| 218 | 218 |
| 219 base::HistogramTester histogram_tester; | 219 base::HistogramTester histogram_tester; |
| 220 | 220 |
| 221 TestNTPUserDataLogger logger; | 221 TestNTPUserDataLogger logger; |
| 222 logger.ntp_url_ = GURL("chrome://newtab/"); | 222 logger.ntp_url_ = GURL("chrome://newtab/"); |
| 223 | 223 |
| 224 base::TimeDelta delta_tiles_received = base::TimeDelta::FromMilliseconds(10); | 224 base::TimeDelta delta_tiles_received = base::TimeDelta::FromMilliseconds(10); |
| 225 base::TimeDelta delta_tiles_loaded = base::TimeDelta::FromMilliseconds(100); | 225 base::TimeDelta delta_tiles_loaded = base::TimeDelta::FromMilliseconds(100); |
| 226 | 226 |
| 227 // Send the ALL_TILES_RECEIVED event. | 227 // Send the ALL_TILES_RECEIVED event. |
| 228 logger.LogEvent(NTP_ALL_TILES_RECEIVED, delta_tiles_received); | 228 logger.LogEvent(NTP_ALL_TILES_RECEIVED, delta_tiles_received); |
| 229 | 229 |
| 230 // Log a TOP_SITES impression (for the .MostVisited vs .MostLikely split in | 230 // Log a TOP_SITES impression (for the .MostVisited vs .MostLikely split in |
| 231 // the time histograms). | 231 // the time histograms). |
| 232 logger.LogMostVisitedImpression(0, NTPTileSource::TOP_SITES); | 232 logger.LogMostVisitedImpression(0, TileSource::TOP_SITES); |
| 233 | 233 |
| 234 // Send the ALL_TILES_LOADED event, this should trigger emitting histograms. | 234 // Send the ALL_TILES_LOADED event, this should trigger emitting histograms. |
| 235 logger.LogEvent(NTP_ALL_TILES_LOADED, delta_tiles_loaded); | 235 logger.LogEvent(NTP_ALL_TILES_LOADED, delta_tiles_loaded); |
| 236 | 236 |
| 237 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime"), | 237 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime"), |
| 238 SizeIs(1)); | 238 SizeIs(1)); |
| 239 EXPECT_THAT(histogram_tester.GetAllSamples( | 239 EXPECT_THAT(histogram_tester.GetAllSamples( |
| 240 "NewTabPage.TilesReceivedTime.MostVisited"), | 240 "NewTabPage.TilesReceivedTime.MostVisited"), |
| 241 SizeIs(1)); | 241 SizeIs(1)); |
| 242 EXPECT_THAT( | 242 EXPECT_THAT( |
| (...skipping 23 matching lines...) Expand all Loading... |
| 266 delta_tiles_loaded, 1); | 266 delta_tiles_loaded, 1); |
| 267 | 267 |
| 268 // After navigating away from the NTP and back, we record again. | 268 // After navigating away from the NTP and back, we record again. |
| 269 logger.NavigatedFromURLToURL(GURL("chrome://newtab/"), | 269 logger.NavigatedFromURLToURL(GURL("chrome://newtab/"), |
| 270 GURL("http://chromium.org")); | 270 GURL("http://chromium.org")); |
| 271 logger.NavigatedFromURLToURL(GURL("http://chromium.org"), | 271 logger.NavigatedFromURLToURL(GURL("http://chromium.org"), |
| 272 GURL("chrome://newtab/")); | 272 GURL("chrome://newtab/")); |
| 273 | 273 |
| 274 // This time, log a SUGGESTIONS_SERVICE impression, so the times will end up | 274 // This time, log a SUGGESTIONS_SERVICE impression, so the times will end up |
| 275 // in .MostLikely. | 275 // in .MostLikely. |
| 276 logger.LogMostVisitedImpression(0, NTPTileSource::SUGGESTIONS_SERVICE); | 276 logger.LogMostVisitedImpression(0, TileSource::SUGGESTIONS_SERVICE); |
| 277 | 277 |
| 278 base::TimeDelta delta_tiles_received2 = base::TimeDelta::FromMilliseconds(50); | 278 base::TimeDelta delta_tiles_received2 = base::TimeDelta::FromMilliseconds(50); |
| 279 base::TimeDelta delta_tiles_loaded2 = base::TimeDelta::FromMilliseconds(500); | 279 base::TimeDelta delta_tiles_loaded2 = base::TimeDelta::FromMilliseconds(500); |
| 280 logger.LogEvent(NTP_ALL_TILES_RECEIVED, delta_tiles_received2); | 280 logger.LogEvent(NTP_ALL_TILES_RECEIVED, delta_tiles_received2); |
| 281 logger.LogEvent(NTP_ALL_TILES_LOADED, delta_tiles_loaded2); | 281 logger.LogEvent(NTP_ALL_TILES_LOADED, delta_tiles_loaded2); |
| 282 | 282 |
| 283 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime"), | 283 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime"), |
| 284 SizeIs(2)); | 284 SizeIs(2)); |
| 285 EXPECT_THAT(histogram_tester.GetAllSamples( | 285 EXPECT_THAT(histogram_tester.GetAllSamples( |
| 286 "NewTabPage.TilesReceivedTime.MostVisited"), | 286 "NewTabPage.TilesReceivedTime.MostVisited"), |
| 287 SizeIs(1)); | 287 SizeIs(1)); |
| 288 EXPECT_THAT( | 288 EXPECT_THAT( |
| 289 histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime.MostLikely"), | 289 histogram_tester.GetAllSamples("NewTabPage.TilesReceivedTime.MostLikely"), |
| 290 SizeIs(1)); | 290 SizeIs(1)); |
| 291 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime"), SizeIs(2)); | 291 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime"), SizeIs(2)); |
| 292 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime.MostVisited"), | 292 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime.MostVisited"), |
| 293 SizeIs(1)); | 293 SizeIs(1)); |
| 294 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime.MostLikely"), | 294 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.LoadTime.MostLikely"), |
| 295 SizeIs(1)); | 295 SizeIs(1)); |
| 296 | 296 |
| 297 histogram_tester.ExpectTimeBucketCount("NewTabPage.TilesReceivedTime", | 297 histogram_tester.ExpectTimeBucketCount("NewTabPage.TilesReceivedTime", |
| 298 delta_tiles_received2, 1); | 298 delta_tiles_received2, 1); |
| 299 histogram_tester.ExpectTimeBucketCount( | 299 histogram_tester.ExpectTimeBucketCount( |
| 300 "NewTabPage.TilesReceivedTime.MostLikely", delta_tiles_received2, 1); | 300 "NewTabPage.TilesReceivedTime.MostLikely", delta_tiles_received2, 1); |
| 301 histogram_tester.ExpectTimeBucketCount("NewTabPage.LoadTime", | 301 histogram_tester.ExpectTimeBucketCount("NewTabPage.LoadTime", |
| 302 delta_tiles_loaded2, 1); | 302 delta_tiles_loaded2, 1); |
| 303 histogram_tester.ExpectTimeBucketCount("NewTabPage.LoadTime.MostLikely", | 303 histogram_tester.ExpectTimeBucketCount("NewTabPage.LoadTime.MostLikely", |
| 304 delta_tiles_loaded2, 1); | 304 delta_tiles_loaded2, 1); |
| 305 } | 305 } |
| OLD | NEW |