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

Side by Side Diff: components/contextual_search/browser/ctr_aggregator.cc

Issue 2285633004: [TTS] Record CTR by week and 28-day intervals. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ctr
Patch Set: Added recording of impressions and getCurrentWeekNumber to invalidate the caching. Created 4 years, 2 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/contextual_search/browser/ctr_aggregator.h" 5 #include "components/contextual_search/browser/ctr_aggregator.h"
6 6
7 #include "base/numerics/safe_conversions.h" 7 #include "base/numerics/safe_conversions.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 9
10 namespace { 10 namespace {
(...skipping 26 matching lines...) Expand all
37 37
38 CTRAggregator::~CTRAggregator() {} 38 CTRAggregator::~CTRAggregator() {}
39 39
40 void CTRAggregator::RecordImpression(bool did_click) { 40 void CTRAggregator::RecordImpression(bool did_click) {
41 storage_.WriteImpressions(week_number_, 41 storage_.WriteImpressions(week_number_,
42 1 + storage_.ReadImpressions(week_number_)); 42 1 + storage_.ReadImpressions(week_number_));
43 if (did_click) 43 if (did_click)
44 storage_.WriteClicks(week_number_, 1 + storage_.ReadClicks(week_number_)); 44 storage_.WriteClicks(week_number_, 1 + storage_.ReadClicks(week_number_));
45 } 45 }
46 46
47 int CTRAggregator::GetCurrentWeekNumber() {
48 return week_number_;
49 }
50
47 bool CTRAggregator::HasPreviousWeekData() { 51 bool CTRAggregator::HasPreviousWeekData() {
48 return storage_.HasData(week_number_ - 1); 52 return storage_.HasData(week_number_ - 1);
49 } 53 }
50 54
51 int CTRAggregator::GetPreviousWeekImpressions() { 55 int CTRAggregator::GetPreviousWeekImpressions() {
52 return storage_.ReadImpressions(week_number_ - 1); 56 return storage_.ReadImpressions(week_number_ - 1);
53 } 57 }
54 58
55 float CTRAggregator::GetPreviousWeekCTR() { 59 float CTRAggregator::GetPreviousWeekCTR() {
56 if (!HasPreviousWeekData()) 60 if (!HasPreviousWeekData())
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 } 109 }
106 110
107 // Testing only 111 // Testing only
108 112
109 void CTRAggregator::IncrementWeek(int weeks) { 113 void CTRAggregator::IncrementWeek(int weeks) {
110 week_number_ += weeks; 114 week_number_ += weeks;
111 storage_.AdvanceToWeek(week_number_); 115 storage_.AdvanceToWeek(week_number_);
112 } 116 }
113 117
114 } // namespace contextual_search 118 } // namespace contextual_search
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698