| 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" |
| 11 #include "components/ukm/ukm_entry_builder.h" | 11 #include "components/ukm/public/ukm_entry_builder.h" |
| 12 #include "components/ukm/ukm_service.h" | 12 #include "components/ukm/public/ukm_recorder.h" |
| 13 | 13 |
| 14 namespace payments { | 14 namespace payments { |
| 15 | 15 |
| 16 namespace internal { | 16 namespace internal { |
| 17 extern const char kUKMCheckoutEventsEntryName[] = | 17 extern const char kUKMCheckoutEventsEntryName[] = |
| 18 "PaymentRequest.CheckoutEvents"; | 18 "PaymentRequest.CheckoutEvents"; |
| 19 extern const char kUKMCompletionStatusMetricName[] = "CompletionStatus"; | 19 extern const char kUKMCompletionStatusMetricName[] = "CompletionStatus"; |
| 20 extern const char kUKMEventsMetricName[] = "Events"; | 20 extern const char kUKMEventsMetricName[] = "Events"; |
| 21 } // namespace internal | 21 } // namespace internal |
| 22 | 22 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 } | 58 } |
| 59 | 59 |
| 60 DCHECK(!name_suffix.empty()); | 60 DCHECK(!name_suffix.empty()); |
| 61 return name_suffix; | 61 return name_suffix; |
| 62 } | 62 } |
| 63 | 63 |
| 64 } // namespace | 64 } // namespace |
| 65 | 65 |
| 66 JourneyLogger::JourneyLogger(bool is_incognito, | 66 JourneyLogger::JourneyLogger(bool is_incognito, |
| 67 const GURL& url, | 67 const GURL& url, |
| 68 ukm::UkmService* ukm_service) | 68 ukm::UkmRecorder* ukm_recorder) |
| 69 : is_incognito_(is_incognito), | 69 : is_incognito_(is_incognito), |
| 70 events_(EVENT_INITIATED), | 70 events_(EVENT_INITIATED), |
| 71 url_(url), | 71 url_(url), |
| 72 ukm_service_(ukm_service) {} | 72 ukm_recorder_(ukm_recorder) {} |
| 73 | 73 |
| 74 JourneyLogger::~JourneyLogger() { | 74 JourneyLogger::~JourneyLogger() { |
| 75 if (was_show_called_) | 75 if (was_show_called_) |
| 76 DCHECK(has_recorded_); | 76 DCHECK(has_recorded_); |
| 77 } | 77 } |
| 78 | 78 |
| 79 void JourneyLogger::IncrementSelectionAdds(Section section) { | 79 void JourneyLogger::IncrementSelectionAdds(Section section) { |
| 80 DCHECK_LT(section, SECTION_MAX); | 80 DCHECK_LT(section, SECTION_MAX); |
| 81 sections_[section].number_selection_adds_++; | 81 sections_[section].number_selection_adds_++; |
| 82 } | 82 } |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 histogram_name += "Used.TrueWithShowEffectOnCompletion"; | 235 histogram_name += "Used.TrueWithShowEffectOnCompletion"; |
| 236 } else { | 236 } else { |
| 237 histogram_name += "Used.FalseWithShowEffectOnCompletion"; | 237 histogram_name += "Used.FalseWithShowEffectOnCompletion"; |
| 238 } | 238 } |
| 239 | 239 |
| 240 base::UmaHistogramEnumeration(histogram_name, completion_status, | 240 base::UmaHistogramEnumeration(histogram_name, completion_status, |
| 241 COMPLETION_STATUS_MAX); | 241 COMPLETION_STATUS_MAX); |
| 242 } | 242 } |
| 243 | 243 |
| 244 void JourneyLogger::RecordUrlKeyedMetrics(CompletionStatus completion_status) { | 244 void JourneyLogger::RecordUrlKeyedMetrics(CompletionStatus completion_status) { |
| 245 if (!ukm_service_ || !url_.is_valid()) | 245 if (!ukm_recorder_ || !url_.is_valid()) |
| 246 return; | 246 return; |
| 247 | 247 |
| 248 // Record the Checkout Funnel UKM. | 248 // Record the Checkout Funnel UKM. |
| 249 int32_t source_id = ukm_service_->GetNewSourceID(); | 249 ukm::SourceId source_id = ukm_recorder_->GetNewSourceID(); |
| 250 ukm_service_->UpdateSourceURL(source_id, url_); | 250 ukm_recorder_->UpdateSourceURL(source_id, url_); |
| 251 std::unique_ptr<ukm::UkmEntryBuilder> builder = ukm_service_->GetEntryBuilder( | 251 std::unique_ptr<ukm::UkmEntryBuilder> builder = |
| 252 source_id, internal::kUKMCheckoutEventsEntryName); | 252 ukm_recorder_->GetEntryBuilder(source_id, |
| 253 internal::kUKMCheckoutEventsEntryName); |
| 253 builder->AddMetric(internal::kUKMCompletionStatusMetricName, | 254 builder->AddMetric(internal::kUKMCompletionStatusMetricName, |
| 254 completion_status); | 255 completion_status); |
| 255 builder->AddMetric(internal::kUKMEventsMetricName, events_); | 256 builder->AddMetric(internal::kUKMEventsMetricName, events_); |
| 256 } | 257 } |
| 257 | 258 |
| 258 } // namespace payments | 259 } // namespace payments |
| OLD | NEW |