Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(479)

Side by Side Diff: components/metrics/metrics_log_unittest.cc

Issue 2910023003: Change the logic for discarding all non-histogram logs because of actions/omnibox events to truncat… (Closed)
Patch Set: today extension Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/metrics/metrics_log.cc ('k') | components/metrics/metrics_service.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/metrics/metrics_log.h" 5 #include "components/metrics/metrics_log.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 prefs_(prefs) { 67 prefs_(prefs) {
68 InitPrefs(); 68 InitPrefs();
69 } 69 }
70 70
71 ~TestMetricsLog() override {} 71 ~TestMetricsLog() override {}
72 72
73 const ChromeUserMetricsExtension& uma_proto() const { 73 const ChromeUserMetricsExtension& uma_proto() const {
74 return *MetricsLog::uma_proto(); 74 return *MetricsLog::uma_proto();
75 } 75 }
76 76
77 ChromeUserMetricsExtension* mutable_uma_proto() {
78 return MetricsLog::uma_proto();
79 }
80
77 const SystemProfileProto& system_profile() const { 81 const SystemProfileProto& system_profile() const {
78 return uma_proto().system_profile(); 82 return uma_proto().system_profile();
79 } 83 }
80 84
81 private: 85 private:
82 void InitPrefs() { 86 void InitPrefs() {
83 prefs_->SetString(prefs::kMetricsReportingEnabledTimestamp, 87 prefs_->SetString(prefs::kMetricsReportingEnabledTimestamp,
84 base::Int64ToString(kEnabledDate)); 88 base::Int64ToString(kEnabledDate));
85 } 89 }
86 90
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 410
407 TestMetricsServiceClient client; 411 TestMetricsServiceClient client;
408 client.set_product(kTestProduct); 412 client.set_product(kTestProduct);
409 TestMetricsLog log( 413 TestMetricsLog log(
410 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); 414 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_);
411 // Check that the product is set to |kTestProduct|. 415 // Check that the product is set to |kTestProduct|.
412 EXPECT_TRUE(log.uma_proto().has_product()); 416 EXPECT_TRUE(log.uma_proto().has_product());
413 EXPECT_EQ(kTestProduct, log.uma_proto().product()); 417 EXPECT_EQ(kTestProduct, log.uma_proto().product());
414 } 418 }
415 419
420 TEST_F(MetricsLogTest, TruncateEvents) {
421 TestMetricsServiceClient client;
422 TestMetricsLog log(kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client,
423 &prefs_);
424
425 for (int i = 0; i < internal::kUserActionEventLimit * 2; ++i) {
426 log.RecordUserAction("BasicAction");
427 EXPECT_EQ(i + 1, log.uma_proto().user_action_event_size());
428 }
429 for (int i = 0; i < internal::kOmniboxEventLimit * 2; ++i) {
430 // Add an empty omnibox event. Not fully realistic since these are normally
431 // supplied by a metrics provider.
432 log.mutable_uma_proto()->add_omnibox_event();
433 EXPECT_EQ(i + 1, log.uma_proto().omnibox_event_size());
434 }
435
436 // Truncate, and check that the current size is the limit.
437 log.TruncateEvents();
438 EXPECT_EQ(internal::kUserActionEventLimit,
439 log.uma_proto().user_action_event_size());
440 EXPECT_EQ(internal::kOmniboxEventLimit, log.uma_proto().omnibox_event_size());
441 }
442
416 } // namespace metrics 443 } // namespace metrics
OLDNEW
« no previous file with comments | « components/metrics/metrics_log.cc ('k') | components/metrics/metrics_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698