OLD | NEW |
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" |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 UMA_HISTOGRAM_BOOLEAN("PaymentRequest.CheckoutFunnel.SkippedShow", true); | 196 UMA_HISTOGRAM_BOOLEAN("PaymentRequest.CheckoutFunnel.SkippedShow", true); |
197 } | 197 } |
198 | 198 |
199 void JourneyLogger::RecordPaymentMethodMetric() { | 199 void JourneyLogger::RecordPaymentMethodMetric() { |
200 base::UmaHistogramEnumeration("PaymentRequest.SelectedPaymentMethod", | 200 base::UmaHistogramEnumeration("PaymentRequest.SelectedPaymentMethod", |
201 payment_method_, SELECTED_PAYMENT_METHOD_MAX); | 201 payment_method_, SELECTED_PAYMENT_METHOD_MAX); |
202 } | 202 } |
203 | 203 |
204 void JourneyLogger::RecordRequestedInformationMetrics() { | 204 void JourneyLogger::RecordRequestedInformationMetrics() { |
205 DCHECK(requested_information_ != REQUESTED_INFORMATION_MAX); | 205 DCHECK(requested_information_ != REQUESTED_INFORMATION_MAX); |
206 UMA_HISTOGRAM_ENUMERATION("PaymentRequest.RequestedInformation", | 206 UMA_HISTOGRAM_ENUMERATION( |
207 requested_information_, REQUESTED_INFORMATION_MAX); | 207 "PaymentRequest.RequestedInformation", |
| 208 static_cast<RequestedInformation>(requested_information_), |
| 209 REQUESTED_INFORMATION_MAX); |
208 } | 210 } |
209 | 211 |
210 void JourneyLogger::RecordSectionSpecificStats( | 212 void JourneyLogger::RecordSectionSpecificStats( |
211 CompletionStatus completion_status) { | 213 CompletionStatus completion_status) { |
212 // Record whether the user had suggestions for each requested information. | 214 // Record whether the user had suggestions for each requested information. |
213 bool user_had_all_requested_information = true; | 215 bool user_had_all_requested_information = true; |
214 | 216 |
215 for (int i = 0; i < NUMBER_OF_SECTIONS; ++i) { | 217 for (int i = 0; i < NUMBER_OF_SECTIONS; ++i) { |
216 std::string name_suffix = GetHistogramNameSuffix(i, completion_status); | 218 std::string name_suffix = GetHistogramNameSuffix(i, completion_status); |
217 | 219 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 if (!was_can_make_payments_used_) | 293 if (!was_can_make_payments_used_) |
292 return; | 294 return; |
293 | 295 |
294 int effect_on_show = 0; | 296 int effect_on_show = 0; |
295 if (was_show_called_) | 297 if (was_show_called_) |
296 effect_on_show |= CMP_EFFECT_ON_SHOW_DID_SHOW; | 298 effect_on_show |= CMP_EFFECT_ON_SHOW_DID_SHOW; |
297 if (could_make_payment_) | 299 if (could_make_payment_) |
298 effect_on_show |= CMP_EFFECT_ON_SHOW_COULD_MAKE_PAYMENT; | 300 effect_on_show |= CMP_EFFECT_ON_SHOW_COULD_MAKE_PAYMENT; |
299 | 301 |
300 UMA_HISTOGRAM_ENUMERATION("PaymentRequest.CanMakePayment.Used.EffectOnShow", | 302 UMA_HISTOGRAM_ENUMERATION("PaymentRequest.CanMakePayment.Used.EffectOnShow", |
301 effect_on_show, CMP_EFFECT_ON_SHOW_MAX); | 303 static_cast<CmpEffectOnShow>(effect_on_show), |
| 304 CMP_EFFECT_ON_SHOW_MAX); |
302 } | 305 } |
303 | 306 |
304 void JourneyLogger::RecordCanMakePaymentEffectOnCompletion( | 307 void JourneyLogger::RecordCanMakePaymentEffectOnCompletion( |
305 CompletionStatus completion_status) { | 308 CompletionStatus completion_status) { |
306 if (!was_show_called_) | 309 if (!was_show_called_) |
307 return; | 310 return; |
308 | 311 |
309 std::string histogram_name = "PaymentRequest.CanMakePayment."; | 312 std::string histogram_name = "PaymentRequest.CanMakePayment."; |
310 if (!was_can_make_payments_used_) { | 313 if (!was_can_make_payments_used_) { |
311 histogram_name += "NotUsed.WithShowEffectOnCompletion"; | 314 histogram_name += "NotUsed.WithShowEffectOnCompletion"; |
(...skipping 16 matching lines...) Expand all Loading... |
328 ukm_recorder_->UpdateSourceURL(source_id, url_); | 331 ukm_recorder_->UpdateSourceURL(source_id, url_); |
329 std::unique_ptr<ukm::UkmEntryBuilder> builder = | 332 std::unique_ptr<ukm::UkmEntryBuilder> builder = |
330 ukm_recorder_->GetEntryBuilder(source_id, | 333 ukm_recorder_->GetEntryBuilder(source_id, |
331 internal::kUKMCheckoutEventsEntryName); | 334 internal::kUKMCheckoutEventsEntryName); |
332 builder->AddMetric(internal::kUKMCompletionStatusMetricName, | 335 builder->AddMetric(internal::kUKMCompletionStatusMetricName, |
333 completion_status); | 336 completion_status); |
334 builder->AddMetric(internal::kUKMEventsMetricName, events_); | 337 builder->AddMetric(internal::kUKMEventsMetricName, events_); |
335 } | 338 } |
336 | 339 |
337 } // namespace payments | 340 } // namespace payments |
OLD | NEW |