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

Side by Side Diff: components/payments/core/journey_logger.cc

Issue 2883563002: Refactor UKM interface for mojo-ification (Closed)
Patch Set: Move interface to next CL Created 3 years, 7 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/payments/core/journey_logger.h" 5 #include "components/payments/core/journey_logger.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/metrics/histogram_functions.h" 9 #include "base/metrics/histogram_functions.h"
10 #include "base/metrics/histogram_macros.h" 10 #include "base/metrics/histogram_macros.h"
11 #include "components/autofill/core/browser/autofill_experiments.h" 11 #include "components/autofill/core/browser/autofill_experiments.h"
12 #include "components/ukm/ukm_entry_builder.h" 12 #include "components/ukm/public/ukm_entry_builder.h"
13 #include "components/ukm/ukm_service.h" 13 #include "components/ukm/public/ukm_recorder.h"
14 14
15 namespace payments { 15 namespace payments {
16 16
17 namespace internal { 17 namespace internal {
18 extern const char kUKMCheckoutEventsEntryName[] = 18 extern const char kUKMCheckoutEventsEntryName[] =
19 "PaymentRequest.CheckoutEvents"; 19 "PaymentRequest.CheckoutEvents";
20 extern const char kUKMCompletionStatusMetricName[] = "CompletionStatus"; 20 extern const char kUKMCompletionStatusMetricName[] = "CompletionStatus";
21 extern const char kUKMEventsMetricName[] = "Events"; 21 extern const char kUKMEventsMetricName[] = "Events";
22 } // namespace internal 22 } // namespace internal
23 23
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 } 59 }
60 60
61 DCHECK(!name_suffix.empty()); 61 DCHECK(!name_suffix.empty());
62 return name_suffix; 62 return name_suffix;
63 } 63 }
64 64
65 } // namespace 65 } // namespace
66 66
67 JourneyLogger::JourneyLogger(bool is_incognito, 67 JourneyLogger::JourneyLogger(bool is_incognito,
68 const GURL& url, 68 const GURL& url,
69 ukm::UkmService* ukm_service) 69 ukm::UkmRecorder* ukm_recorder)
70 : is_incognito_(is_incognito), 70 : is_incognito_(is_incognito),
71 events_(EVENT_INITIATED), 71 events_(EVENT_INITIATED),
72 url_(url), 72 url_(url),
73 ukm_service_(ukm_service) {} 73 ukm_recorder_(ukm_recorder) {}
74 74
75 JourneyLogger::~JourneyLogger() {} 75 JourneyLogger::~JourneyLogger() {}
76 76
77 void JourneyLogger::IncrementSelectionAdds(Section section) { 77 void JourneyLogger::IncrementSelectionAdds(Section section) {
78 DCHECK_LT(section, SECTION_MAX); 78 DCHECK_LT(section, SECTION_MAX);
79 sections_[section].number_selection_adds_++; 79 sections_[section].number_selection_adds_++;
80 } 80 }
81 81
82 void JourneyLogger::IncrementSelectionChanges(Section section) { 82 void JourneyLogger::IncrementSelectionChanges(Section section) {
83 DCHECK_LT(section, SECTION_MAX); 83 DCHECK_LT(section, SECTION_MAX);
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 histogram_name += "Used.TrueWithShowEffectOnCompletion"; 214 histogram_name += "Used.TrueWithShowEffectOnCompletion";
215 } else { 215 } else {
216 histogram_name += "Used.FalseWithShowEffectOnCompletion"; 216 histogram_name += "Used.FalseWithShowEffectOnCompletion";
217 } 217 }
218 218
219 base::UmaHistogramEnumeration(histogram_name, completion_status, 219 base::UmaHistogramEnumeration(histogram_name, completion_status,
220 COMPLETION_STATUS_MAX); 220 COMPLETION_STATUS_MAX);
221 } 221 }
222 222
223 void JourneyLogger::RecordUrlKeyedMetrics(CompletionStatus completion_status) { 223 void JourneyLogger::RecordUrlKeyedMetrics(CompletionStatus completion_status) {
224 if (!autofill::IsUkmLoggingEnabled() || !ukm_service_ || !url_.is_valid()) 224 if (!autofill::IsUkmLoggingEnabled() || !ukm_recorder_ || !url_.is_valid())
225 return; 225 return;
226 226
227 // Record the Checkout Funnel UKM. 227 // Record the Checkout Funnel UKM.
228 int32_t source_id = ukm_service_->GetNewSourceID(); 228 ukm::SourceId source_id = ukm_recorder_->GetNewSourceID();
229 ukm_service_->UpdateSourceURL(source_id, url_); 229 ukm_recorder_->UpdateSourceURL(source_id, url_);
230 std::unique_ptr<ukm::UkmEntryBuilder> builder = ukm_service_->GetEntryBuilder( 230 std::unique_ptr<ukm::UkmEntryBuilder> builder =
231 source_id, internal::kUKMCheckoutEventsEntryName); 231 ukm_recorder_->GetEntryBuilder(source_id,
232 internal::kUKMCheckoutEventsEntryName);
232 builder->AddMetric(internal::kUKMCompletionStatusMetricName, 233 builder->AddMetric(internal::kUKMCompletionStatusMetricName,
233 completion_status); 234 completion_status);
234 builder->AddMetric(internal::kUKMEventsMetricName, events_); 235 builder->AddMetric(internal::kUKMEventsMetricName, events_);
235 } 236 }
236 237
237 } // namespace payments 238 } // namespace payments
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698