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

Side by Side Diff: components/autofill/core/browser/autofill_metrics.cc

Issue 23537014: rAc: Get rid of dialog type in rAc, there is only one type left now. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/autofill/core/browser/autofill_metrics.h" 5 #include "components/autofill/core/browser/autofill_metrics.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/time/time.h" 9 #include "base/time/time.h"
10 #include "components/autofill/core/browser/autofill_type.h" 10 #include "components/autofill/core/browser/autofill_type.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 default: 151 default:
152 NOTREACHED(); 152 NOTREACHED();
153 group = AMBIGUOUS; 153 group = AMBIGUOUS;
154 } 154 }
155 155
156 // Interpolate the |metric| with the |group|, so that all metrics for a given 156 // Interpolate the |metric| with the |group|, so that all metrics for a given
157 // |group| are adjacent. 157 // |group| are adjacent.
158 return (group * num_possible_metrics) + metric; 158 return (group * num_possible_metrics) + metric;
159 } 159 }
160 160
161 // Returns the histogram prefix to use for reporting metrics for |dialog_type|.
162 std::string GetPrefixForDialogType(autofill::DialogType dialog_type) {
163 switch (dialog_type) {
164 case autofill::DIALOG_TYPE_AUTOCHECKOUT:
165 return "Autocheckout";
166
167 case autofill::DIALOG_TYPE_REQUEST_AUTOCOMPLETE:
168 return "RequestAutocomplete";
169 }
170
171 NOTREACHED();
172 return "UnknownDialogType";
173 }
174
175 std::string WalletApiMetricToString( 161 std::string WalletApiMetricToString(
176 AutofillMetrics::WalletApiCallMetric metric) { 162 AutofillMetrics::WalletApiCallMetric metric) {
177 switch (metric) { 163 switch (metric) {
178 case AutofillMetrics::ACCEPT_LEGAL_DOCUMENTS: 164 case AutofillMetrics::ACCEPT_LEGAL_DOCUMENTS:
179 return "AcceptLegalDocuments"; 165 return "AcceptLegalDocuments";
180 case AutofillMetrics::AUTHENTICATE_INSTRUMENT: 166 case AutofillMetrics::AUTHENTICATE_INSTRUMENT:
181 return "AuthenticateInstrument"; 167 return "AuthenticateInstrument";
182 case AutofillMetrics::GET_FULL_WALLET: 168 case AutofillMetrics::GET_FULL_WALLET:
183 return "GetFullWallet"; 169 return "GetFullWallet";
184 case AutofillMetrics::GET_WALLET_ITEMS: 170 case AutofillMetrics::GET_WALLET_ITEMS:
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 } 310 }
325 311
326 void AutofillMetrics::LogCreditCardInfoBarMetric(InfoBarMetric metric) const { 312 void AutofillMetrics::LogCreditCardInfoBarMetric(InfoBarMetric metric) const {
327 DCHECK_LT(metric, NUM_INFO_BAR_METRICS); 313 DCHECK_LT(metric, NUM_INFO_BAR_METRICS);
328 314
329 UMA_HISTOGRAM_ENUMERATION("Autofill.CreditCardInfoBar", metric, 315 UMA_HISTOGRAM_ENUMERATION("Autofill.CreditCardInfoBar", metric,
330 NUM_INFO_BAR_METRICS); 316 NUM_INFO_BAR_METRICS);
331 } 317 }
332 318
333 void AutofillMetrics::LogDialogDismissalState( 319 void AutofillMetrics::LogDialogDismissalState(
334 autofill::DialogType dialog_type,
335 DialogDismissalState state) const { 320 DialogDismissalState state) const {
336 std::string name = GetPrefixForDialogType(dialog_type) + ".DismissalState"; 321 std::string name = "RequestAutocomplete.DismissalState";
337 LogUMAHistogramEnumeration(name, state, NUM_DIALOG_DISMISSAL_STATES); 322 LogUMAHistogramEnumeration(name, state, NUM_DIALOG_DISMISSAL_STATES);
Ilya Sherman 2013/09/03 20:57:05 nit: Please update this to use the regular UMA_HIS
Raman Kakilate 2013/09/03 21:50:31 Done.
338 } 323 }
339 324
340 void AutofillMetrics::LogDialogInitialUserState( 325 void AutofillMetrics::LogDialogInitialUserState(
341 autofill::DialogType dialog_type,
342 DialogInitialUserStateMetric user_type) const { 326 DialogInitialUserStateMetric user_type) const {
343 std::string name = GetPrefixForDialogType(dialog_type) + ".InitialUserState"; 327 std::string name = "RequestAutocomplete.InitialUserState";
344 LogUMAHistogramEnumeration( 328 LogUMAHistogramEnumeration(
345 name, user_type, NUM_DIALOG_INITIAL_USER_STATE_METRICS); 329 name, user_type, NUM_DIALOG_INITIAL_USER_STATE_METRICS);
Ilya Sherman 2013/09/03 20:57:05 nit: Please update this to use the regular UMA_HIS
Raman Kakilate 2013/09/03 21:50:31 Done.
346 } 330 }
347 331
348 void AutofillMetrics::LogDialogLatencyToShow( 332 void AutofillMetrics::LogDialogLatencyToShow(
349 autofill::DialogType dialog_type,
350 const base::TimeDelta& duration) const { 333 const base::TimeDelta& duration) const {
351 std::string name = 334 std::string name = "RequestAutocomplete.UiLatencyToShow";
352 GetPrefixForDialogType(dialog_type) + ".UiLatencyToShow";
353 LogUMAHistogramTimes(name, duration); 335 LogUMAHistogramTimes(name, duration);
Ilya Sherman 2013/09/03 20:57:05 nit: Please update this to use the regular UMA_HIS
Raman Kakilate 2013/09/03 21:50:31 Done.
354 } 336 }
355 337
356 void AutofillMetrics::LogDialogPopupEvent(autofill::DialogType dialog_type, 338 void AutofillMetrics::LogDialogPopupEvent(DialogPopupEvent event) const {
357 DialogPopupEvent event) const { 339 std::string name = "RequestAutocomplete.PopupInDialog";
358 std::string name = GetPrefixForDialogType(dialog_type) + ".PopupInDialog";
359 LogUMAHistogramEnumeration(name, event, NUM_DIALOG_POPUP_EVENTS); 340 LogUMAHistogramEnumeration(name, event, NUM_DIALOG_POPUP_EVENTS);
Ilya Sherman 2013/09/03 20:57:05 nit: Please update this to use the regular UMA_HIS
Raman Kakilate 2013/09/03 21:50:31 Done.
360 } 341 }
361 342
362 void AutofillMetrics::LogDialogSecurityMetric( 343 void AutofillMetrics::LogDialogSecurityMetric(
363 autofill::DialogType dialog_type,
364 DialogSecurityMetric metric) const { 344 DialogSecurityMetric metric) const {
365 std::string name = GetPrefixForDialogType(dialog_type) + ".Security"; 345 std::string name = "RequestAutocomplete.Security";
366 LogUMAHistogramEnumeration(name, metric, NUM_DIALOG_SECURITY_METRICS); 346 LogUMAHistogramEnumeration(name, metric, NUM_DIALOG_SECURITY_METRICS);
Ilya Sherman 2013/09/03 20:57:05 nit: Please update this to use the regular UMA_HIS
Raman Kakilate 2013/09/03 21:50:31 Done.
367 } 347 }
368 348
369 void AutofillMetrics::LogDialogUiDuration( 349 void AutofillMetrics::LogDialogUiDuration(
370 const base::TimeDelta& duration, 350 const base::TimeDelta& duration,
371 autofill::DialogType dialog_type,
372 DialogDismissalAction dismissal_action) const { 351 DialogDismissalAction dismissal_action) const {
373 std::string prefix = GetPrefixForDialogType(dialog_type);
374
375 std::string suffix; 352 std::string suffix;
376 switch (dismissal_action) { 353 switch (dismissal_action) {
377 case DIALOG_ACCEPTED: 354 case DIALOG_ACCEPTED:
378 suffix = "Submit"; 355 suffix = "Submit";
379 break; 356 break;
380 357
381 case DIALOG_CANCELED: 358 case DIALOG_CANCELED:
382 suffix = "Cancel"; 359 suffix = "Cancel";
383 break; 360 break;
384 } 361 }
385 362
386 LogUMAHistogramLongTimes(prefix + ".UiDuration", duration); 363 LogUMAHistogramLongTimes("RequestAutocomplete.UiDuration", duration);
387 LogUMAHistogramLongTimes(prefix + ".UiDuration." + suffix, duration); 364 LogUMAHistogramLongTimes("RequestAutocomplete.UiDuration." + suffix,
365 duration);
388 } 366 }
389 367
390 void AutofillMetrics::LogDialogUiEvent(autofill::DialogType dialog_type, 368 void AutofillMetrics::LogDialogUiEvent(DialogUiEvent event) const {
391 DialogUiEvent event) const { 369 std::string name = "RequestAutocomplete.UiEvents";
392 std::string name = GetPrefixForDialogType(dialog_type) + ".UiEvents";
393 LogUMAHistogramEnumeration(name, event, NUM_DIALOG_UI_EVENTS); 370 LogUMAHistogramEnumeration(name, event, NUM_DIALOG_UI_EVENTS);
Ilya Sherman 2013/09/03 20:57:05 nit: Please update this to use the regular UMA_HIS
Raman Kakilate 2013/09/03 21:50:31 Done.
394 } 371 }
395 372
396 void AutofillMetrics::LogWalletErrorMetric(autofill::DialogType dialog_type, 373 void AutofillMetrics::LogWalletErrorMetric(WalletErrorMetric metric) const {
397 WalletErrorMetric metric) const { 374 std::string name = "RequestAutocomplete.WalletErrors";
398 std::string name = GetPrefixForDialogType(dialog_type) + ".WalletErrors";
399 LogUMAHistogramEnumeration(name, metric, NUM_WALLET_ERROR_METRICS); 375 LogUMAHistogramEnumeration(name, metric, NUM_WALLET_ERROR_METRICS);
Ilya Sherman 2013/09/03 20:57:05 nit: Please update this to use the regular UMA_HIS
Raman Kakilate 2013/09/03 21:50:32 Done.
400 } 376 }
401 377
402 void AutofillMetrics::LogWalletApiCallDuration( 378 void AutofillMetrics::LogWalletApiCallDuration(
403 WalletApiCallMetric metric, 379 WalletApiCallMetric metric,
404 const base::TimeDelta& duration) const { 380 const base::TimeDelta& duration) const {
405 LogUMAHistogramTimes("Wallet.ApiCallDuration." + 381 LogUMAHistogramTimes("Wallet.ApiCallDuration." +
406 WalletApiMetricToString(metric), duration); 382 WalletApiMetricToString(metric), duration);
407 } 383 }
408 384
409 void AutofillMetrics::LogWalletRequiredActionMetric( 385 void AutofillMetrics::LogWalletRequiredActionMetric(
410 autofill::DialogType dialog_type,
411 WalletRequiredActionMetric required_action) const { 386 WalletRequiredActionMetric required_action) const {
412 std::string name = 387 std::string name = "RequestAutocomplete.WalletRequiredActions";
413 GetPrefixForDialogType(dialog_type) + ".WalletRequiredActions";
414 LogUMAHistogramEnumeration( 388 LogUMAHistogramEnumeration(
415 name, required_action, NUM_WALLET_REQUIRED_ACTIONS); 389 name, required_action, NUM_WALLET_REQUIRED_ACTIONS);
Ilya Sherman 2013/09/03 20:57:05 nit: Please update this to use the regular UMA_HIS
Raman Kakilate 2013/09/03 21:50:32 Done.
416 } 390 }
417 391
418 void AutofillMetrics::LogDeveloperEngagementMetric( 392 void AutofillMetrics::LogDeveloperEngagementMetric(
419 DeveloperEngagementMetric metric) const { 393 DeveloperEngagementMetric metric) const {
420 DCHECK_LT(metric, NUM_DEVELOPER_ENGAGEMENT_METRICS); 394 DCHECK_LT(metric, NUM_DEVELOPER_ENGAGEMENT_METRICS);
421 395
422 UMA_HISTOGRAM_ENUMERATION("Autofill.DeveloperEngagement", metric, 396 UMA_HISTOGRAM_ENUMERATION("Autofill.DeveloperEngagement", metric,
423 NUM_DEVELOPER_ENGAGEMENT_METRICS); 397 NUM_DEVELOPER_ENGAGEMENT_METRICS);
424 } 398 }
425 399
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 const std::string& experiment_id) const { 507 const std::string& experiment_id) const {
534 LogServerExperimentId("Autofill.ServerExperimentId.Query", experiment_id); 508 LogServerExperimentId("Autofill.ServerExperimentId.Query", experiment_id);
535 } 509 }
536 510
537 void AutofillMetrics::LogServerExperimentIdForUpload( 511 void AutofillMetrics::LogServerExperimentIdForUpload(
538 const std::string& experiment_id) const { 512 const std::string& experiment_id) const {
539 LogServerExperimentId("Autofill.ServerExperimentId.Upload", experiment_id); 513 LogServerExperimentId("Autofill.ServerExperimentId.Upload", experiment_id);
540 } 514 }
541 515
542 } // namespace autofill 516 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698