| <!-- |
| Copyright 2020 The Chromium Authors |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of Signin histograms |
| along with a detailed description for each histogram. |
| |
| For best practices on writing histogram descriptions, see |
| https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md |
| |
| Please follow the instructions in the OWNERS file in this directory to find a |
| reviewer. If no OWNERS file exists, please consider signing up at |
| go/reviewing-metrics (Googlers only), as all subdirectories are expected to |
| have an OWNERS file. As a last resort you can send the CL to |
| chromium-metrics-reviews@google.com. |
| --> |
| |
| <histogram-configuration> |
| |
| <histograms> |
| |
| <histogram name="Signin" enum="SigninHelperFlow" expires_after="2023-08-20"> |
| <owner>mlerman@chromium.org</owner> |
| <summary> |
| Tracks user interactions as they sign in through a flow. The suffix of the |
| histogram indicates what UI widget or application flow triggered the signin |
| flow. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountCapabilities.FetchDuration.{Result}" units="ms" |
| expires_after="2024-04-10"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records the fetch duration every time Chrome {Result} account |
| capabilities from network. This is recorded only on Desktop platforms where |
| Chrome implements its own account capabilities fetcher. |
| </summary> |
| <token key="Result"> |
| <variant name="Failure" summary="fails to fetch"/> |
| <variant name="Success" summary="successfully fetches"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.AccountCapabilities.FetchResult" |
| enum="AccountCapabilitiesFetchResult" expires_after="2024-04-10"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records the outcome of the account capabilities fetch |
| operation. This is recorded only on Desktop platforms where Chrome |
| implements its own account capabilities fetcher. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Signin.AccountCapabilities.GetFromSystemLibraryDuration{Caller}" |
| units="ms" expires_after="2024-04-10"> |
| <owner>fernandex@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records the time it takes to fetch account capabilities from |
| the system library {Caller}. |
| </summary> |
| <token key="Caller"> |
| <variant name="" summary="on every call (Android and iOS only)"/> |
| <variant name=".SigninUpgradePromo" |
| summary="when attempting to show the full screen sync promo (iOS |
| only)"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.AccountCapabilities.GetFromSystemLibraryResult" |
| enum="AccountCapabilitiesGetFromSystemLibraryResult" |
| expires_after="2024-04-10"> |
| <owner>fernandex@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records the outcome of the account capabilities fetch |
| operation. This is recorded only on Android and iOS where Chrome fetches the |
| account capabilities from the system library. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountConsistencyPromoAction" |
| enum="AccountConsistencyPromoAction" expires_after="2023-10-22"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records the action taken by user after receiving the header |
| from Gaia in the web sign-in flow. Currently only recorded on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountConsistencyPromoAction.{PromoEvent}" |
| enum="SigninAccessPoint" expires_after="2023-10-22"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records the action taken by user after receiving the header from Gaia in the |
| web sign-in flow. This histogram is another version of |
| |Signin.AccountConsistencyPromoAction|, where the original one logs the |
| promo events directly, and this histogram creates a variant for every promo |
| event, and logs its access points instead. |
| </summary> |
| <token key="PromoEvent"> |
| <variant name="AddAccountCompleted" |
| summary="User has completed the account addition flow triggered from |
| the bottom sheet."/> |
| <variant name="AddAccountCompletedWithNoDeviceAccount" |
| summary="User has added an account from a state without any on-device |
| account."/> |
| <variant name="AddAccountStarted" |
| summary="User has tapped |Add account to device| from expanded |
| account list."/> |
| <variant name="AddAccountStartedWithNoDeviceAccount" |
| summary="User has tapped |Sign In…| from the no-default-account |
| promo, starting an add-account flow."/> |
| <variant name="AuthErrorShown" |
| summary="The auth error screen was shown to the user."/> |
| <variant name="DismissedBack" |
| summary="User has dismissed the promo by tapping back button."/> |
| <variant name="DismissedButton" |
| summary="User has dismissed the promo by tapping on the dismissal |
| button in the bottom sheet."/> |
| <variant name="DismissedOther" |
| summary="User has dismissed the promo by other means."/> |
| <variant name="DismissedScrim" |
| summary="User has dismissed the promo by tapping on the scrim above |
| the bottom sheet."/> |
| <variant name="DismissedSwipeDown" |
| summary="User has dismissed the promo by swiping down the bottom |
| sheet."/> |
| <variant name="GenericErrorShown" |
| summary="The generic error screen was shown to the user."/> |
| <variant name="Shown" summary="The promo was shown to user."/> |
| <variant name="ShownWithNoDeviceAccount" |
| summary="The promo was shown to a user without an existing on-device |
| account."/> |
| <variant name="SignedInWithAddedAccount" |
| summary="User has added an account and signed in with this account."/> |
| <variant name="SignedInWithDefaultAccount" |
| summary="User has selected the default account and signed in with it."/> |
| <variant name="SignedInWithNoDeviceAccount" |
| summary="User has signed in to Chrome, from a state without any |
| on-device account."/> |
| <variant name="SignedInWithNonDefaultAccount" |
| summary="User has selected one of the non default accounts and signed |
| in with it."/> |
| <variant name="SignInFailed" |
| summary="AuthenticationFlow failed to sign-in."/> |
| <variant name="SuppressedAlreadySignedIn" |
| summary="The web sign-in is not shown because the user is already |
| signed in."/> |
| <variant name="SuppressedConsecutiveDismissals" |
| summary="The bottom sheet was suppressed as the user hit consecutive |
| active dismissal limit."/> |
| <variant name="SuppressedNoAccounts" |
| summary="The promo was suppressed as there were no accounts on the |
| device."/> |
| <variant name="SuppressedSigninNotAllowed" |
| summary="Promo is not shown due to sign-in being disallowed either by |
| an enterprise policy or by |Allow Chrome sign-in| toggle."/> |
| <variant name="TimeoutErrorShown" |
| summary="The timeout error was shown to the user."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.AccountFetcher.AccountAvatarFetchTime" units="ms" |
| expires_after="2023-09-03"> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| The time it takes to fetch the account avatar for one account in |
| AccountFetcherService. This is recorded every time a User Avatar fetch |
| request from AccountFetcherService succeeds. |
| |
| This histogram, along with Signin.AccountFetcher.AccountUserInfoFetchTime, |
| will be used to decide whether to use OneGoogle library. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountFetcher.AccountUserInfoFetchTime" units="ms" |
| expires_after="2023-09-10"> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| The time it takes to fetch the account information (except avatar) for one |
| account in AccountFetcherService. This is recorded every time a User Info |
| fetch request from AccountFetcherService succeeds. |
| |
| This histogram, along with Signin.AccountFetcher.AccountAvatarFetchTime, |
| will be used to decide whether to use OneGoogle library. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountReconcilorState.OnGaiaResponse" |
| enum="SigninAccountReconcilorState" expires_after="2023-10-22"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records the state of the account reconcilor when GAIA returns a specific |
| response. The data in the "Inactive" bucket might be incorrect |
| prior to M111. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountTracker.CountOfLoadedAccounts" units="Accounts" |
| expires_after="never"> |
| <!-- expires-never: used to monitor how many accounts are loaded from profile |
| prefs when the profile is loaded. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>sdefresne@chromium.org</owner> |
| <summary> |
| Number of accounts loaded from preferences by the AccountTracker. Invalid |
| accounts are not counted. |
| |
| This is recorded on each profile load. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountTracker.GaiaIdMigrationState" |
| enum="OAuth2LoginAccountRevokedMigrationState" expires_after="2023-10-22"> |
| <owner>msarda@chromium.org</owner> |
| <owner>sdefresne@chromium.org</owner> |
| <summary> |
| This histogram records the AccountTracker account ID migration status from |
| email to GAIA ID after the data is loaded from disk. It is more general than |
| OAuth2Login.AccountRevoked.MigrationState that only record the event in case |
| of errors and only on Android. |
| |
| This histogram will be used to check whether the migration has completed for |
| all active installs on a given platform or not (and whether the code can be |
| removed). |
| |
| This is recorded on each profile load. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountTracker.IsAccountIdEmpty" enum="BooleanEmpty" |
| expires_after="2023-12-31"> |
| <owner>sinhak@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Indicates if the account being tracked by AccountTracker has an empty |
| account id. This is recorded whenever AccountTracker starts tracking a new |
| account. |
| |
| This histogram will be used to decide the severity of AccountTracker |
| receiving malformed account ids. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountType.SigninConsent" enum="SigninAccountType" |
| expires_after="2023-10-08"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@chromium.org</owner> |
| <summary> |
| Records the sign-in consent by regular Gmail account or managed account. |
| Recorded when the user signs in (iOS only). |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AccountType.SyncConsent" enum="SigninAccountType" |
| expires_after="2023-10-08"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@chromium.org</owner> |
| <summary> |
| Records the sync consent done by regular Gmail account or managed account. |
| Recorded when the user signs in (iOS only). |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AddAccountState" enum="SigninAndroidAddAccountState" |
| expires_after="2023-10-22"> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records states in the add account process launched from |
| Chrome on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AndroidAccountInfoFetchTime" units="ms" |
| expires_after="2023-09-24"> |
| <owner>samarchehade@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| The time it takes to fetch the account information (user names, avatar) for |
| one account on Android. This is recorded when account information is |
| downloaded in FRE or when there is an accounts change event. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AndroidDeviceAccountsNumberWhenEnteringFRE" |
| units="count" expires_after="2023-09-10"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Number of Android accounts on device when entering the First Run Experience |
| sign-in screen. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AndroidGetAccountIdsTime" units="ms" |
| expires_after="2023-08-27"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <summary> |
| The time it takes to retrieve Gaia ids for all accounts from GoogleAuthUtil. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.AndroidGetAccountsTime" units="ms" |
| expires_after="2023-09-03"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <summary> |
| The time it takes to retrieve the list of accounts from the system. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AndroidIsFREStudyGroupConsistent" |
| enum="BooleanConsistent" expires_after="2023-09-24"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Whether the persisted name of the FREMobileIdentityConsistencyStudy is |
| consistent with the current value of low entropy source. Recorded on startup |
| when the trial is registered. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AndroidNumberOfDeviceAccounts" units="accounts" |
| expires_after="2023-08-27"> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| The number of Android accounts present on the device. Recorded on startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.AuthError" enum="GoogleServiceAuthError" |
| expires_after="2023-09-03"> |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Log the type of GAIA authentication error that occur whenever the error |
| state changes. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.CookieJar.ChromeAccountRelation" |
| enum="AccountRelation" expires_after="never"> |
| <!-- expires-never: this histogram gives important user information about user |
| signin behavior, and is often used in UX design decisions --> |
| |
| <!-- Name completed by histogram_suffixes name="AccountInvestigationReportingType" --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>skym@chromium.org</owner> |
| <summary> |
| The relation between the account signed into chrome, and the account(s) in |
| the cookie jar. This metric is never recorded when not signed into chrome. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.CookieJar.SignedInCount" units="accounts" |
| expires_after="never"> |
| <!-- expires-never: this histogram gives important user information about user |
| signin behavior, and is often used in UX design decisions --> |
| |
| <!-- Name completed by histogram_suffixes name="AccountInvestigationReportingType" --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>skym@chromium.org</owner> |
| <summary>The number of signed in accounts in the cookie jar.</summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.CookieJar.SignedInCountWithPrimary" |
| units="accounts" expires_after="2023-08-08"> |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <!-- Name completed by histogram_suffixes name="UnconsentedPrimaryAccountType" --> |
| |
| <summary> |
| The number of signed in accounts in the cookie jar for users that have a |
| (possibly unconsented) primary account. Reported at most every 24 hours |
| (using a persistent timer). Reporting is split based on the type of the |
| primary account. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.CookieJar.SignedOutCount" units="accounts" |
| expires_after="never"> |
| <!-- expires-never: this histogram gives important user information about user |
| signin behavior, and is often used in UX design decisions --> |
| |
| <!-- Name completed by histogram_suffixes name="AccountInvestigationReportingType" --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>skym@chromium.org</owner> |
| <summary>The number of signed out accounts in the cookie jar.</summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.CookieJar.StableAge" units="seconds" |
| expires_after="never"> |
| <!-- expires-never: this histogram gives important user information about user |
| signin behavior, and is often used in UX design decisions --> |
| |
| <!-- Name completed by histogram_suffixes name="AccountInvestigationReportingType" --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>skym@chromium.org</owner> |
| <summary>The amount of time since the cookie jar last changed.</summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.CookieJar.TotalCount" units="accounts" |
| expires_after="never"> |
| <!-- expires-never: this histogram gives important user information about user |
| signin behavior, and is often used in UX design decisions --> |
| |
| <!-- Name completed by histogram_suffixes name="AccountInvestigationReportingType" --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>skym@chromium.org</owner> |
| <summary>The total number of accounts in the cookie jar.</summary> |
| </histogram> |
| |
| <histogram name="Signin.DiceAuthorizationCode" enum="BooleanPresent" |
| expires_after="never"> |
| <!-- expires-never: used to monitor OAuth outages in Dice. --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Recorded when a Dice signin response is received and indicates whether the |
| authorization code was present or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.DiceResponseHeader" enum="SigninDiceResponseHeader" |
| expires_after="never"> |
| <!-- expires-never: used to monitor the health of the Dice feature and for troubleshooting. --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary>Records Dice responses (signin and signout).</summary> |
| </histogram> |
| |
| <histogram name="Signin.DiceTokenFetchResult" enum="SigninDiceTokenFetchResult" |
| expires_after="never"> |
| <!-- expires-never: used to monitor the health of the Dice feature and for troubleshooting. --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary>Outcome of the token fetch in Dice signin.</summary> |
| </histogram> |
| |
| <histogram name="Signin.Enterprise.WorkProfile.ProfileCreatedWithPolicySet" |
| enum="BooleanCreated" expires_after="2023-09-15"> |
| <owner>pastarmovj@chromium.org</owner> |
| <owner>ydago@chromium.org</owner> |
| <summary> |
| Whether the user chose to create a new work profile after a signin while |
| profile separation is enforced by policy. This is recorded after the user |
| accepts or refuses to create a new profile when shown the enterprise profile |
| confirmation dialog and enterprise profile separation is enforced by policy. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Enterprise.WorkProfile.ProfileCreatedwithPolicyUnset" |
| enum="BooleanCreated" expires_after="2023-09-15"> |
| <owner>pastarmovj@chromium.org</owner> |
| <owner>ydago@chromium.org</owner> |
| <summary> |
| Whether the user chose to create a new work profile after a signin while |
| profile separation is not enforced by policy. This is recorded after the |
| user accepts or refuses to create a new profile when shown the enterprise |
| profile confirmation dialog and enterprise profile separation is not |
| enforced by policy. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Extensions.GaiaRemoteConsentFlowResult" |
| enum="GaiaRemoteConsentFlowResult" expires_after="2023-10-08"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Result of the browser remote consent flow, which is a part of the |
| chrome.identity.getAuthToken() extension API call. Desktop only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Extensions.GetAuthTokenInteractivityStatus.{UiType}" |
| enum="SigninExtensionsGetAuthTokenInteractivityStatus" |
| expires_after="2023-07-10"> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records whether an interactive UI is allowed, when |
| `chrome.identity.getAuthToken` is in interactive mode and attempts to show a |
| "{UiType}" UI. If multiple UIs are shown by the same call, only |
| the first one is recorded. |
| </summary> |
| <token key="UiType"> |
| <variant name="Consent" summary="OAuth consent"/> |
| <variant name="Signin" summary="Signin"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.Extensions.GetAuthTokenNoGestureIdleTime.{UiType}" |
| units="ms" expires_after="2023-07-10"> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records the Chrome idle time, when `chrome.identity.getAuthToken` is in |
| interactive mode, has no user gesture, and attempts to show a |
| "{UiType}" UI. If multiple UIs are shown by the same call, only |
| the first one is recorded. |
| </summary> |
| <token key="UiType"> |
| <variant name="Consent" summary="OAuth consent"/> |
| <variant name="Signin" summary="Signin"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.Extensions.GetAuthTokenResult" |
| enum="GetAuthTokenResult" expires_after="2023-10-08"> |
| <!-- Name completed by histogram_suffixes name="GetAuthTokenType" --> |
| |
| <owner>alexilin@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Result of the chrome.identity.getAuthToken() extension API call. Recorded |
| right before returning the result to an extension. Desktop only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Extensions.LaunchWebAuthFlowResult" |
| enum="LaunchWebAuthFlowResult" expires_after="2023-08-27"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>rsult@google.com</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Result of the chrome.identity.launchWebAuthFlow() extension API call. |
| Recorded right before returning the result to an extension. Desktop only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.GaiaCookieManager.Logout" |
| enum="SigninGaiaCookieManagerLogout" expires_after="never"> |
| <!-- expires-never: monitors logout requests to http://accounts.google.com/Logout endpoint --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| The number of requests initiated by the browser to log the user out from |
| Google web. The Chrome account reconcilor enforces account consistency for |
| Google accounts between the browser and web. In some cases it must force |
| logout the user from Google web and then it sends a request to the Gaia |
| logout endpoint. The expectation is that brower initiated logout is a rare |
| event and should only occur in the following cases: a) it to be triggered |
| when the browser fails to exchange an auth code for refresh tokens after a |
| web sign-in (events which is counted by histogram |
| Signin.DiceTokenFetchResult), b) when all refresh tokens are invalid (e.g |
| when they cannot be loaded from disk). |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.GetAccessTokenFinished" enum="GoogleServiceAuthError" |
| expires_after="2023-10-22"> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Reconds finished access token requests during Chrome reconcile, both |
| successful or not, and return the GoogleAuthError state NONE is a success, |
| other values are failures. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.HadPreviousSyncAccount.SignedOutOnProfileLoad" |
| enum="BooleanHadSyncAccount" expires_after="2024-04-10"> |
| <owner>mastiz@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records whether sync was turned on/consented on a profile at least once |
| since the last time all profile data was wiped out (e.g. the user chose to |
| clear data upon signout). This histogram is recorded upon profile load, and |
| only for the case where the user is fully signed out. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.HadPreviousSyncAccount.SyncOffOnProfileLoad" |
| enum="BooleanHadSyncAccount" expires_after="2024-04-10"> |
| <owner>mastiz@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records whether sync was turned on/consented on a profile at least once |
| since the last time all profile data was wiped out (e.g. the user chose to |
| clear data upon signout). This histogram is recorded upon profile load, and |
| only if sync is off (either the user is fully signed out, or the user is |
| signed in without turning sync on). |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Intercept.AccountInfoFetchDuration" units="ms" |
| expires_after="2023-06-04"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Records the duration of the account info fetch after signin interception. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Intercept.FRE.Event" |
| enum="SigninInterceptFREDialogEvent" expires_after="2023-10-08"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records various events that occur during the first run experience after the |
| sign-in interception. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Intercept.HeuristicOutcome" |
| enum="SigninInterceptHeuristicOutcome" expires_after="2023-10-08"> |
| <owner>droger@chromium.org</owner> |
| <owner>alexilin@chromium.org</owner> |
| <summary> |
| Records the outcome of the signin interception heuristic, which runs for |
| each signin interception. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Intercept.ProfileCreationDuration" units="ms" |
| expires_after="2023-06-04"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Records the duration of the signed-in profile creation after signin |
| interception. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Intercept.ProfileSwitchDuration" units="ms" |
| expires_after="2023-06-04"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Records the duration of the signed-in profile switch after signin |
| interception. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.InterceptResult" |
| enum="SigninInterceptResult" expires_after="2023-10-08"> |
| <!-- Name completed by histogram_suffixes name="SigninInterceptType" --> |
| |
| <owner>alexilin@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Records the outcome of the enterprise signin interception bubble. Recorded |
| when the bubble is dismissed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.InvalidGaiaCredentialsReason" |
| enum="SigninInvalidGaiaCredentialsReason" expires_after="never"> |
| <!-- expires-never: used to monitor the health of the signin feature and for troubleshooting. --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Reason for invalid Gaia credentials. Recorded when Signin.AuthError records |
| invalid credentials. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.IOSDeviceRestoreIdentityCountAfter" units="identities" |
| expires_after="2023-08-13"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records the number of identities after iOS device restore. Recorded at cold |
| start when a device restore is detected, and only if the user was signed in |
| before the device backup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.IOSDeviceRestoreIdentityCountBefore" units="identities" |
| expires_after="2023-08-13"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records the number of identities before iOS device restore. Recorded at cold |
| start when a device restore is detected, and only if the user was signed in |
| before the device backup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.IOSDeviceRestoreSentinelError" |
| enum="SigninIOSDeviceRestoreSentinelError" expires_after="2023-07-16"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records errors when creating sentinel files at cold start. Those sentinel |
| files are used to detect a device restore. Histogram only for iOS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.IOSDeviceRestoreSentinelPathGenerated" |
| enum="BooleanSuccess" expires_after="2023-07-16"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records if the path for a sentinel file (used to detect iOS restore) is |
| generated successfully. Recorded on cold start. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.IOSDeviceRestoreSignedInState" |
| enum="IOSDeviceRestoreSignedinState" expires_after="2023-10-15"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records whether the user is signed in or signed out before and after a |
| device restore. Recorded at cold start when a device restore is detected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.IOSGaiaCookieStateOnSignedInNavigation" |
| enum="GaiaCookieStateOnSignedInNavigation" expires_after="2023-06-25"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records whether the Gaia cookie is present when a user signed in to Chrome |
| navigates to a Google-owned domain that is eligible for Mirror account |
| consistency. This metrics tracks the user journeys that interact with |
| authentication cookies and that could be disrupted if an external force |
| (e.g. Apple's ITP) were to remove these cookies. This logging is limited to |
| once every hour due to performance constraints. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.IOSLoginMethodAndSyncState" |
| enum="SigninIOSLoginMethodAndSyncState" expires_after="2023-08-08"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Tracks the combination of sign-in method and sync state for signed-in users |
| on iOS. If the user is signed in, this histogram is updated with the sign-in |
| method and the sync state each time the application goes to foregrond. |
| "Client Login" corresponds to users that have signed in via the |
| legacy client login flow (Chrome iOS M27 and before). "Shared |
| Authentication" corresponds to user that have signed in via the iOS |
| Shared Authentication library. "Sync off" corresponds to users |
| that have sync turned off. "Sync on" corresponds to users that |
| have sync turned on. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.IOSNumberOfDeviceAccounts" units="accounts" |
| expires_after="2023-09-17"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Count of the number of SSO accounts present on the device. Note that this is |
| different to the number of accounts signed in in Chrome. The count is logged |
| in this histogram each time the application goes to foreground. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.IsShared" enum="BooleanIsShared" |
| expires_after="2023-09-06"> |
| <!-- Name completed by histogram_suffixes name="AccountInvestigationReportingType" --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>skym@chromium.org</owner> |
| <summary> |
| Current best guess if this device is shared between multiple users. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.ListAccountsFailure" enum="GoogleServiceAuthError" |
| expires_after="never"> |
| <!-- expires-never: ListAccounts calls are used to monitor the accounts in the |
| Gaia cookies. This is a mandatory step for account reconcilor and therefore |
| should be kept for as long as Chrome continues to reconciles accounts between |
| the browser and content area. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Failure reason of ListAccounts call failure during account reconciliation, |
| Chrome OS login, or signin internals queries. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.ListAccountsRetry" enum="GoogleServiceAuthError" |
| expires_after="never"> |
| <!-- expires-never: ListAccounts calls are used to monitor the accounts in the |
| Gaia cookies. This is a mandatory step for account reconcilor and therefore |
| should be kept for as long as Chrome continues to reconciles accounts between |
| the browser and content area. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Retry reason of failed ListAccounts calls (these calls calls are used to |
| fetch the list of Google accounts present in the Gaia cookies). |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.ListFamilyMembersRequest.Latency" units="ms" |
| expires_after="2023-11-01"> |
| <owner>tju@google.com</owner> |
| <owner>chrome-kids-eng@google.com</owner> |
| <summary>Tracks the latency of calls to the Kids Management API.</summary> |
| </histogram> |
| |
| <histogram name="Signin.ListFamilyMembersRequest.NetOrHttpStatus" |
| enum="CombinedHttpResponseAndNetErrorCode" expires_after="2023-11-01"> |
| <owner>tju@google.com</owner> |
| <owner>chrome-kids-eng@google.com</owner> |
| <summary> |
| The status of the net or http communication to the Kids Management API. This |
| is recorded for each request to the Kids Management API (ListFamilyMembers |
| rpc). |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.ListFamilyMembersRequest.Status" |
| enum="KidsExternalFetcherStatus" expires_after="2023-11-01"> |
| <owner>tju@google.com</owner> |
| <owner>chrome-kids-eng@google.com</owner> |
| <summary>The status of the fetch to the Kids Management API.</summary> |
| </histogram> |
| |
| <histogram name="Signin.ListFamilyMembersRequest.{Status}.Latency" units="ms" |
| expires_after="2023-11-01"> |
| <owner>tju@google.com</owner> |
| <owner>chrome-kids-eng@google.com</owner> |
| <summary> |
| Latency of the calls to the Kids Management API that resulted with |
| "{Status}" status. |
| </summary> |
| <token key="Status"> |
| <variant name="AuthError" summary="authentication error"/> |
| <variant name="DataError" |
| summary="contract error (data in the response missing despite |
| succesful parsing)"/> |
| <variant name="HttpError" summary="transport error"/> |
| <variant name="NoError" summary="no error recorded"/> |
| <variant name="ParseError" summary="parsing error"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.LoadedIdentities.Count" units="identities" |
| expires_after="2024-04-01"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Counts the number of identities loaded by SSO library using the keychain |
| API. The metric is recorded every time SSO updates the identity list (either |
| on the first run, or when the cache is staled). See: |
| https://crbug.com/897470. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.LoadedIdentities.Duration" units="ms" |
| expires_after="2024-04-01"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Tracks the time it takes to load identities by SSO library using the |
| keychain API. The metric is recorded every time SSO updates the identity |
| list (either on the first run, or when the cache is staled). See: |
| https://crbug.com/897470. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.LoadedIdentities.DurationPerIdentity" units="ms" |
| expires_after="2024-04-01"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Tracks the time it takes to load one identity in average by SSO library |
| using the keychain API. This value is the total time taken by the keychain |
| API to finish, divided by the number of identities returned. The metrics is |
| recorded every time SSO updates the identity list (either on the first run, |
| or when the cache is staled). See: crbug.com/897470. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.LoadTokenFromDB" enum="SigninLoadTokenFromDB" |
| expires_after="never"> |
| <!-- expires-never: used to monitor the health of the signin feature and for troubleshooting. --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Action taken for tokens being loaded from the token database, at Chrome |
| startup. Tokens can be either loaded into Chrome's token service or revoked. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Multilogin.NumberOfAccounts" units="accounts" |
| expires_after="never"> |
| <!-- expires-never: used to monitor the health of the signin feature and for troubleshooting. --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Number of accounts in tokens sent to Gaia Multilogin. Recorded when Chrome |
| does a request to /oauth/multilogin. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.OAuth2MintToken.ApiCallResult" |
| enum="OAuth2MintTokenApiCallResult" expires_after="2023-08-27"> |
| <owner>alexilin@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Result of the OAuth2MintToken API call. Recorded after the response is |
| processed. Desktop only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.OAuth2TokenGetResult" enum="GoogleServiceAuthError" |
| expires_after="never"> |
| <!-- expires-never: This is needed as long as Chrome is fetching access tokens |
| to monitor/debug fetching OAuth2 Token issues. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Reason fetching an OAuth2 Token failed or none in case of success. Available |
| on all OSes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.OAuth2TokenGetRetry" enum="GoogleServiceAuthError" |
| expires_after="never"> |
| <!-- expires-never: This reports the retry reason for fetching OAuth 2.0 access |
| tokens and is needed for as long as Chrome is fetching access tokens. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Reason fetching an OAuth2 Token is being retried. Available on all OSes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.OAuthMultiloginResponseStatus" |
| enum="OAuthMultiloginResponseStatus" expires_after="never"> |
| <!-- expires-never: This reports the status received from gaia Multilogin and |
| should be kept to monitor/debug signin Multilogin issues--> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary>Response status received from gaia Multilogin.</summary> |
| </histogram> |
| |
| <histogram name="Signin.Reconciler.AllExternalCcResultCompleted" |
| enum="BooleanSuccess" expires_after="never"> |
| <!-- expires-never: used to detect and debug signin issues --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Records whether all external connections have been successfully checked (a |
| value of "true") or not ("false") when the reconciler |
| attempts to perform MergeSession. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.Reconciler.Duration.UpTo3mins" units="ms" |
| expires_after="never"> |
| <!-- expires-never: used to detect and debug signin issues --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Records the execution time of the account reconciler using 100 buckets, up |
| to 3 minutes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Reconciler.ExternalCcResultTime.Completed" units="ms" |
| expires_after="never"> |
| <!-- expires-never: used to detect and debug signin issues --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Records the time it took to successfully check all external connections |
| whenever the reconciler performs a reconciliation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Reconciler.ExternalCcResultTime.NotCompleted" |
| units="ms" expires_after="never"> |
| <!-- expires-never: used to detect and debug signin issues --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Records the time it took to check only a portion of external connections |
| whenever the reconciler performs a reconciliation. This means that either a |
| network error occured while checking some sites or the site did not respond |
| before the check timeout. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.Reconciler.Operation" enum="SigninReconcilerOperation" |
| expires_after="2023-10-08"> |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Records the operation executed by the reconcilor to reconcile the accounts |
| (or no-op if the accounts are already consistent). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Signin.Reconciler.RejectedRequestsDueToThrottler.{RequestType}" |
| units="requests" expires_after="2023-09-30"> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>msalama@chromium.org</owner> |
| <summary> |
| Records the number of consecutive {RequestType} requests not allowed by the |
| account reconcilor throttler due to back off time required between |
| successive requests with the same paramaters. Recorded on the throttler |
| destruction, a reset upon a new different request or a no operation |
| reconciliation cycle or an allowed request upon a sufficient time to refill. |
| </summary> |
| <token key="RequestType"> |
| <variant name="LogoutAll" summary="logout all"/> |
| <variant name="Preserve" summary="preserve"/> |
| <variant name="Update" summary="update"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.Reconciler.Trigger.{Operation}" |
| enum="SigninReconcilerTrigger" expires_after="2024-05-02"> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>msalama@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Recorded when the account reconcilor tries to change the cookie to match the |
| tokens and performs a {Operation} operation. Records the event which |
| triggered the reconcile. |
| </summary> |
| <token key="Operation"> |
| <variant name="Logout" summary="logout"/> |
| <variant name="Multilogin" summary="multilogin"/> |
| <variant name="Noop" summary="no-op"/> |
| <variant name="Throttled" summary="throttled (cancelled)"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.RefreshTokenRevoked.Source" |
| enum="SourceForRefreshTokenOperation" expires_after="never"> |
| <!-- expires-never: This histogram reports the source for token revocation |
| operation and should therefore be logged for as long as Chrome uses OAuth 2.0 |
| refresh tokens to manage authentication and authorization information for |
| Google accounts.--> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Source for refresh token revocation. This is used to track the sources for |
| signing out of Google accounts and is required to validate that the browser |
| is not revoking tokens for large parts of the user population. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.RefreshTokenUpdated.ToInvalidToken.Source" |
| enum="SourceForRefreshTokenOperation" expires_after="never"> |
| <!-- expires-never: This histogram reports the source for invalidating the |
| refresh token of the primary account. It should therefore be logged for as long |
| as Chrome uses OAuth 2.0 refresh tokens to manage authentication and |
| authorization information for the primary account.--> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Source for refresh token updated to invalid tokens. The refresh token is |
| updated to an permanently invalid token when the user attempts to sign out |
| of the primary account without turning off sync. This histogram is used to |
| track the sources for invalidating the token of the primary account and is |
| required to validate that the browser is not invalidating the token of the |
| primary account for large parts of the user population. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.RefreshTokenUpdated.ToValidToken.Source" |
| enum="SourceForRefreshTokenOperation" expires_after="never"> |
| <!-- expires-never: This histogram reports the source for updating a refresh |
| token. It should therefore be logged for as long as Chrome uses OAuth 2.0 |
| refresh tokens to manage authentication and authorization information for Google |
| accounts .--> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Source for refresh token updated to valid tokens. This is used to track the |
| sources for adding Google accounts to the browser. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SetCookieSuccess" enum="BooleanSuccess" |
| expires_after="never"> |
| <!-- expires-never: For monitoring setting cookies in the cookie jar after an |
| OAuth Multilogin call. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| This histogram records the success of setting each cookie after Multilogin |
| response is received and parsed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SignedInAccountsViewImpression" enum="BooleanShown" |
| expires_after="2023-07-16"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Track the number of times the view that displays the accounts that are |
| signed is shown. This view only exists on iOS and is shown every time the |
| application enters forground iff the accounts changed while it was in |
| background. Only bucket "Shown" is being recorded (this histogram |
| is a counter). |
| |
| This histogram was added following crbug.com/1006717 (stable regression) |
| where the signed-in accounts view was repeatedly shown for a set of users. |
| It is used as a counter to monitor that there are no bumps in its timeline. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SignIn.Completed" enum="SigninAccessPoint" |
| expires_after="2023-12-19"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>dgn@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records that the user signed in to Chrome, and logs the original access |
| point associated with this event. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SignIn.Offered" enum="SigninAccessPoint" |
| expires_after="2023-12-19"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>dgn@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records that the option to sign in to Chrome was offered to the user, and |
| logs the original access point associated with this event. |
| |
| This histogram is still in development and has a limited coverage of the |
| Signin access points for now. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SignIn.Started" enum="SigninAccessPoint" |
| expires_after="2023-12-19"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>dgn@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records that the user started the flow to sign in to Chrome, and logs the |
| original access point associated with this event. |
| |
| Notes: |
| |
| - This histogram is still in development and has a limited coverage of the |
| Signin access points for now. See go/chrome-signin-metrics-revamp for more |
| context on the planned work. |
| |
| - For the First Run, we log it once for the whole first run flow, it does |
| not get recorded multiple times if the user steps back in the flow and |
| chooses again to sign in. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SigninAbortedAccessPoint" enum="SigninAccessPoint" |
| expires_after="2023-10-06"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Logs the original access point of each aborted sign in. Only logged on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SigninAllowed" enum="BooleanEnabled" |
| expires_after="never"> |
| <!-- expires-never: used to monitor the health of the signin feature. --> |
| |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>tangltom@chromium.org</owner> |
| <summary> |
| Tracks the state of a user's signin-allowed preference. This is recorded at |
| every startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SigninCompletedAccessPoint" enum="SigninAccessPoint" |
| expires_after="2023-10-01"> |
| <owner>msarda@chromium.org</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary>Logs the original access point of each completed sign in.</summary> |
| </histogram> |
| |
| <histogram name="Signin.SigninDisabledNotificationShown" |
| enum="SigninAccessPoint" expires_after="2023-09-22"> |
| <owner>birnie@google.com</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records the signin access point which was used when the |
| signin disabled notification was shown. This is on Android only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SigninReason" enum="SigninReason" |
| expires_after="2023-10-08"> |
| <owner>msarda@chromium.org</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary>Logs the reason of each completed sign in.</summary> |
| </histogram> |
| |
| <histogram name="Signin.SigninStartedAccessPoint" enum="SigninAccessPoint" |
| expires_after="2023-10-08"> |
| <owner>msarda@chromium.org</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Logs the original access point that displayed the signin or reauth Gaia |
| page, before the page is displayed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SignOut.Completed" enum="SigninSignoutProfile" |
| expires_after="2023-12-19"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>dgn@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records that the user signed out of Chrome, and logs the original access |
| point associated with this event. Note that turning off Sync almost always |
| signs the user out, in which case both this histogram and |
| Signin.SyncTurnOff.Completed are recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SignoutDeleteProfile" enum="BooleanDeletedOrNot" |
| expires_after="M85"> |
| <owner>skym@chromium.org</owner> |
| <summary> |
| If the user chose to delete their profile or not when signing out of an |
| unmanaged account. When the user is not given a choice this metric is not |
| recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SignoutProfile" enum="SigninSignoutProfile" |
| expires_after="never"> |
| <!-- expires-never: This reports how a profile gets signed out and needs to be |
| kept as long as profile signout is possible --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary>Track how a profile gets signed out.</summary> |
| </histogram> |
| |
| <histogram name="Signin.SSOAuth.GetIdentities.ErrorCode" |
| enum="SigninSSOAuthGetIdentitiesErrorCode" expires_after="2023-09-03"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Tracks the error code by -[SSOService identitiesWithError:]. See: |
| https://crbug.com/981082. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.SSOIdentityListRequest.CacheState" |
| enum="SigninSSOIdentityListRequestCacheState" expires_after="2024-04-01"> |
| <!-- Name completed by histogram_suffixes name="SigninSSOIdentityListRequestCacheRequestState" --> |
| |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Tracks the SSO identity cache state before calling -[GCRSSOService |
| identitiesWithError:] or -[GCRSSOService identitiesForDisplay]. See: |
| https://crbug.com/897470. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Signin.SSOIdentityListRequest.Duration" units="ms" |
| expires_after="2024-04-01"> |
| <!-- Name completed by histogram_suffixes name="SigninSSOIdentityListRequestDurationCacheState" --> |
| |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Tracks the time it takes to call -[GCRSSOService identitiesWithError:] or |
| -[GCRSSOService identitiesForDisplay]. See: https://crbug.com/897470. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Signin.SSOIdentityListRequest.FetchIdentitiesWithCallback.Duration" |
| units="ms" expires_after="2024-04-01"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Tracks the time between -[GCRSSOService fetchIdentitiesWithCallback:] and |
| the callback is invoked. See: https://crbug.com/897470. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SSOWKWebView.GetAllCookies.CookieCount" units="cookies" |
| expires_after="2024-04-01"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Counts the number of cookies returned by -[WKHTTPCookieStore |
| getAllCookies:]. This histogram is to help to understand how many callbacks |
| from |getAllCookies:| can be missing. And if the number of cookies is |
| related in that iOS bug. See: crbug.com/880981. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SSOWKWebView.GetAllCookies.Duration" units="ms" |
| expires_after="2024-04-01"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Tracks the time it takes for -[WKHTTPCookieStore getAllCookies:] to finish |
| and call its callback. Note that nothing is logged is -[WKHTTPCookieStore |
| getAllCookies:] fails to calls its callback. This histogram is to help to |
| understand how many callbacks from |getAllCookies:| can be missing, related |
| to a bug from iOS. And if the number of cookies is related in that iOS bug. |
| See: crbug.com/880981. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SSOWKWebView.GetAllCookies.Request" |
| enum="SigninSSOWKWebViewGetAllCookiesRequest" expires_after="2024-04-01"> |
| <owner>jlebel@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Counts the number of times -[WKHTTPCookieStore getAllCookies:] is called and |
| the number of times it calls its callback. This histogram is to help to |
| understand how many callbacks from |getAllCookies:| can be missing, related |
| to a bug from iOS. And if the number of cookies is related in that iOS bug. |
| See: crbug.com/880981. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SyncConsentScreen.DataRowClicked" |
| enum="SigninSyncConsentDataRow" expires_after="2023-08-18"> |
| <owner>arthurmilchior@chromium.org</owner> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records which sync data row was clicked by the user on the |
| tangible sync consent page on Android and iOS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SyncDisabledNotificationShown" enum="SigninAccessPoint" |
| expires_after="2023-09-22"> |
| <owner>birnie@google.com</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records the sync access point which was used when the sync |
| disabled notification was shown. This is on Android only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SyncErrorMessage{SyncErrorReason}" |
| enum="SyncErrorPromptUIAction" expires_after="2023-09-12"> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <summary> |
| Records various UI and user action events related to the sync error message. |
| Android only. |
| </summary> |
| <token key="SyncErrorReason"> |
| <variant name=".AuthError" summary="Auth error."/> |
| <variant name=".ClientOutOfDate" summary="Client out of date."/> |
| <variant name=".PassphraseRequired" summary="Passphrase required."/> |
| <variant name=".SyncSetupIncomplete" summary="Sync setup incomplete."/> |
| <variant name=".TrustedVaultKeyRequiredForEverything" |
| summary="Trusted vault keys required for everything."/> |
| <variant name=".TrustedVaultKeyRequiredForPasswords" |
| summary="Trusted vault keys required for passwords."/> |
| <variant name=".TrustedVaultRecoverabilityDegradedForEverything" |
| summary="Trusted vault recoverability degraded for everything."/> |
| <variant name=".TrustedVaultRecoverabilityDegradedForPasswords" |
| summary="Trusted vault recoverability degraded for passwords."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.SyncFirstSetupCompleteSource" |
| enum="SyncFirstSetupCompleteSource" expires_after="2023-08-20"> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <summary>Tracks where FirstSetupComplete bit is set from.</summary> |
| </histogram> |
| |
| <histogram name="Signin.SyncOptIn.Completed" enum="SigninAccessPoint" |
| expires_after="2023-12-19"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>dgn@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records that the sync opt-in was completed by the user, and logs the |
| original access point associated with this event. This is recorded when the |
| user chooses to opt-in, whether they chose to proceed with the default |
| settings or to open the sync settings first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SyncOptIn.OpenedSyncSettings" enum="SigninAccessPoint" |
| expires_after="2023-12-19"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>dgn@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records that the user chose to navigate to the sync settings page from the |
| sync confirmation screen. Logs this in the context of the access point |
| associated with this event. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SyncOptIn.Started" enum="SigninAccessPoint" |
| expires_after="2023-12-19"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>dgn@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records that the sync confirmation screen was shown to the user, and logs |
| the access point associated with this event. Note that due to some product |
| quirks, this is recorded also when the "sync disabled" screen is |
| shown, matching what happens with the completion event. See |
| crbug.com/1398463 for more info. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.SyncPromo.{Action}.Count.{AccessPoint}" units="counts" |
| expires_after="2023-09-22"> |
| <owner>triploblastic@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram records how many times sync promos have been shown (including |
| the current one) across all access points when {Action} the {AccessPoint} |
| sync promo (Android Only). |
| </summary> |
| <token key="Action"> |
| <variant name="Continued" |
| summary="the user presses on any button (except the dismiss cross) on"/> |
| <variant name="Dismissed" summary="the user dismisses"/> |
| <variant name="Shown" summary="Chrome shows"/> |
| </token> |
| <token key="AccessPoint"> |
| <variant name="Bookmarks" summary="bookmark page"/> |
| <variant name="Ntp" summary="new tab page"/> |
| <variant name="RecentTabs" summary="recent tabs page"/> |
| <variant name="Settings" summary="settings page"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Signin.SyncTurnOff.Completed" enum="SigninSignoutProfile" |
| expires_after="2023-12-19"> |
| <owner>bsazonov@chromium.org</owner> |
| <owner>dgn@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| Records that the user turned off sync, and logs the original access point |
| associated with this event. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.TokenTable.GetAllTokensSqlStatementValidity" |
| enum="BooleanValid" expires_after="never"> |
| <!-- expires-never: This reports SQL validity statements for loading |
| authentication refresh tokens from the database and therefore should be kept |
| for as long as we store refresh tokens in an SQLite DB. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Counts how many times the SQL statements to get all tokens is valid. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.TokenTable.ReadTokenFromDBResult" |
| enum="SigninTokenTableReadTokenFromDBResult" expires_after="never"> |
| <!-- expires-never: This reports health status for loading authentication |
| refresh tokens from the database and decrypting them and therefore |
| should be kept for as long as we store refresh tokens in an SQLite DB. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <summary> |
| Counts the results of loading a refresh token from the token database. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.TransactionalReauthResult" enum="SigninReauthResult" |
| expires_after="2023-10-22"> |
| <!-- Name completed by histogram_suffixes |
| name="TransactionalReauthEntryPoint" --> |
| |
| <owner>alexilin@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Recorded whenever the user interacts with reauthentication to complete a |
| transaction (like interacting with the account store for passwords) and |
| whether the reauth challenge was cleared. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.TransactionalReauthUserAction" |
| enum="SigninReauthUserAction" expires_after="2023-04-30"> |
| <!-- Name completed by histogram_suffixes |
| name="TransactionalReauthEntryPoint" --> |
| |
| <owner>alexilin@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Records user actions performed in the reauthentication dialog/tab. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.UberTokenFailure" enum="GoogleServiceAuthError" |
| expires_after="never"> |
| <!-- expires-never: Uber tokens are required to add accounts to the Gaia |
| cookies so we need to log failures for these operations for as long as Chrome |
| adds accounts to the Gaia cookies. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Reason of failure to acquiring an ubertoken based on an already-minted |
| access token. Available on all OSes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.UberTokenRetry" enum="GoogleServiceAuthError" |
| expires_after="never"> |
| <!-- expires-never: Uber tokens are required to add accounts to the Gaia |
| cookies so we need to log retry resutls for these operations for as long as |
| Chrome adds accounts to the Gaia cookies. --> |
| |
| <owner>msarda@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <summary> |
| Retry reason of failure to acquire an ubertoken based on an already-minted |
| access token. Available on all OSes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Signin.UserRequestedWipeDataOnSignout" enum="BooleanRequested" |
| expires_after="2023-10-09"> |
| <owner>triploblastic@google.com</owner> |
| <owner>bsazonov@chromium.org</owner> |
| <summary> |
| User requested to wipe local device data on signout. This histogram is only |
| recorded when the user is given a choice of whether or not to wipe data (not |
| in cases where the data is either automatically wiped or automatically not |
| wiped). |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |