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

Side by Side Diff: components/feature_engagement_tracker/internal/model_impl.cc

Issue 2911123003: Metrics for feature engagement tracker. (Closed)
Patch Set: 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
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/feature_engagement_tracker/internal/model_impl.h" 5 #include "components/feature_engagement_tracker/internal/model_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 const Event* ModelImpl::GetEvent(const std::string& event_name) const { 43 const Event* ModelImpl::GetEvent(const std::string& event_name) const {
44 auto search = events_.find(event_name); 44 auto search = events_.find(event_name);
45 if (search == events_.end()) 45 if (search == events_.end())
46 return nullptr; 46 return nullptr;
47 47
48 return &search->second; 48 return &search->second;
49 } 49 }
50 50
51 void ModelImpl::IncrementEvent(const std::string& event_name, 51 void ModelImpl::IncrementEvent(const std::string& event_name,
52 uint32_t current_day) { 52 uint32_t current_day) {
53 // TODO(nyquist): Track this event in UMA.
54 DCHECK(ready_); 53 DCHECK(ready_);
55 54
56 if (!storage_validator_->ShouldStore(event_name)) 55 if (!storage_validator_->ShouldStore(event_name))
57 return; 56 return;
58 57
59 Event& event = GetNonConstEvent(event_name); 58 Event& event = GetNonConstEvent(event_name);
60 for (int i = 0; i < event.events_size(); ++i) { 59 for (int i = 0; i < event.events_size(); ++i) {
61 Event_Count* event_count = event.mutable_events(i); 60 Event_Count* event_count = event.mutable_events(i);
62 DCHECK(event_count->has_day()); 61 DCHECK(event_count->has_day());
63 DCHECK(event_count->has_count()); 62 DCHECK(event_count->has_count());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 Event& ModelImpl::GetNonConstEvent(const std::string& event_name) { 119 Event& ModelImpl::GetNonConstEvent(const std::string& event_name) {
121 if (events_.find(event_name) == events_.end()) { 120 if (events_.find(event_name) == events_.end()) {
122 // Event does not exist yet, so create it. 121 // Event does not exist yet, so create it.
123 events_[event_name].set_name(event_name); 122 events_[event_name].set_name(event_name);
124 store_->WriteEvent(events_[event_name]); 123 store_->WriteEvent(events_[event_name]);
125 } 124 }
126 return events_[event_name]; 125 return events_[event_name];
127 } 126 }
128 127
129 } // namespace feature_engagement_tracker 128 } // namespace feature_engagement_tracker
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698