blob: e4401cb23dba36503492bd0568450158ba136cdd [file] [log] [blame]
<!--
Copyright 2020 The Chromium Authors. All rights reserved.
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 send CLs to chromium-metrics-reviews@google.com rather than to specific
individuals. These CLs will be automatically reassigned to a reviewer within
about 5 minutes. This approach helps the metrics team to load-balance incoming
reviews. Googlers can read more about this at go/gwsq-gerrit.
-->
<histogram-configuration>
<histograms>
<histogram name="Signin" enum="SigninHelperFlow" expires_after="M85">
<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="2021-11-01">
<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="2021-11-01">
<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="2021-12-31">
<owner>aliceywang@chromium.org</owner>
<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="2021-12-31">
<owner>aliceywang@chromium.org</owner>
<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="2022-01-02">
<owner>bsazonov@chromium.org</owner>
<owner>aliceywang@chromium.org</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.Shown.Count"
units="counts" expires_after="2022-01-02">
<owner>aliceywang@chromium.org</owner>
<owner>triploblastic@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Every time the account picker bottom sheet is shown as part of the web
sign-in flow this histogram records the number of times bottom sheet was
shown (Android and iOS only).
</summary>
</histogram>
<histogram name="Signin.AccountConsistencyPromoAction.SignedIn.Count"
units="counts" expires_after="2022-01-02">
<owner>aliceywang@chromium.org</owner>
<owner>triploblastic@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
This histogram records the number of times the account picker bottom sheet
was shown before the user signed-in through the bottom sheet (Android and
iOS only).
</summary>
</histogram>
<histogram name="Signin.AccountConsistencyPromoAfterDismissal"
enum="AccountConsistencyPromoAfterDismissal" expires_after="2022-01-02">
<owner>triploblastic@chromium.org</owner>
<owner>aliceywang@chromium.org</owner>
<summary>
This histogram records the first web signin event if any within 2 minutes
after dismissing the account picker bottom sheet. Only recorded on Android.
</summary>
</histogram>
<histogram name="Signin.AccountEquality" enum="SigninAccountEquality"
expires_after="2021-09-06">
<owner>droger@chromium.org</owner>
<owner>skym@chromium.org</owner>
<summary>
There are two separate ways to test for account equality, using the account
id or the email. Historically the email was always used, but going forward
email will be modifiable. Now when we check account equality we use both
approaches and emit this metric to capture if they agreed or not.
</summary>
</histogram>
<histogram name="Signin.AccountFetcher.AccountAvatarFetchTime" units="ms"
expires_after="2021-12-16">
<owner>triploblastic@chromium.org</owner>
<owner>aliceywang@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="2021-12-16">
<owner>triploblastic@chromium.org</owner>
<owner>aliceywang@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="2022-04-01">
<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.
</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="2021-11-07">
<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.AndroidAccountInfoFetchTime" units="ms"
expires_after="2021-12-19">
<owner>aliceywang@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.AndroidAccountSigninViewSeedingTime" units="ms"
expires_after="M89">
<obsolete>
Removed 2012-04 as the other metric Signin.AndroidGetAccountIdsTime already
measures the seeding time.
</obsolete>
<owner>bsazonov@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
The time it takes to seed accounts before proceeding to the account
confirmation screen.
</summary>
</histogram>
<histogram name="Signin.AndroidDeviceAccountsNumberWhenEnteringFRE"
units="count" expires_after="2021-12-05">
<owner>bsazonov@chromium.org</owner>
<owner>aliceywang@chromium.org</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="2021-12-12">
<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="M96">
<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.AndroidGetAccountsTimeUiThread" units="ms"
expires_after="M89">
<obsolete>
Removed 2021-04
</obsolete>
<owner>alexilin@chromium.org</owner>
<owner>bsazonov@chromium.org</owner>
<summary>
The time it takes to retrieve the list of accounts from the system on the UI
thread.
</summary>
</histogram>
<histogram name="Signin.AndroidGmsUpdatingDialogShownTime" units="ms"
expires_after="M89">
<obsolete>
Removed 2021-04
</obsolete>
<owner>bsazonov@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
How long the &quot;Waiting for Google Play Services to finish updating&quot;
dialog is shown.
</summary>
</histogram>
<histogram name="Signin.AndroidNumberOfDeviceAccounts" units="accounts"
expires_after="2022-01-02">
<owner>triploblastic@chromium.org</owner>
<owner>aliceywang@chromium.org</owner>
<summary>
The number of Android accounts present on the device. Recorded on startup.
</summary>
</histogram>
<histogram name="Signin.AndroidPopulateAccountCacheWaitingTime" units="ms"
expires_after="2021-08-16">
<obsolete>
Removed in 2021/06.
</obsolete>
<owner>bsazonov@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
The time UI thread spent waiting for the list of accounts to be populated.
</summary>
</histogram>
<histogram name="Signin.AuthenticatedLaunchUserEvent"
enum="AuthenticatedLaunchUserEvent" expires_after="M95">
<obsolete>
Removed in M90.
</obsolete>
<owner>zmin@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
Records the UI event when user clicks a locked profile on UserManager.
Please note that if the local reauth failed, UserManager might show Gaia
Reauth dialog.
</summary>
</histogram>
<histogram name="Signin.AuthError" enum="GoogleServiceAuthError"
expires_after="2021-12-12">
<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 -->
<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 -->
<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="2021-11-07">
<owner>jkrcal@chromium.org</owner>
<owner>droger@chromium.org</owner>
<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 -->
<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 -->
<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 -->
<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.Extensions.GaiaRemoteConsentFlowResult"
enum="GaiaRemoteConsentFlowResult" expires_after="2021-12-12">
<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.GetAuthTokenResult"
enum="GetAuthTokenResult" expires_after="2021-12-12">
<!-- Name completed by histogram_suffixes name="GetAuthTokenType" -->
<owner>alexilin@chromium.org</owner>
<owner>droger@chromium.org</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.ForceSigninVerificationRequest" enum="BooleanRequested"
expires_after="M88">
<obsolete>
Removed 2020-10.
</obsolete>
<owner>zmin@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
The number profile load events that needs a force-sign-in verification
request. It's recorded when profile is loaded with an authentication token
and force-sign-in policy is enabled.
</summary>
</histogram>
<histogram name="Signin.ForceSigninVerificationTime" units="ms"
expires_after="M85">
<obsolete>
Removed 2020-10.
</obsolete>
<owner>zmin@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
Elapsed time of the force-sign-in verfication if it's finished. It includes
total network delay, retry delay and wait time due to no connection. The
verfication will not be recorded if it's not finished before profile is
signed out or removed from memory.
</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="2022-04-19">
<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.GetAccessTokenRetry" enum="GoogleServiceAuthError"
expires_after="2021-11-21">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<summary>
Retry reason of failed access token requests during Chrome reconcile.
</summary>
</histogram>
<histogram name="Signin.Intercept.AccountInfoFetchDuration" units="ms"
expires_after="2021-12-19">
<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.Guest.Availability"
enum="SigninInterceptGuestAvailability" expires_after="2021-12-19">
<owner>rhalavati@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
Records whether Guest option was available prior to showing signin intercept
and if not, why.
</summary>
</histogram>
<histogram name="Signin.Intercept.HeuristicOutcome"
enum="SigninInterceptHeuristicOutcome" expires_after="2021-12-19">
<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="2021-12-19">
<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="2021-12-19">
<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 name="Signin.Intercept.SessionStartupDuration" units="ms"
expires_after="2021-08-12">
<obsolete>
Replaced in M89 by Signin.Intercept.SessionStartupDuration.Multilogin and
Signin.Intercept.SessionStartupDuration.Reconcilor.
</obsolete>
<owner>alexilin@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
Records the duration of session startup time after signin interception. This
includes waiting for the account to be available on the web.
</summary>
</histogram>
<histogram name="Signin.Intercept.SessionStartupDuration.{Method}" units="ms"
expires_after="2021-08-12">
<owner>alexilin@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
Records the duration of session startup time after signin interception using
{Method}. This includes waiting for the account to be available on the web.
</summary>
<token key="Method">
<variant name="Multilogin"/>
<variant name="Reconcilor"/>
</token>
</histogram>
<histogram name="Signin.Intercept.SessionStartupReconcileError"
enum="BooleanPresent" expires_after="2021-12-19">
<owner>alexilin@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
Records whether a reconciliation errors happens while an account is moved to
another profile after signin interception, specifically when the cookie is
being generated by the account reconcilor.
</summary>
</histogram>
<histogram name="Signin.Intercept.SessionStartupResult"
enum="SigninInterceptSessionStartupResult" expires_after="2021-08-12">
<owner>alexilin@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
Records the result of session startup after signin interception, which adds
the account on the web.
</summary>
</histogram>
<histogram base="true" name="Signin.InterceptResult"
enum="SigninInterceptResult" expires_after="2021-12-19">
<!-- 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.InvestigatedScenario" enum="SigninInvestigatedScenario"
expires_after="2021-12-12">
<owner>treib@chromium.org</owner>
<owner>mmoskvitin@google.com</owner>
<summary>
Recorded when Sync is turned on in a profile. Records whether this is the
first time Sync is turned on in this profile or, if not, whether Sync was
previously turned on for the same or for a different account.
</summary>
</histogram>
<histogram name="Signin.IOSGaiaCookiePresentOnNavigation" enum="BooleanPresent"
expires_after="2022-01-30">
<owner>fernandex@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 navigates to a
Google-owned domain that is eligible for Mirror account consistency to track
authentication cookies that have been remove by an external force (e.g.
Apple's ITP). This logging is limited to once every hour due to performance
constraints.
</summary>
</histogram>
<histogram name="Signin.IOSGaiaCookieStateOnSignedInNavigation"
enum="GaiaCookieStateOnSignedInNavigation" expires_after="2021-12-05">
<owner>fernandex@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="2021-09-12">
<owner>jebel@chromium.org</owner>
<owner>fernandex@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.
&quot;Client Login&quot; corresponds to users that have signed in via the
legacy client login flow (Chrome iOS M27 and before). &quot;Shared
Authentication&quot; corresponds to user that have signed in via the iOS
Shared Authentication library. &quot;Sync off&quot; corresponds to users
that have sync turned off. &quot;Sync on&quot; corresponds to users that
have sync turned on.
</summary>
</histogram>
<histogram name="Signin.IOSNumberOfDeviceAccounts" units="accounts"
expires_after="2021-11-07">
<owner>fernandex@chromium.org</owner>
<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="2021-09-06">
<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.LoadedIdentities.Count" units="identities"
expires_after="2021-10-25">
<owner>jlebel@chromium.org</owner>
<owner>msarda@chromium.org</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="2021-10-25">
<owner>jlebel@chromium.org</owner>
<owner>msarda@chromium.org</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="2021-10-25">
<owner>jlebel@chromium.org</owner>
<owner>msarda@chromium.org</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="2021-11-14">
<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.OneClickConfirmation" enum="SigninFlowConfirmations"
expires_after="M85">
<owner>noms@chromium.org</owner>
<summary>
Count of the ways users interact with the confirmation dialogs of the new
web based sign in to Chrome flow (accessed via the one click signin).
</summary>
</histogram>
<histogram name="Signin.Reauth" enum="SigninReauthStates" expires_after="M77">
<owner>noms@chromium.org</owner>
<summary>Tracks events related to the reauthentication Gaia page.</summary>
</histogram>
<histogram name="Signin.Reconciler.AddedToCookieJar" units="accounts"
expires_after="never">
<!-- expires-never: used to detect and debug signin issues -->
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
How many accounts were added to the cookie jar because they were in the
browser's token service.
</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 &quot;true&quot;) or not (&quot;false&quot;) when the reconciler
attempts to perform MergeSession.
</summary>
</histogram>
<histogram name="Signin.Reconciler.DifferentPrimaryAccounts"
enum="DifferentPrimaryAccounts" expires_after="never">
<!-- expires-never: used to detect and debug signin issues -->
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
After execution of the account reconcilor, compares the primary account in
the token service to the primary GAIA account of the cookie jar.
</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="2022-05-02">
<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="M95">
<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.RemovedFromCookieJar" units="accounts"
expires_after="never">
<!-- expires-never: used to detect and debug signin issues -->
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
How many accounts were removed from the cookie jar because they were not in
the browser's token service.
</summary>
</histogram>
<histogram name="Signin.Reconciler.Trigger.{Operation}"
enum="SigninReconcilerTrigger" expires_after="2022-05-02">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>msalama@chromium.org</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.RefreshTokenRevocationCompleted"
enum="GaiaTokenRevocationStatus" expires_after="2021-03-31">
<obsolete>
Removed in M92.
</obsolete>
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<summary>
Reports the status (including error details) of token revocation requests
after they complete. This is recorded once per token, even if the request is
retried multiple times. It will be either a success if the token has been
revoked or the error on the last retry.
</summary>
</histogram>
<histogram name="Signin.RefreshTokenRevocationRequestProgress"
enum="SigninRefreshTokenRevocationRequestProgress"
expires_after="2021-03-31">
<obsolete>
Removed in M92.
</obsolete>
<owner>droger@chromium.org</owner>
<summary>
Tracks the progress of revocation requests for refresh tokens, and can be
used to check how many requests do not complete and why. Recorded for each
refresh token revocation request from the token service.
</summary>
</histogram>
<histogram name="Signin.RefreshTokenRevocationStatus"
enum="GaiaTokenRevocationStatus" expires_after="2021-03-31">
<obsolete>
Removed in M92.
</obsolete>
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<summary>
Reports the status (including error details) of token revocation requests
after they complete.
</summary>
</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.RemoveLocalAccountOutcome"
enum="SigninRemoveLocalAccountOutcome" expires_after="2021-09-30">
<owner>droger@chromium.org</owner>
<owner>mastiz@chromium.org</owner>
<summary>
This histogram records the outcome of processing
Google-Accounts-RemoveLocalAccount from Gaia, when an HTTP response includes
such header (usually upon user action to remove an account).
</summary>
</histogram>
<histogram name="Signin.SecondaryAccountConsentLog"
enum="SecondaryAccountConsentLoggerResult" expires_after="2021-03-30">
<obsolete>
Removed in M91. Deprecated after v2 EduCoexistence.
</obsolete>
<owner>anastasiian@chromium.org</owner>
<owner>sinhak@chromium.org</owner>
<summary>
The result of logging the parent consent for secondary EDU account addition
in child account sessions.
</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="2021-10-25">
<owner>fernandex@chromium.org</owner>
<owner>jlebel@chromium.org</owner>
<owner>msarda@chromium.org</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 &quot;Shown&quot; 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.SigninAllowed" units="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="2022-04-30">
<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.SigninReason" enum="SigninReason"
expires_after="2022-04-30">
<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="2022-04-30">
<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.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="2021-10-25">
<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="2021-10-25">
<!-- Name completed by histogram_suffixes name="SigninSSOIdentityListRequestCacheRequestState" -->
<owner>jlebel@chromium.org</owner>
<owner>fernandex@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="2021-10-25">
<!-- Name completed by histogram_suffixes name="SigninSSOIdentityListRequestDurationCacheState" -->
<owner>jlebel@chromium.org</owner>
<owner>fernandex@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="2021-11-14">
<owner>jlebel@chromium.org</owner>
<owner>fernandex@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.SSOIdentityListRequest.RunAfterCacheIsPopulated.CacheState"
enum="SigninSSOIdentityListRequestCacheState" expires_after="2021-04-19">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>jlebel@chromium.org</owner>
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Tracks the state of the SSO identity cache before
ChromeIdentityServiceImpl::RunAfterCacheIsPopulated() is called. See:
https://crbug.com/897470.
</summary>
</histogram>
<histogram
name="Signin.SSOIdentityListRequest.RunAfterCacheIsPopulated.Duration"
units="ms" expires_after="2021-04-19">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>jlebel@chromium.org</owner>
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Tracks the time between
ChromeIdentityServiceImpl::RunAfterCacheIsPopulated() and the callback is
invoked. See: https://crbug.com/897470.
</summary>
</histogram>
<histogram
name="Signin.SSOIdentityListRequest.WaitUntilCacheIsPopulated.CacheState"
enum="SigninSSOIdentityListRequestCacheState" expires_after="2021-06-20">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>jlebel@chromium.org</owner>
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Tracks the state of the SSO identity cache before
ChromeIdentityServiceImpl::WaitUntilCacheIsPopulated() is called. See:
https://crbug.com/897470.
</summary>
</histogram>
<histogram
name="Signin.SSOIdentityListRequest.WaitUntilCacheIsPopulated.Duration"
units="ms" expires_after="2021-06-20">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>jlebel@chromium.org</owner>
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Tracks the time between
ChromeIdentityServiceImpl::WaitUntilCacheIsPopulated() and the callback is
invoked. See: https://crbug.com/897470.
</summary>
</histogram>
<histogram name="Signin.SSOWKWebView.GetAllCookies.CookieCount" units="cookies"
expires_after="2021-11-21">
<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="2022-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="2022-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 base="true" name="Signin.SyncErrorInfoBar"
enum="SyncErrorInfoBarAction" expires_after="2021-12-12">
<!-- Name completed by histogram_suffixes name="SyncErrorInfoBarType" -->
<owner>triploblastic@chromium.org</owner>
<owner>bsazonov@chromium.org</owner>
<summary>
Records various UI and user action events related to the sync error infobar.
Android only.
</summary>
</histogram>
<histogram name="Signin.SyncFirstSetupCompleteSource"
enum="SyncFirstSetupCompleteSource" expires_after="2021-10-10">
<owner>triploblastic@chromium.org</owner>
<owner>bsazonov@chromium.org</owner>
<summary>Tracks where FirstSetupComplete bit is set from.</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.TransactionalReauthGaiaNavigationDuration.FromConfirmClick"
units="ms" expires_after="2021-10-31">
<owner>alexilin@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
Records the time from when the user confirms transactional reauth to when
the backround navigation to the Gaia reauth endpoint completes.
</summary>
</histogram>
<histogram
name="Signin.TransactionalReauthGaiaNavigationDuration.FromReauthStart"
units="ms" expires_after="2021-10-31">
<owner>alexilin@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
Records the time from when the user triggers transactional reauth to when
the background navigation to Gaia reauth endpoint completes.
</summary>
</histogram>
<histogram name="Signin.TransactionalReauthResult" enum="SigninReauthResult"
expires_after="2022-01-02">
<!-- 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="2022-01-02">
<!-- 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="2022-01-02">
<owner>triploblastic@google.com</owner>
<owner>bsazonov@chromium.org</owner>
<summary>User requested to wipe local device data on signout.</summary>
</histogram>
</histograms>
</histogram-configuration>