signin_metrics.h revision 116680a4aac90f2aa7413d9095a592090648e557
16acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Copyright 2014 The Chromium Authors. All rights reserved. 26acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Use of this source code is governed by a BSD-style license that can be 36acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// found in the LICENSE file. 46acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 56acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#ifndef COMPONENTS_SIGNIN_CORE_BROWSER_SIGNIN_METRICS_H_ 66acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#define COMPONENTS_SIGNIN_CORE_BROWSER_SIGNIN_METRICS_H_ 76acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 86acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Rennnamespace signin_metrics { 96acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 106acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Enum for the ways in which primary account detection is done. 116acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Rennenum DifferentPrimaryAccounts { 126acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // token and cookie had same primary accounts. 136acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn ACCOUNTS_SAME = 0, 146acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // Deprecated. Indicates different primary accounts. 156acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn UNUSED_ACCOUNTS_DIFFERENT, 166acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // No GAIA cookie present, so the primaries are considered different. 176acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn NO_COOKIE_PRESENT, 186acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // There was at least one cookie and one token, and the primaries differed. 196acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn COOKIE_AND_TOKEN_PRIMARIES_DIFFERENT, 206acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn NUM_DIFFERENT_PRIMARY_ACCOUNT_METRICS, 216acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn}; 226acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 236acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Track all the ways a profile can become signed out as a histogram. 246acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Rennenum ProfileSignout { 256acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // The value used within unit tests 266acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn SIGNOUT_TEST = 0, 276acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // The preference or policy controlling if signin is valid has changed. 286acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn SIGNOUT_PREF_CHANGED = 0, 296acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // The valid pattern for signing in to the Google service changed. 306acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn GOOGLE_SERVICE_NAME_PATTERN_CHANGED, 316acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // The preference or policy controlling if signin is valid changed during 326acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // the signin process. 336acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn SIGNIN_PREF_CHANGED_DURING_SIGNIN, 346acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // User clicked to signout from the settings page. 356acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn USER_CLICKED_SIGNOUT_SETTINGS, 366acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // The signin process was aborted, but signin had succeeded, so signout. This 376acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // may be due to a server response, policy definition or user action. 386acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn ABORT_SIGNIN, 396acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // The sync server caused the profile to be signed out. 406acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn SERVER_FORCED_DISABLE, 416acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // The credentials are being transfered to a new profile, so the old one is 426acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // signed out. 436acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn TRANSFER_CREDENTIALS, 446acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 456acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn // Keep this as the last enum. 466acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn NUM_PROFILE_SIGNOUT_METRICS, 476acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn}; 486acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 496acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Log to UMA histograms and UserCounts stats about a single execution of the 506acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// AccountReconciler. 516acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// |total_number_accounts| - How many accounts are in the browser for this 526acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// profile. 536acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// |count_added_to_cookie_jar| - How many accounts were in the browser but not 546acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// the cookie jar. 556acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// |count_added_to_token| - How may accounts were in the cookie jar but not in 566acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// the browser. 576acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// |primary_accounts_same| - False if the primary account for the cookie jar 586acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// and the token service were different; else true. 596acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// |is_first_reconcile| - True if these stats are from the first execution of 606acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// the AccountReconcilor. 616acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// |pre_count_gaia_cookies| - How many GAIA cookies were present before 626acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// the AccountReconcilor began modifying the state. 636acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Rennvoid LogSigninAccountReconciliation(int total_number_accounts, 646acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn int count_added_to_cookie_jar, 656acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn int count_added_to_token, 666acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn bool primary_accounts_same, 676acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn bool is_first_reconcile, 686acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn int pre_count_gaia_cookies); 696acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 706acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Track a successful signin. 716acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Rennvoid LogSigninAddAccount(); 726acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 736acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn// Track a profile signout. 746acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Rennvoid LogSignout(ProfileSignout metric); 756acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 766acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn} // namespace signin_metrics 776acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn 786acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn#endif // COMPONENTS_SIGNIN_CORE_BROWSER_SIGNIN_METRICS_H_ 796acb9a7ea3d7564944e12cbc73a857b88c1301eeMarius Renn