| <!-- |
| 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 Password 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> |
| |
| <variants name="CustomPassphraseStatus"> |
| <variant name=""/> |
| <variant name=".WithCustomPassphrase" |
| summary="encrypted with custom passphrase"/> |
| <variant name=".WithoutCustomPassphrase" summary="regularly encrypted"/> |
| </variants> |
| |
| <variants name="PasswordCheckupOperation"> |
| <variant name="GetBreachedCredentialsCount" |
| summary="get breached credentials count"/> |
| <variant name="GetIntent" summary="get password checkup UI intent"/> |
| <variant name="RunPasswordCheckup" summary="run password checkup"/> |
| </variants> |
| |
| <variants name="PasswordManagerSetting"> |
| <variant name="AutoSignIn" summary="auto sign in preference"/> |
| <variant name="OfferToSavePasswords" |
| summary="offer to save passwords preference"/> |
| </variants> |
| |
| <variants name="PasswordManagerSettingAccessorFunction"> |
| <variant name="GetSettingValue" summary="retrieve the current value"/> |
| <variant name="SetSettingValue" summary="set a new value"/> |
| </variants> |
| |
| <variants name="PasswordProtectionTriggerType"> |
| <variant name="AnyPasswordEntry" summary="password reuse event"/> |
| <variant name="PasswordFieldOnFocus" summary="on focus event"/> |
| </variants> |
| |
| <variants name="PasswordType"> |
| <variant name="AutoGenerated" summary="automatically generated"/> |
| <variant name="Overall" summary="generated or created"/> |
| <variant name="UserCreated" summary="created by the user"/> |
| </variants> |
| |
| <variants name="ProfileType"> |
| <variant name="Account"/> |
| <variant name="LocalProfile"/> |
| </variants> |
| |
| <variants name="Scheme"> |
| <variant name=""/> |
| <variant name=".Android" summary="The password is for an Android app."/> |
| <variant name=".Ftp" summary="The scheme of the origin is FTP."/> |
| <variant name=".Http" summary="The scheme of the origin is HTTP."/> |
| <variant name=".Https" summary="The scheme of the origin is HTTPS."/> |
| <variant name=".Other" summary="The scheme of the origin is something else."/> |
| </variants> |
| |
| <variants name="Store"> |
| <variant name="AccountStore." summary="for account-scoped store"/> |
| <variant name="ProfileStore." summary="for profile-scoped store"/> |
| </variants> |
| |
| <variants name="UPMMigrationType"> |
| <variant name="InitialMigrationForSyncUsers" |
| summary="migrating passwords from build-in backend to android backend |
| for sync users after enrolling into the UPM experiment"/> |
| <variant name="MigrationForLocalUsers" |
| summary="migrating passwords between android backend and build-in |
| backend to ensure consistency for local users"/> |
| <variant name="NonSyncableDataMigrationToAndroidBackend" |
| summary="migrating non-syncable data to the android backend when |
| password sync gets enabled"/> |
| <variant name="NonSyncableDataMigrationToBuiltInBackend" |
| summary="migrating non-syncable data to the built-in backend when |
| password sync gets disabled"/> |
| <variant name="ReenrollmentAttemptMigration" |
| summary="migrating non-syncable data to the android backend when |
| performing reenrollment possibility check"/> |
| </variants> |
| |
| <variants name="UserSyncingType"> |
| <variant name="" summary="all users."/> |
| <variant name=".SignedInAccountStoreUser" |
| summary="signed-in user, opted in to the account storage, and saving |
| passwords to the account storage."/> |
| <variant name=".SignedInAccountStoreUserSavingLocally" |
| summary="signed-in user and opted in to the account storage, but has |
| chosen to save passwords only on the device."/> |
| <variant name=".SignedInUser" |
| summary="signed-in user, not opted in to the account storage (but will |
| save passwords to the account storage by default)."/> |
| <variant name=".SignedInUserSavingLocally" |
| summary="signed-in user, not opted in to the account storage, and has |
| explicitly chosen to save passwords only on the device."/> |
| <variant name=".SignedOutAccountStoreUser" |
| summary="signed-out user, but an account storage opt-in exists."/> |
| <variant name=".SignedOutUser" |
| summary="signed-out user (and no account storage opt-in exists)."/> |
| <variant name=".SyncUser" summary="syncing user."/> |
| </variants> |
| |
| <histogram name="KeyboardAccessory.AccessoryActionImpression" |
| enum="AccessoryAction" expires_after="2023-09-03"> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Android only. Records whenever users faces an action in the accessory bar or |
| one of its sheets. |
| </summary> |
| </histogram> |
| |
| <histogram name="KeyboardAccessory.AccessoryActionSelected" |
| enum="AccessoryAction" expires_after="2023-09-03"> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Android only. Records whenever users select an action in the accessory bar |
| or one of its sheets. |
| </summary> |
| </histogram> |
| |
| <histogram name="KeyboardAccessory.AccessoryBarShown" |
| enum="AccessoryBarContents" expires_after="2023-09-03"> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Android only. Records how often users encounter the keyboard accessory bar. |
| Its buckets show the contents when it came up. Every bucket may be logged up |
| to one time per impression. |
| </summary> |
| </histogram> |
| |
| <histogram name="KeyboardAccessory.AccessorySheetSuggestionCount" units="count" |
| expires_after="2023-06-18"> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Android only. Records how many suggestions a user faced when opening a |
| sheet. The base histogram counts impressions across all sheets. |
| </summary> |
| </histogram> |
| |
| <histogram name="KeyboardAccessory.AccessorySheetSuggestionsSelected" |
| enum="AccessorySuggestionType" expires_after="2023-10-22"> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Android only. Records which type of suggestion was selected from an open |
| sheet. |
| </summary> |
| </histogram> |
| |
| <histogram name="KeyboardAccessory.AccessorySheetTriggered" |
| enum="AccessorySheetTrigger" expires_after="2023-09-03"> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Android only. Records how often the bottom sheet was opened or closed by a |
| user and the overall count of closures. Closing buckets may be logged up to |
| one time per trigger. There are suffixes for each specific sheet type. |
| </summary> |
| </histogram> |
| |
| <histogram name="KeyboardAccessory.AccessoryToggleClicked" |
| enum="AccessoryToggleType" expires_after="2023-06-18"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Android only. Records how often the user clicks on a certain toggle when |
| opening an accessory sheet together with the state the toggle was in before |
| clicking. |
| </summary> |
| </histogram> |
| |
| <histogram name="KeyboardAccessory.AccessoryToggleImpression" |
| enum="AccessoryToggleType" expires_after="2023-06-18"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Android only. Records how often the user sees a certain toggle when opening |
| an accessory sheet together with the state the toggle was in. |
| </summary> |
| </histogram> |
| |
| <histogram name="KeyboardAccessory.DisabledSavingAccessoryImpressions" |
| enum="BooleanShown" expires_after="2023-06-18"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Android only. Records the number of times that the keyboard accessory was |
| shown on a form for which saving is disabled (with a crossed-out key icon). |
| Recorded when the user focuses the password field. |
| |
| Note: Only the "Shown" bucket should contain samples. |
| </summary> |
| </histogram> |
| |
| <histogram name="KeyboardAccessory.GenerationDialogChoice.{GenerationType}" |
| enum="GenerationDialogChoice" expires_after="M118"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Android only. Records the interactions with the password generation dialog |
| for {GenerationType}. Recorded when the user taps a button in the dialog or |
| dismsses it. |
| </summary> |
| <token key="GenerationType"> |
| <variant name="Automatic" summary="automatic generation"/> |
| <variant name="Manual" summary="manual generation"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordBubble.BiometricAuthenticationPromo.AcceptClicked" |
| enum="BooleanSuccess" expires_after="2023-09-03"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Records whether user clicked accept button on the Biometric Authentication |
| before filling promo dialog. Recorded when the dialog is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordBubble.CompromisedBubble.CheckClicked" |
| enum="BooleanClicked" expires_after="2023-10-09"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Whether the user proceeded to the list of the left compromised passwords |
| from the bubble following save/update password. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordBubble.CompromisedBubble.Type" |
| enum="PasswordBubbleFollowupType" expires_after="2023-10-23"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| The state of the bubble shown after users saves/updates a password. It |
| notifies the user about leftover compromised passwords. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordBubble.DisplayDisposition" |
| enum="PasswordBubbleDisplayDisposition" expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| When the password management bubble opened, what state was it in? |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordGeneration.EditsInGeneratedPassword.AlteredLengthIncreased" |
| enum="GeneratedPasswordAlteredLengthIncreased" expires_after="2023-11-20"> |
| <owner>kolos@chromium.org</owner> |
| <owner>shaikhitdin@google.com</owner> |
| <summary> |
| Measures difference in length between generated password and submitted |
| password. False if length decreased, true if length increased. Uploaded once |
| per modified generated password submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordGeneration.EditsInGeneratedPassword.AttributesMask" |
| enum="EditsInGeneratedPasswordMask" expires_after="2023-11-20"> |
| <owner>kolos@chromium.org</owner> |
| <owner>shaikhitdin@google.com</owner> |
| <summary> |
| Measures types of user editing of generated passwords. Mask tracks if there |
| are several types of changes simultaneously happening on generated password. |
| Uploaded once per modified generated password submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordGeneration.EditsInGeneratedPassword.{CharacterClass}" |
| enum="CharacterClassPresenceChange" expires_after="2023-11-20"> |
| <owner>kolos@chromium.org</owner> |
| <owner>shaikhitdin@google.com</owner> |
| <summary> |
| Measures difference in {CharacterClass} between generated password and |
| submitted password. Uploaded once per modified generated password |
| submission. |
| </summary> |
| <token key="CharacterClass"> |
| <variant name="Letters"/> |
| <variant name="Lowercase"/> |
| <variant name="Numerics"/> |
| <variant name="Symbols"/> |
| <variant name="Uppercase"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordGeneration.Event" enum="PasswordGenerationEvent" |
| expires_after="2023-09-03"> |
| <owner>kazinova@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Measures the frequency of various password generation events. |
| |
| Note that this histogram is logged from the renderer process, and |
| consequently the numbers should not be directly compared to the other |
| PasswordGeneration.* histograms, which are logged from the browser process. |
| Histograms logged in different processes are lost at different rates, which |
| introduces systematic bias between histograms logged in the renderer process |
| vs. those logged in the browser process. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordGeneration.GeneratedPasswordWasEdited" |
| enum="BooleanGeneratedPasswordWasEdited" expires_after="2023-09-10"> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| Measures the frequency of user editing of generated passwords. Uploaded once |
| per generated password save. Applicable to automatic and manual generations. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordGeneration.PopupShown" |
| enum="PasswordGenerationPopupShown" expires_after="2023-09-10"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary>Records an entry if (and only if) a popup was shown.</summary> |
| </histogram> |
| |
| <histogram name="PasswordGeneration.SubmissionAvailableEvent" |
| enum="PasswordSubmissionEvent" expires_after="M117"> |
| <owner>kazinova@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| Measures the frequency of submission events for passwords that could have |
| been generated, but the user didn't choose to use the feature. This is to |
| compare with PasswordGeneration.SubmssionEvent. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordGeneration.SubmissionEvent" |
| enum="PasswordSubmissionEvent" expires_after="2023-10-22"> |
| <owner>kazinova@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| Measures the frequency of submission events for generated passwords. This is |
| similar to PasswordManager.ActionsTakenWithPsl but only tracks events which |
| are interesting for generated passwords. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordGeneration.UploadStarted" enum="Boolean" |
| expires_after="M117"> |
| <owner>kazinova@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of times that we try to upload a form that we believe should |
| trigger password generation. False means that something about the form would |
| not allow us to try upload (not an Autofillable field, uploading disabled, |
| Autofill servers in backoff, etc.). True does not mean that the upload |
| actually completed successfully, just that it was started. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordGeneration.UserDecision" |
| enum="PasswordGenerationUserEvent" expires_after="2023-08-27"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Records user-triggered events related to a generated password. Only the last |
| occurring event is logged. The recording takes place when the password form |
| is destroyed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordHash.CreateTime" units="units" expires_after="M85"> |
| <owner>mlerman@chromium.org</owner> |
| <summary> |
| Time required to create the local hash of the user's GAIA password. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AbleToSavePasswordsOnSuccessfulLogin" |
| enum="BooleanSuccess" expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>src/components/password_manager/OWNERS</owner> |
| <summary> |
| Records attempts to prompt user to save a password when password store is |
| not ready for saving passwords due to an initialization error. Recorded once |
| per form submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AcceptedSaveUpdateSubmissionIndicatorEvent" |
| enum="SubmissionIndicatorEvent" expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The type of event that the Password Manager used for detecting a password |
| form submission when saving or updating a password. Recorded each time a |
| user accepts a password save/update prompt. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccessPasswordInSettings" |
| enum="AccessPasswordInSettingsEvent" expires_after="2023-09-10"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Recorded whenever the user accesses the passwords in the settings page. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountChooserDialogMultipleAccounts" |
| enum="AccountChooserDismissalReason" expires_after="2023-10-08"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| The dismissal reason of the account chooser with multiple accounts. Recorded |
| when the account chooser is dismissed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountChooserDialogOneAccount" |
| enum="AccountChooserDismissalReason" expires_after="2023-10-15"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| The dismissal reason of the account chooser with one account. Recorded when |
| the account chooser is dismissed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStorage.ClearedOnStartup" |
| enum="PasswordAccountStoreClearedOnStartup" expires_after="2023-04-16"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| Records whether the account-scoped password storage had to be cleared during |
| profile initialization. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStorage.ClearedOnStartup2" |
| enum="PasswordAccountStoreClearedOnStartup" expires_after="2023-09-10"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| Records whether the account-scoped password storage had to be cleared during |
| regular profile initialization. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.AccountStorage.MoveToAccountStoreFlowAccepted2" |
| enum="PasswordManager.MoveToAccountStoreTrigger" expires_after="2023-08-20"> |
| <owner>treib@chromium.org</owner> |
| <owner>victorvianna@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| When the user accepts to move a password from the profile store to the |
| account store, this records what user action caused the moving flow to be |
| offered. If the flow is offered but rejected by the user, the histogram is |
| not recorded. Recorded only in Win/Mac/Linux/iOS and only once during bulk |
| move from settings. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStorage.MoveToAccountStoreFlowOffered" |
| enum="PasswordManager.MoveToAccountStoreTrigger" expires_after="2023-10-22"> |
| <owner>treib@chromium.org</owner> |
| <owner>victorvianna@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| When the user is offered to move a password from the profile store to the |
| account store, this records what user action caused the moving flow to be |
| offered. Recorded only in Win/Mac/Linux. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStorage.NumOptedInAccountsAfterOptIn" |
| units="accounts" expires_after="2023-10-22"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| Recorded whenever a user opts in to the account-scoped password storage. The |
| recorded value is the total number of opted-in accounts in this profile, |
| including the new opt-in. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStorage.NumOptedInAccountsAfterOptOut" |
| units="accounts" expires_after="2023-10-22"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| Recorded whenever a user opts out of the account-scoped password storage. |
| The recorded value is the total number of opted-in accounts remaining in |
| this profile after the current opt-out. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.AccountStorage.UnsyncedPasswordsFoundDuringSignOut" |
| units="passwords" expires_after="2023-10-08"> |
| <owner>treib@chromium.org</owner> |
| <owner>victorvianna@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Records how many passwords in the account store were unsynced when the user |
| signed out of their Google Account. Recorded only in Win/Mac/Linux when a |
| user of the account-scoped password storage signs out. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.AccountStorageNoticeDismissalReason{EntryPoint}" |
| enum="PasswordsAccountStorageNoticeDismissalReason" |
| expires_after="2024-03-28"> |
| <owner>victorvianna@google.com</owner> |
| <owner>src/components/password_manager/OWNERS</owner> |
| <summary> |
| Records the action that caused the one-time account storage notice to be |
| dismissed. Recorded for {EntryPoint} once both the bottom sheet and password |
| settings have been closed (the latter only in case the user clicked "go |
| to settings"). Mobile-only (in fact only iOS as of 03/2023). |
| </summary> |
| <token key="EntryPoint"> |
| <variant name="" summary="all entry points"/> |
| <variant name=".Fill" summary="the fill entry point"/> |
| <variant name=".Save" summary="the save entry point"/> |
| <variant name=".Update" summary="the update entry point"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStorageOptInSwitchFlipped" |
| enum="Boolean" expires_after="2023-10-06"> |
| <owner>victorvianna@google.com</owner> |
| <owner>src/components/password_manager/OWNERS</owner> |
| <summary> |
| Records the new state (enabled/disabled) of the account storage opt-in |
| switch in password settings. Recorded when the switch is flipped by the |
| user, only on iOS. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.AccountStorageUserStateDuration{UserSyncingType}" |
| units="ms" expires_after="2023-08-12"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| The amount of active browsing time that was spent in different user states |
| related to the PasswordManager's account-scoped storage. |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser (as determined by |
| DesktopSessionDurationTracker) or their user state changes. These end-points |
| are when the metric is emitted. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is only recorded on Win/Mac/Linux/iOS (iOS from M113). |
| |
| Note: As part of crbug/1223007, we discovered that histogram |
| PasswordManager.AccountStorageUserStateDuration.SignedOutUser was recorded |
| for Guest and System profiles which wasn't intentional. This was fixed in |
| M93. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| Recorded for {UserSyncingType} |
| </summary> |
| <token key="UserSyncingType" variants="UserSyncingType"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStoreBlocklistedEntriesAfterOptIn" |
| units="credentials" expires_after="2023-08-20"> |
| <owner>treib@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Records how many blocklisting entries are downloaded to the account store |
| after unlocking account store. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStoreCredentialsAfterOptIn" |
| units="credentials" expires_after="2023-08-20"> |
| <owner>treib@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Records how many non-blacklisting credentials are downloaded to the account |
| store after unlocking account store. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStoreVsProfileStore3.{DifferenceType}" |
| units="accounts" expires_after="2023-05-01"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| The number of accounts {DifferenceType}. Recorded once per Chrome profile, |
| soon after startup, only for users who are opted in to the account-scoped |
| storage. Recorded at most once per day. |
| </summary> |
| <token key="DifferenceType"> |
| <variant name="Additional" |
| summary="stored in the password manager's account-scoped store that |
| don't exist in the profile-scoped store"/> |
| <variant name="Conflicting" |
| summary="stored in the password manager with a conflicting password |
| between the account-scoped store and profile-scoped store |
| (i.e. the signon realm and username match, but the password |
| does not)"/> |
| <variant name="Identical" |
| summary="stored in both the password manager's account-scoped store |
| and profile-scoped store"/> |
| <variant name="Missing" |
| summary="stored in the password manager's profile-scoped store that |
| don't exist in the account-scoped store"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.AccountStoreVsProfileStore4.{DifferenceType}" |
| units="accounts" expires_after="2023-12-01"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| The number of accounts {DifferenceType}. Recorded soon after startup at most |
| one per day for regular profiles and only if user opted in to the |
| account-scoped storage. |
| </summary> |
| <token key="DifferenceType"> |
| <variant name="Additional" |
| summary="stored in the password manager's account-scoped store that |
| don't exist in the profile-scoped store"/> |
| <variant name="Conflicting" |
| summary="stored in the password manager with a conflicting password |
| between the account-scoped store and profile-scoped store |
| (i.e. the signon realm and username match, but the password |
| does not)"/> |
| <variant name="Identical" |
| summary="stored in both the password manager's account-scoped store |
| and profile-scoped store"/> |
| <variant name="Missing" |
| summary="stored in the password manager's profile-scoped store that |
| don't exist in the account-scoped store"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.AddCredentialFromSettings.AccountStoreUsed" |
| enum="Boolean" expires_after="2023-09-10"> |
| <owner>mamir@google.com</owner> |
| <summary> |
| Tracks which store is used when the user adds a new credential from |
| Settings. True means account store, false means device store. Recorded only |
| for users who opted in for account storage and thus are given a choice. Only |
| applicable to Desktop platform. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AddCredentialFromSettings.UserAction" |
| enum="AddCredentialFromSettingsUserInteractions" expires_after="2023-06-04"> |
| <obsolete> |
| Obsolete in M110 because imported passwords were counted as manually added: |
| https://crbug.com/1400263. Replaced with |
| PasswordManager.AddCredentialFromSettings.UserAction2 histogram. |
| </obsolete> |
| <owner>vidhanj@google.com</owner> |
| <summary> |
| Records the user actions performed when a new credential is added from |
| Settings. Only applicable to Desktop and iOS platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AddCredentialFromSettings.UserAction2" |
| enum="AddCredentialFromSettingsUserInteractions" expires_after="2023-10-08"> |
| <owner>vidhanj@google.com</owner> |
| <summary> |
| Records the user actions performed when a new credential is added from |
| Settings. Only applicable to Desktop and iOS platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationBackend.FetchSize" units="facets" |
| expires_after="2023-08-27"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of facets for which affiliation information was requested in a |
| network fetch. Recorded for each network fetch. Warning: this histogram was |
| expired from M90 to M92; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationBackend.FirstFetchDelay" units="ms" |
| expires_after="2023-07-19"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The time elapsed between creation of the AffiliationBackend and the first |
| time it needed to issue a network fetch. Warning: this histogram was expired |
| from M90 to M92; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationBackend.SubsequentFetchDelay" |
| units="ms" expires_after="2023-07-05"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The elapsed time between subsequent network fetches. Recorded whenever the |
| AffiliationBackend initiated a network fetch, regardless of success or |
| failure. Warning: this histogram was expired from M90 to M92; data may be |
| missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationDatabase.Error" |
| enum="SqliteLoggedResultCode" expires_after="2023-08-27"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Errors reported by SQLite while using the affiliation database database. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationDatabase.StoreResult" |
| enum="StoreAffiliationResult" expires_after="2023-08-27"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary>The result of AffiliationDatabase::Store call.</summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationFetcher.FailedToParseResponse" |
| enum="Boolean" expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Recorded only when serialized response from the Affiliation Service can't be |
| parsed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationFetcher.FetchErrorCode" |
| enum="NetErrorCodes" expires_after="2023-10-08"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The network error code, as reported by the underlying URLFetcher. Recorded |
| only for each network fetch that failed due to network/server errors. |
| Warning: this histogram was expired from M90 to M92; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationFetcher.FetchHttpResponseCode" |
| enum="HttpResponseCode" expires_after="2023-09-03"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The HTTP response code, as reported by the underlying URLFetcher. Recorded |
| only for each network fetch that failed due to network/server errors. |
| Warning: this histogram was expired from M90 to M92; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationFetcher.FetchResult" |
| enum="AffiliationFetchResult" expires_after="2023-09-03"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Whether the network fetch succeeded, failed due to network/server errors, or |
| contained malformed data. Recorded for each network fetch. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationFetcher.FetchTime.{Status}" |
| units="ms" expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The time elapsed between sending a request to AffiliationService and |
| receiving a response. Recorded only when request {Status}. |
| </summary> |
| <token key="Status"> |
| <variant name="Failure" summary="failed"/> |
| <variant name="Malformed" summary="was malformed"/> |
| <variant name="Success" summary="succeeded"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationFetcher.ResponseSize.{Status}" |
| units="bytes" expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The size of an affiliation service hash lookup response in bytes. Recorded |
| only when request {Status}. |
| </summary> |
| <token key="Status"> |
| <variant name="Malformed" summary="was malformed"/> |
| <variant name="Success" summary="succeeded"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.AffiliationService.GetChangePasswordUsage" |
| enum="GetChangePasswordUrlMetric" expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Usage and timing of the Affiliation Service GetChangePasswordUrl call. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ApplySyncChanges.AddLoginSyncError" |
| enum="PasswordAddLoginSyncError" expires_after="2023-09-05"> |
| <owner>mamir@chromium.org</owner> |
| <owner>mastiz@chromium.org</owner> |
| <summary> |
| Records different results upon adding a remote password to the password |
| manager. It is recorded every time after receiving remote password |
| incremental updates from the server. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ApplySyncChanges.UpdateLoginSyncError" |
| enum="PasswordUpdateLoginSyncError" expires_after="2023-09-05"> |
| <owner>mamir@chromium.org</owner> |
| <owner>mastiz@chromium.org</owner> |
| <summary> |
| Records different results upon updating a remote password to the password |
| manager. It is recorded every time after receiving remote password |
| incremental updates from the server. Warning: this histogram was expired |
| from 2021-07-31 to 2022-11-17; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ApplySyncChangesState" |
| enum="PasswordApplyIncrementalSyncChangesState" expires_after="2023-09-05"> |
| <owner>mamir@chromium.org</owner> |
| <owner>mastiz@chromium.org</owner> |
| <summary> |
| Records different states upon applying remote sync changes to the password |
| manager. It recorded every time after receiving remote password incremental |
| updates from the server. Warning: this histogram was expired from 2021-07-31 |
| to 2022-11-17; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AutomaticChange.AcceptanceWithAutoButton" |
| enum="PasswordCheckResolutionAction" expires_after="2023-05-07"> |
| <obsolete> |
| Obsolete in M110 after automated password change deprecation. |
| </obsolete> |
| <owner>kolos@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Resolution action to fix a compromised credential when there is a |
| "Change password automatically" button. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AutomaticChange.AcceptanceWithoutAutoButton" |
| enum="PasswordCheckResolutionAction" expires_after="2023-09-03"> |
| <owner>kolos@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Resolution action to fix a compromised credential when there is no |
| "Change password automatically" button. Starting with M110, no |
| credential will have a button to change the password automatically anymore |
| so this is recorded for all compromised credentials. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.AutomaticChange.AssistantStoppedBubbleCloseReason" |
| enum="PasswordManager.AssistantStoppedBubble.CloseReason" |
| expires_after="2023-09-26"> |
| <obsolete> |
| Obsolete in M110 after automated password change deprecation. |
| </obsolete> |
| <owner>brunobraga@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <summary> |
| The reason why the "Assistant stopped" bubble was closed. The |
| bubble is shown when an automatic password change flow on Desktop is ended |
| prematurely. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AutomaticChange.ForSitesWithScripts" |
| enum="PasswordCheckResolutionAction" expires_after="2023-05-27"> |
| <obsolete> |
| Obsolete in M110 after automated password change deprecation. |
| </obsolete> |
| <owner>kolos@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Resolution action to fix a compromised credential when there is a password |
| change script for the credential's domain. The metric is reported also if |
| the automated password change feature is disabled. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.AutoSigninFirstRunDialog" |
| enum="AutoSigninFirstRun" expires_after="2023-10-22"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| The dismissal reason of the auto-signin first run experience. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BiometricAuthBeforeFillingEnabled" |
| enum="BooleanEnabled" expires_after="M112"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Indicates whether biometric authentication before filling is enabled. |
| Recorded 30 seconds after PasswordStore is created which happens once per |
| profile, and at most once per day. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BiometricAuthBeforeFillingEnabled2" |
| enum="BooleanEnabled" expires_after="2023-10-22"> |
| <owner>kazinova@google.com</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Indicates whether biometric authentication before filling is enabled. |
| Recorded 30 seconds after PasswordStore is created which happens at most |
| once per day for regular profiles. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BiometricAuthPwdFill.AuthResult" |
| enum="DeviceAuthFinalResult" expires_after="M118"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records the result of the attempt to re-auth the user via biometrics when |
| filling a password or signing in from the account chooser dialog. From M97, |
| CancelledByChrome is recorded when the auth is cancelled and before the auth |
| result actually returns. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BiometricAuthPwdFill.CanAuthenticate" |
| enum="BiometricsAvailability" expires_after="M118"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Recorded whenever a password filling surface or the account chooser dialog |
| checks whether it can use biometrics to re-authenticate the user. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BiometricAvailabilityWin" |
| enum="BiometricAuthenticationStatusWin" expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Recorded any time a client of AuthenticatorWin requests to check biometric |
| availability. If availability can't be checked, it records that immediately. |
| If it can be checked, it records the status when the callback for |
| OnAvailabilityReceived is invoked. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BubbleSuppression.AccountsInStatisticsTable" |
| units="accounts" expires_after="2023-04-23"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of accounts stored in password_manager::StatisticsTable. These |
| are accounts for which the user ignored the save bubble at least once. The |
| count is recorded once per browser start-up. (In case of multiple profiles, |
| the counts are for the profile that first has a WebContents created.) |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BubbleSuppression.AccountsInStatisticsTable2" |
| units="accounts" expires_after="2023-10-31"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of accounts stored in password_manager::StatisticsTable. These |
| are accounts for which the user ignored the save bubble at least once. The |
| count is recorded once per browser start-up for regular profiles. (In case |
| of multiple profiles, the counts are for the profile that first has a |
| WebContents created.) |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.CanceledTime" units="ms" |
| expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| The time the password bulk check was running until canceled by the user. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.CheckedCredentials" |
| units="credentials" expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Count of credentials analyzed when the password bulk check completed |
| successfully (see '.CheckedCredentialsOnErrorOrCanceled' for non-success |
| cases). Note that this counts unique username+password pairs, so in the case |
| of password reuse, this does not correspond to the number of user-visible |
| credentials. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.CheckedCredentialsOnErrorOrCanceled" |
| units="credentials" expires_after="2023-07-05"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Count of credentials that were supposed to be analyzed if the password bulk |
| check encountered an error or was canceled (see '.CheckedCredentials' for |
| the success case). Note that this counts unique username+password pairs, so |
| in the case of password reuse, this does not correspond to the number of |
| user-visible credentials. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.BulkCheck.CompromisedCredentialsCountAfterCheckAndroid" |
| units="credentials" expires_after="2023-09-10"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Count of compromised credentials shown in the UI, recorded whenever a bulk |
| leak check finished successfully. As opposed to 'BulkCheck.LeaksFound', this |
| metric includes duplicates (i.e. same username+password pair saved for |
| multiple domains), and it also includes other types of compromised |
| credentials (e.g. phished). |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.Error" |
| enum="PasswordLeakDetectionError" expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary>Error encountered during the password bulk check.</summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.LeaksFound" units="credentials" |
| expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Count of leaked credentials found when the password bulk check completed |
| successfully. Note that this counts unique username+password pairs, so in |
| the case of password reuse, this does not correspond to the number of |
| user-visible credentials. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.PasswordCheckReferrer" |
| enum="PasswordCheckReferrer" expires_after="2023-09-03"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Referrer of a navigation to the Password Check page. Recorded when the user |
| visits the Password Check settings page, either via native or Web UI. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.PasswordCheckReferrerAndroid2" |
| enum="PasswordCheckReferrerAndroid" expires_after="M118"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Referrer of a navigation to the Password Check UI Settings view. Recorded |
| when the user enters the view. Replaces |
| PasswordManager.BulkCheck.PasswordCheckReferrerAndroid histogram. Fixing the |
| bug that LEAK_DIALOG entry was reported as PHISHED_WARNING_DIALOG with UPM |
| enabled. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.Time" units="ms" |
| expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| The time it took for the password bulk check to complete successfully. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.TimePerCredential" units="ms" |
| expires_after="2023-09-03"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| The average time per credential when the password bulk check completed |
| successfully. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.UserAction" |
| enum="PasswordCheckInteraction" expires_after="2023-09-10"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary>User actions performed on the Password Check settings page.</summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.BulkCheck.UserActionAndroid" |
| enum="PasswordCheckUIUserActionAndroid" expires_after="2023-09-10"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschigg@chromium.org</owner> |
| <summary>User actions performed on the Password Check settings view.</summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.CanUseBiometricsMac" enum="BooleanSuccess" |
| expires_after="2023-10-01"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>kazinova@google.com</owner> |
| <owner>sygiet@google.com</owner> |
| <summary> |
| If user have enabled biometric authentication on their device. It is |
| recorded whenever DeviceAuthenticatorMac::CanAuthenticate is called. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.CertificateErrorsWhileSeeingForms" |
| enum="PasswordCertificateError" expires_after="2023-08-20"> |
| <owner>battre@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <owner>chrome-password-manager-metrics-alerts@google.com</owner> |
| <summary> |
| When the password manager sees new forms on the page, it records in this |
| histogram whether there were any SSL certificate errors. The presence of SSL |
| errors likely means that the password manger will stop working, so the |
| reporting is done at the last point when password manager is still |
| guaranteed to be active. Some particular errors are distinguished, with the |
| rest being reported in a catch-all bucket. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.CompromisedCredentials3.{Issue}" |
| units="credentials" expires_after="M118"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Count of known {Issue}. Recorded at most once per day for regular profiles. |
| </summary> |
| <token key="Issue"> |
| <variant name="CountLeaked" summary="leaked credentials in the database"/> |
| <variant name="CountLeakedAfterBulkCheck" |
| summary="leaked credentials in the database if password bulk check |
| was executed at least once"/> |
| <variant name="CountPhished" summary="phished credentials in the database"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.CredentialEditError" |
| enum="CredentialEditError" expires_after="M118"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records the errors displayed by the saved credential entry editor, when the |
| user encounters them. Android-only for now. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.CredentialEntryActions.{CredentialEntryType}" |
| enum="CredentialEntryAction" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records actions performed by the users in the {CredentialEntryType} view. |
| Android-only for now. |
| </summary> |
| <token key="CredentialEntryType"> |
| <variant name="BlockedCredential"/> |
| <variant name="FederatedCredential"/> |
| <variant name="SavedPassword"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.CredentialManager.{ProfileType}.GetIntent.APIError" |
| enum="PasswordStoreAndroidBackendAPIError" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <summary> |
| Records the API error code encountered while attempting to fetch the |
| Credential Manager launch intent from Google Play Services for the |
| {ProfileType}. This is recorded after the asynchronous call comes back with |
| an error. |
| </summary> |
| <token key="ProfileType" variants="ProfileType"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.CredentialManager.{ProfileType}.GetIntent.APIError.ConnectionResultCode" |
| enum="PasswordStoreAndroidBackendConnectionResultCode" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <summary> |
| Records the API error code encountered while attempting to fetch the |
| Credential Manager launch intent from Google Play Services for the |
| {ProfileType}. This is recorded after the asynchronous call comes back with |
| an error only if ConnectionResult was set on the returned error. |
| </summary> |
| <token key="ProfileType" variants="ProfileType"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.CredentialManager.{ProfileType}.GetIntent.Error" |
| enum="CredentialManagerError" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records the error encountered while attempting to fetch the Credential |
| Manager launch intent from Google Play Services for the {ProfileType}. This |
| is recorded either before making the actual request (if the preconditions |
| are not met) or after the asynchronous call comes back with an error. |
| </summary> |
| <token key="ProfileType" variants="ProfileType"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.CredentialManager.{ProfileType}.GetIntent.Latency" |
| units="ms" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records the time(ms) elapsed between asking Google Play Services for the |
| intent used to open the Credential Manager for the {ProfileType} and |
| receiving it. It includes synchronous calls made to get the |
| CredentialManagerClient. Recorded when the asynchronous call comes back and |
| only on success. |
| </summary> |
| <token key="ProfileType" variants="ProfileType"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.CredentialManager.{ProfileType}.GetIntent.Success" |
| enum="BooleanSuccess" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records whether fetching the Credential Manager launch intent from Google |
| Play Services for the {ProfileType} was successful or not. Recorded when the |
| asynchronous call comes back. |
| </summary> |
| <token key="ProfileType" variants="ProfileType"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.CredentialManager.{ProfileType}.Launch.Success" |
| enum="BooleanSuccess" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records whether the provided intent to launch the Credential Manager for the |
| {ProfileType} could be used successfully. This is recorded right after |
| calling send() on the intent which happens when the async call to get the |
| intent from Google Play Services returns. Metric will not be reported when |
| the Loading dialog is cancelled by user or timed out. |
| </summary> |
| <token key="ProfileType" variants="ProfileType"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.CredentialsCountFromAccountStoreAfterUnlock" |
| units="credentials" expires_after="2023-09-10"> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Recorded after unlocking the account store from the password filling flow. |
| Records how many credentials from the account store can be used to fill the |
| current password form. If a credential is an exact duplicate with a local |
| credential, it still counts into this metric. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.CredentialsWithDuplicates2" units="units" |
| expires_after="2023-03-19"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of stored (non-blacklisted) credentials for which |
| "duplicates" exist. A duplicate is a credential with the same |
| signon realm, username, and password - i.e. indistinguishable from the |
| user's point of view. This records the number of *sets* of duplicated |
| credentials; the number of credentials in each set of duplicates is not |
| recorded. Recorded once per Chrome profile at most once per day. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.CredentialsWithDuplicates3" units="units" |
| expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of stored (non-blacklisted) credentials for which |
| "duplicates" exist. A duplicate is a credential with the same |
| signon realm, username, and password - i.e. indistinguishable from the |
| user's point of view. This records the number of *sets* of duplicated |
| credentials; the number of credentials in each set of duplicates is not |
| recorded. Recorded at most once per day for regular profiles. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.CredentialsWithMismatchedDuplicates2" |
| units="units" expires_after="2023-04-09"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of stored (non-blacklisted) credentials for which |
| "mismatched duplicates" exist. A mismatched duplicate is a |
| credential with the same signon realm and username, but different password. |
| This records the number of *sets* of duplicated credentials; the number of |
| credentials in each set of duplicates is not recorded. Recorded once per |
| Chrome profile at most once per day. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.CredentialsWithMismatchedDuplicates3" |
| units="units" expires_after="2023-10-15"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of stored (non-blacklisted) credentials for which |
| "mismatched duplicates" exist. A mismatched duplicate is a |
| credential with the same signon realm and username, but different password. |
| This records the number of *sets* of duplicated credentials; the number of |
| credentials in each set of duplicates is not recorded. Recorded at most once |
| per day for regular profiles. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.DefaultPasswordStoreSet" |
| enum="PasswordManager.Store" expires_after="2023-09-24"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| The default store for newly-saved passwords (profile-scoped store or |
| account-scoped store), recorded whenever it is set explicitly. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.DeleteUndecryptableLoginsReturnValue" |
| enum="DeleteCorruptedPasswordsResult" expires_after="2023-10-08"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Records the return value of the DeleteUndecryptableLogins method in the |
| LoginDatabase class. Called for sync user and for each profile when merging |
| logins from Sync and local database. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.DropdownShown.OffTheRecord" units="units" |
| expires_after="2023-10-08"> |
| <owner>rhalavati@chromium.org</owner> |
| <owner>chrome-privacy-core@google.com</owner> |
| <summary> |
| Records availability of password manager suggestions in regular and |
| off-the-record modes. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.DynamicFormChanges" units="units" |
| expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Records a bitmask of password form changes after the first time this form is |
| seen by Password Manager. Recorded once per a form when the form is removed |
| from DOM. Bit 0 - changes in number of fields, bit 1 - changes in fields |
| renderer ids, bit 2 - changes in autocomplete attributes, bit 3 - changes in |
| form control types, bit 4 - changes in field names. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.EditsInSaveBubble" |
| enum="PasswordManagerEditsInSaveBubbleEnum" expires_after="2023-09-03"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Indication whether users change the credentials (username and password) in |
| the save bubble of the password manager, considering only cases where the |
| user saves a new credential or updates a credential. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.Enabled3" enum="BooleanEnabled" |
| expires_after="2023-03-05"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Indicates whether the password manager is enabled. Recorded 30 seconds after |
| PasswordStore is created which happens once per profile, and at most once |
| per day. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.Enabled4" enum="BooleanEnabled" |
| expires_after="2023-07-09"> |
| <obsolete> |
| Obsolete in M113 and superseeded by the PasswordManager.EnableState metrics. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Indicates whether the password manager is enabled. Recorded 30 seconds after |
| PasswordStore is created at most once per day for regular profiles. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.EnableState" enum="PasswordManagerEnableState" |
| expires_after="2023-09-24"> |
| <owner>markusheintz@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Indicates whether the password manager is enabled or disabled and by why |
| e.g. by the user, policy, extension ... . Recorded 30 seconds after |
| PasswordStore is created at most once per day for regular profiles. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ErrorMessageDismissalReason" |
| enum="MessageDismissReason" expires_after="2023-09-17"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Records the reason that caused the Password Manager error message on Android |
| to be dismissed. It's recorded when the user dismisses the message by |
| clicking the Sign in button or when the message is autodismissed because of |
| the timeout. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ErrorMessageDisplayReason" |
| enum="PasswordStoreBackendErrorType" expires_after="2023-09-17"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Records the reason that caused the Password Manager error message to be |
| displayed. It's recorded as soon as the message is created and the recorded |
| reason is the error type. Currently only used on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FieldNameCollisionInVotes" enum="Boolean" |
| expires_after="2023-09-03"> |
| <owner>kolos@chromium.org</owner> |
| <owner>khamutov@google.com</owner> |
| <summary> |
| Measures whether a password vote had a field name collision, i.e. multiple |
| fields that should have an Autofill type uploaded have the same name. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FilledCredentialWasFromAndroidApp" |
| enum="PasswordManagerFilledAndroidCredentials" expires_after="M117"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| When a credential is filled, whether it comes from an Android app. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FillingAssistance" |
| enum="PasswordManagerFillingAssistance" expires_after="2023-09-03"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| This metric records the user experience with regards to passwords filling. |
| It is only recorded on password form submissions that are considered to be |
| successful. |
| |
| The first 4 buckets (0..3) are ranging from the best filling behavior |
| (automatic filling on page load without user interaction necessary) to the |
| worst (the user had to manually type a password that was already saved). |
| |
| The following buckets (4..5) indicate cases when it was impossible to fill |
| credentials because unknown credentials were submitted, meaning that the |
| submitted password was not saved before. |
| |
| The last bucket (6) corresponds to the strange cases, where the submitted |
| form has neither user input nor autofilled data in password fields. This |
| might indicate third-party password manager use, or might be a |
| measurement/submission classification error. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FillingSource" |
| enum="PasswordManagerFillingSource" expires_after="2023-10-22"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| This metric records the source of filled passwords: The profile-scoped |
| store, the account-scoped store, both of them, or none of them (if the user |
| typed the password manually). It is only recorded on password form |
| submissions that are considered to be successful. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FillingSuccessIOS" enum="BooleanSuccess" |
| expires_after="2023-09-17"> |
| <owner>theocristea@google.com</owner> |
| <owner>kazinova@google.com</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| This metric records whether filling was successful or not on IOS. The metric |
| is recorded when filling upon suggestion click or on page load. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FillSuggestionsIncludeAndroidAppCredentials" |
| enum="PasswordManagerOfferedAndroidCredentials" expires_after="2023-09-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| When offering to fill the username and password, whether at least one of the |
| credentials in the dropdown comes from an Android app. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FirstRendererFillingResult" |
| enum="PasswordManagerFirstRendererFillingResult" expires_after="2023-09-17"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Records whether the PasswordAutofillAgent in the renderer manages to fill |
| credentials as instructed by the browser or records a failure reason |
| otherwise. Only the outcome of the first attempt to fill is recorded. |
| |
| This is replicated as PasswordForm.Fill.FirstFillingResultInRenderer in UKM. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FirstWaitForUsernameReason" |
| enum="PasswordManagerFirstWaitForUsernameReason" expires_after="2023-09-10"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| This metric records why the browser instructs the renderer not to fill the |
| credentials on page load but to wait for the user to confirm the credential |
| to be filled. Only the value of the first decision to fill is recorded. |
| |
| This is replicated as PasswordForm.Fill.FirstWaitForUsernameReason in UKM. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FormDataDeserializationStatus" |
| enum="FormDataDeserializationStatus" expires_after="M117"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The success or failure of deserializing saved FormData. Failure either |
| indicates corrupted data or the presence of bugs in the serialization or |
| deserialization code. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FormSubmission.PerProfileType" |
| enum="BrowserProfileType" expires_after="2023-02-02"> |
| <owner>roagarwal@chromium.org</owner> |
| <owner>chrome-incognito@google.com</owner> |
| <summary> |
| This histogram records the browser profile type when a password form is |
| submitted. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.FormVisited.PerProfileType" |
| enum="BrowserProfileType" expires_after="2023-08-27"> |
| <owner>rhalavati@chromium.org</owner> |
| <owner>chrome-privacy-core@google.com</owner> |
| <summary> |
| This histogram records the browser profile type when a password form is |
| visited. This is recorded once for each frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.GeneratedFormHasNoFormManager" |
| enum="BooleanFormManager" expires_after="2023-10-08"> |
| <owner>kazinova@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| When the generation state of a password was changed, records whether an |
| existing form corresponding to the password was found. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.HttpCredentials" |
| enum="PasswordManagerHttpCredentialType" expires_after="2023-03-26"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Breakdown of HTTP credentials with regard to the existence of a HTTPS |
| credential with the same username and whether the corresponding website has |
| HSTS enabled. Recorded once for each HTTP credential on profile open. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.HttpCredentials2" |
| enum="PasswordManagerHttpCredentialType" expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Breakdown of HTTP credentials with regard to the existence of a HTTPS |
| credential with the same username and whether the corresponding website has |
| HSTS enabled. Recorded once for each HTTP credential on regular profile |
| open. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.HttpPasswordMigrationCount" |
| units="saved credentials" expires_after="2023-03-19"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Number of HTTP saved passwords that were migrated to HTTPS. Recorded on |
| HTTPS password form load when there are no credentials saved. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.HttpPasswordMigrationCount2" |
| units="saved credentials" expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Number of HTTP saved passwords that were migrated to HTTPS. Recorded for the |
| regular profiles on HTTPS password form load when there are no credentials |
| saved. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.HttpPasswordMigrationMode" |
| enum="HttpPasswordMigrationMode" expires_after="2023-03-26"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The mode of migration applied to HTTP passwords migrating to HTTPS. Recorded |
| on HTTPS password form load when there are no credentials saved. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.HttpPasswordMigrationMode2" |
| enum="HttpPasswordMigrationMode" expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The mode of migration applied to HTTP passwords migrating to HTTPS. Recorded |
| for the regular profiles on HTTPS password form load when there are no |
| credentials saved. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.Import.DesktopInteractions" |
| enum="PasswordsImportDesktopInteractions" expires_after="2023-10-15"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Records the user actions related to passwords import flow on desktop. |
| Reported upon interactions with the password settings page. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.Import.FileDeletionSelected" units="Boolean" |
| expires_after="2023-10-15"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Records if the user selected to delete a file after a succesful import with |
| no errors. Reported before the import success dialog is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.Import.Only{ErrorType}" units="Boolean" |
| expires_after="2023-09-15"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Tracks how many succesful imports contained only {ErrorType} as errors. |
| Recorded during the passwords import process triggered from settings, after |
| parsing the input file. |
| </summary> |
| <token key="ErrorType"> |
| <variant name="Conflicts" summary="conflicts"/> |
| <variant name="MissingPasswords" summary="missing passwords"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.Import.PerFile.ConflictsResolved" |
| units="saved credentials" expires_after="2023-09-30"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Records number of passwords that were resolved in Passwords Import - |
| Conflict resolution. Basically the number of conflicting passwords that were |
| selected to be imported. Recorded during the passwords import process |
| triggered from settings, after the user clicks on the Repalce button. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.Import.PerFile.Notes.{Type}" units="units" |
| expires_after="2023-09-15"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Tracks the number of {Type} per one imported CSV file with Google Password |
| Manager in Settings UI. Recorded during the passwords import process |
| triggered from settings, after parsing the input file. |
| </summary> |
| <token key="Type"> |
| <variant name="Concatenations" |
| summary="imported notes that were concatenated with local notes of |
| the same credential"/> |
| <variant name="Duplicates" |
| summary="imported notes that are duplicates of local notes of the |
| same credential"/> |
| <variant name="Substrings" |
| summary="imported notes that are substrings of local notes of the |
| same credential"/> |
| <variant name="TotalCount" |
| summary="valid notes (note's length is not greater than 1000 |
| characters)"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.Import.PerFile.{ErrorType}" units="units" |
| expires_after="2023-09-15"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Tracks the number of rows with {ErrorType} per one imported CSV file with |
| Google Password Manager in Settings UI. Recorded during the passwords import |
| process triggered from settings, after parsing the input file. |
| </summary> |
| <token key="ErrorType"> |
| <variant name="AllLoginFieldsEmtpy" |
| summary="empty login fields (URL, username, password)"/> |
| <variant name="AnyErrors" |
| summary="errors of any type (missing password, too long username, |
| ivalid URL, etc.)"/> |
| <variant name="Conflicts" |
| summary="conflicts (imported credential, is already stored locally |
| with different password)"/> |
| <variant name="Duplicates" |
| summary="duplicates (imported credential, is already stored locally)"/> |
| <variant name="OnlyPasswordMissing" |
| summary="empty password field (URL and username fields are non-empty)"/> |
| <variant name="PasswordAndUsernameMissing" |
| summary="empty password and username fields (URL is non-empty)"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.ImportDuration" units="ms" |
| expires_after="2023-10-22"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Tracks the time it takes to import credentials in passwords import flow. The |
| time that is tracked is the time needed to process the credentials, checking |
| for conflicts, generating status and storing them. This metric doesn't |
| include the time needed to read the CSV file. Recorded when the import flow |
| finished importing all credentials within password settings. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ImportedPasswordsPerUserInCSV" units="units" |
| expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>src/components/password_manager/OWNERS</owner> |
| <summary> |
| The number of passwords imported in CSV format per user. Recorded when the |
| user imports passwords within the password settings. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ImportEntryStatus" |
| enum="PasswordManagerImportEntryStatus" expires_after="2023-08-27"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Tracks the individual status of a single password entry from the provided |
| CSV File after it has been processed in the Passwords Import flow in |
| settings UI. Recorded when a single entry has been processed and checked for |
| errors or missing fields. Recording occurs within password settings. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ImportFileSize" units="bytes" |
| expires_after="2023-10-15"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| The size of the CSV file (to import passwords from) selected by a user in |
| bytes. Recorded when the user tries to import passwords from a CSV file. The |
| user has chosen the file, but the file hasn't been read yet. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ImportResultsStatus" |
| enum="PasswordManagerImportResultsStatus" expires_after="2023-06-11"> |
| <obsolete> |
| Obsolete in M111, the enum contained a duplicate - values 7 and 8. Also, |
| those values were never emmited. |
| </obsolete> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Tracks the final outcome status of importing a CSV File to Chrome Password |
| Manager in settings UI. Recorded when the import flow finishes within |
| password settings. This can be either successfuly or due to an error. Before |
| M111, values 7 and 8 were not emmited. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ImportResultsStatus2" |
| enum="PasswordManagerImportResultsStatus" expires_after="2023-10-01"> |
| <owner>eliaskh@chromium.org</owner> |
| <owner>natiahlyi@google.com</owner> |
| <summary> |
| Tracks the final outcome status of importing a CSV File to Chrome Password |
| Manager in settings UI. Recorded when the import flow finishes within |
| password settings. This can be either successfuly or due to an error. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.iOS.InfoBar.PasswordSave" enum="Boolean" |
| expires_after="2023-09-24"> |
| <owner>djean@chromium.org</owner> |
| <owner>sczs@google.com</owner> |
| <summary> |
| This metric counts how many times the Save Password infobar is shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.iOS.PasswordDetails.CopyDetailsFailed" |
| enum="Boolean" expires_after="2023-09-24"> |
| <owner>eic@google.com</owner> |
| <owner>tmartino@chromium.com</owner> |
| <summary> |
| This metric counts how many times we fail to copy a field in the Passwords |
| Details to the pastboard. Only the true bucket is logged. See |
| crbug.com/1359331. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.IsPasswordProtected2" enum="Boolean" |
| expires_after="2024-03-01"> |
| <owner>skrakowi@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| This metric reports whether a saved password is protected by Phishguard. The |
| current minimum password length for protection is 8, so this can help us |
| figure out the proportion of passwords that we are currently not protecting |
| because its length is shorter than 8 characters. This gets recorded 30 |
| seconds after PasswordStore is created, which happens once per profile and |
| at most once per day. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.IsSyncPasswordHashSaved" |
| enum="IsSyncPasswordHashSaved" expires_after="2023-10-01"> |
| <owner>vakh@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| This metric reports whether a sync password hash is saved. Recorded shortly |
| after Chrome startup. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.IsSyncPasswordHashSavedForAdvancedProtectionUser" |
| enum="IsSyncPasswordHashSaved" expires_after="2023-10-01"> |
| <owner>drubery@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| This metric is recorded shortly after Chrome Startup, only for Advanced |
| Protection users. This is a subset of |
| PasswordManager.IsSyncPasswordHashSaved. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ItemSelected.OffTheRecord" units="units" |
| expires_after="2023-09-19"> |
| <owner>arabm@chromium.org</owner> |
| <owner>chrome-privacy-team@google.com</owner> |
| <summary> |
| Records selection of password manager suggestions in regular and |
| off-the-record modes. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.JavaScriptOnlyValueInSubmittedForm" |
| enum="JavaScriptOnlyValueInPasswordForm" expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Records whether a successfully submitted password form has only values that |
| came from JavaScript. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.AnalyzeSingleLeakResponseResult" |
| enum="PasswordAnalyzeLeakResponseResult" expires_after="2023-09-10"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary>Result of analyzing a single leak response.</summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.DialogDismissalReason" |
| enum="PasswordLeakDetectionDialogDismissalReason" |
| expires_after="2023-09-03"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Reason of the dismissal of the leak detection dialog. Recorded when a leaked |
| credential is detected and the dialog is shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.Error" |
| enum="PasswordLeakDetectionError" expires_after="2023-09-03"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Shows the error that happened in password leak detection on sign-in. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.HttpResponseCode" |
| enum="HttpResponseCode" expires_after="2023-09-03"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| HTTP response code of a leak lookup request. Only recoded for each network |
| fetch that failed due to network/server errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.IsPasswordReused" enum="Boolean" |
| expires_after="2023-10-22"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| When a password is determined as leaked, records if it's saved for other |
| sites. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.IsPasswordSaved" enum="Boolean" |
| expires_after="2023-08-27"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| When a password is determined as leaked, records if it's saved in Chrome. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.LookupSingleLeakResponseResult" |
| enum="PasswordLeakLookupResponseResult" expires_after="2023-08-27"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Whether the network fetch succeeded, failed due to network/server errors, or |
| contained malformed data. Recorded for each leak lookup. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.NotifyIsLeakedTime" units="ms" |
| expires_after="2023-09-10"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The time it took from starting a leak check to notifying the user about a |
| leak. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.ObtainAccessTokenTime" |
| units="ms" expires_after="2023-07-09"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The time it took to obtain an access token for an authenticated leak lookup |
| request. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.ReceiveSingleLeakResponseTime" |
| units="ms" expires_after="2023-09-10"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The time it took to receive a server response after issuing a request for a |
| single leak lookup. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.SingleLeakResponsePrefixes" |
| units="prefixes" expires_after="2023-09-10"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of matched prefixes in a single leak lookup response. Only |
| recorded if the network response was wellformed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LeakDetection.SingleLeakResponseSize" |
| units="bytes" expires_after="2023-09-10"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The size of a single leak lookup response in bytes. Only recorded if there |
| was no network or server error. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LoginDatabaseInit" |
| enum="LoginDatabaseInitError" expires_after="2023-02-26"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>vasilii@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary>An error on LoginDatabase initialization.</summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.LoginDatabaseInit2" |
| enum="LoginDatabaseInitError" expires_after="2023-10-22"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| An error on LoginDatabase initialization. Recorded when error was |
| encountered during login database initialization. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ManagePasswordsReferrer" |
| enum="ManagePasswordsReferrer" expires_after="2023-09-03"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Referrer of a navigation to the "Manage Passwords" page. Recorded |
| when the user attempts to see their list of passwords, either via native or |
| Web UI. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.MatchedFormType" |
| enum="PasswordManagerMatchedFormType" expires_after="2023-09-10"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| This metric records the type of the preferred password for filling. It is |
| recorded when the browser instructs the renderer to fill the credentials on |
| page load. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.MediationOptional" |
| enum="CredentialManagerGetResult" expires_after="2023-09-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Tracks result of navigator.credentials.get() with |
| mediation="optional". That is the result of account chooser. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.MediationRequired" |
| enum="CredentialManagerGetResult" expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Tracks result of navigator.credentials.get() with |
| mediation="required". That is the result of forced account |
| chooser. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.MediationSilent" |
| enum="CredentialManagerGetResult" expires_after="2023-10-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Tracks result of navigator.credentials.get() with |
| mediation="silent". That is the result of auto sign-in. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.MergeSyncData.AddLoginSyncError" |
| enum="PasswordAddLoginSyncError" expires_after="2023-09-24"> |
| <owner>mamir@chromium.org</owner> |
| <owner>mastiz@chromium.org</owner> |
| <summary> |
| Records different results upon adding a remote password to the password |
| manager. It is recorded during the initial sync when merging remote and |
| local data. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.MergeSyncData.UpdateLoginSyncError" |
| enum="PasswordUpdateLoginSyncError" expires_after="2023-09-24"> |
| <owner>mamir@chromium.org</owner> |
| <owner>mastiz@chromium.org</owner> |
| <summary> |
| Records different results upon updating a remote password in the password |
| manager. It is recorded during the initial sync when merging remote and |
| local data. Warning: this histogram was expired from 2021-07-31 to |
| 2022-11-17; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.MigratedSettingsUPMAndroid" |
| enum="BooleanEnabled" expires_after="2023-09-17"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Records true when a settings migration occurs as part of the UPM transition. |
| It is recorded when the settings service (profile-scoped) is instantiated in |
| a Chrome client with UPM enabled if a migration hasn't already occured. Note |
| that if UPM is disabled, the next time it is enabled a new migration will |
| happen and be recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.MoveUIDismissalReason{UserSyncingType}" |
| enum="PasswordManagerUIDismissalReason" expires_after="2023-08-12"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| Why was the "move password to account?" bubble closed? Recorded |
| whenever the bubble is closed, either because the user clicked one of the |
| buttons or it went away automatically (lost focus) for {UserSyncingType} |
| </summary> |
| <token key="UserSyncingType" variants="UserSyncingType"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.NewlySavedPasswordHasEmptyUsername.{PasswordType}" |
| enum="Boolean" expires_after="2023-10-23"> |
| <owner>khamutov@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Whether a newly saved password has an empty username. Recorded right before |
| a new credential is commited to the store. |
| </summary> |
| <token key="PasswordType" variants="PasswordType"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.NewlySavedPasswordIsGenerated" |
| enum="BooleanNewlySavedPasswordIsGenerated" expires_after="2023-09-03"> |
| <owner>nepper@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| For a newly saved password, whether the password was generated by Chrome or |
| typed manually by the user. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.NonSyncPasswordHashChange" |
| enum="GaiaPasswordHashChange" expires_after="2023-10-22"> |
| <owner>drubery@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| This metric reports a type of a password hash change event where the |
| associated account is not syncing. Recorded when a non sync password hash is |
| saved or cleared. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.OpenedAsShortcut" enum="Boolean" |
| expires_after="2023-10-15"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Records whether Password Manager was opened as a standalone app or inside a |
| browser window. Recorded every time Password Manager is opened. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ParserDetectedOtpFieldWithRegex" |
| enum="Boolean" expires_after="2023-07-01"> |
| <owner>kolos@chromium.org</owner> |
| <owner>shaikhitdin@google.com</owner> |
| <summary> |
| Reports whether the form parser has detected an OTP field with regex. |
| Reported any time when the parser processes a form. Used to compare how |
| often the new and old OTP regexes detect any OTP field. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordChangeFlowDurationV2.LeakCheckInSettings{StartEvent}{EndEvent}" |
| units="ms" expires_after="2023-11-09"> |
| <owner>jkeitel@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| Duration of a password change flow that was triggered from a password check |
| {StartEvent} {EndEvent}. |
| </summary> |
| <token key="StartEvent"> |
| <variant name=".ManualChangePasswordUrlFlow" |
| summary="as a manual change password flow with a domain-specific URL"/> |
| <variant name=".ManualHomepageFlow" |
| summary="as a manual change password flow that starts at the origin |
| of a stored credential (supposed to be the homepage)"/> |
| <variant name=".ManualUnknownFlow" |
| summary="as a manual change password flow of unknown type"/> |
| <variant name=".ManualWellKnownUrlFlow" |
| summary="as a manual change password flow that supports |
| /.well-known/change-password"/> |
| </token> |
| <token key="EndEvent"> |
| <variant name="" summary="aggregated over all end events"/> |
| <variant name=".ManualFlowPasswordChosen" |
| summary="and ended with a password from a manual flow"/> |
| <variant name=".Timeout" summary="and ended with a timeout"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordChangeFlowDuration{EntryPoint}{StartEvent}{EndEvent}" |
| units="ms" expires_after="M114"> |
| <obsolete> |
| Obsolete in M114 after automated password change deprecation. Look at |
| PasswordChangeFlowDurationV2 for manual change password flows. |
| </obsolete> |
| <owner>jkeitel@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| Duration of a password change flow {EntryPoint} {StartEvent} {EndEvent}. |
| </summary> |
| <token key="EntryPoint"> |
| <variant name=".LeakCheckInSettings" |
| summary="that was triggered from a leak check"/> |
| <variant name=".LeakWarningDialog" |
| summary="that was triggered from a leak warning dialog"/> |
| </token> |
| <token key="StartEvent"> |
| <variant name=".AutomatedFlow" |
| summary="as an automated change password flow"/> |
| <variant name=".ManualFlow" summary="as a manual change password flow"/> |
| <variant name=".ManualResetLinkFlow" |
| summary="as a manual password reset link flow"/> |
| </token> |
| <token key="EndEvent"> |
| <variant name="" summary="aggregated over all end events"/> |
| <variant name=".AutomatedFlowPasswordChosen" |
| summary="and ended with a password from an automated flow"/> |
| <variant name=".AutomatedFlowResetLinkRequested" |
| summary="and ended with the request of a password reset link"/> |
| <variant name=".ManualFlowPasswordChosen" |
| summary="and ended with a password from a manual flow"/> |
| <variant name=".Timeout" summary="and ended with a timeout"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordCheckup.Launch.Success" |
| enum="BooleanSuccess" expires_after="2023-10-08"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Records whether the provided intent to launch the Password Checkup could be |
| used successfully. This is recorded right after calling send() on the intent |
| which happens when the async call to get the intent from Google Play |
| Services returns. Metric will not be reported when the Loading dialog is |
| cancelled by user or timed out. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordCheckup.{Operation}.APIError" |
| enum="PasswordStoreAndroidBackendAPIError" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <summary> |
| Records the error code returned by the GMS Password Checkup 1P API while |
| attempting to {Operation}. This is recorded after the asynchronous call |
| comes back with an error. This is only recorded for GMS API errors on |
| Android. |
| </summary> |
| <token key="Operation" variants="PasswordCheckupOperation"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordCheckup.{Operation}.Error" |
| enum="CredentialManagerError" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Records the backend error code encountered while attempting to {Operation}. |
| If the code is equal to 2 (API_ERROR), GMS 1P API error code is additionally |
| reported. This is recorded either before making the actual request (if the |
| preconditions are not met) or after the asynchronous call comes back with an |
| error. This is currently only recorded on Android. |
| </summary> |
| <token key="Operation" variants="PasswordCheckupOperation"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordCheckup.{Operation}.ErrorLatency" |
| units="ms" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <summary> |
| Records the time(ms) elapsed between asking Google Play Services to |
| {Operation} and receiving the error response. This is recorded either before |
| making the actual request (if the preconditions are not met) or after the |
| asynchronous call comes back with an error. This is currently only recorded |
| on Android. |
| </summary> |
| <token key="Operation" variants="PasswordCheckupOperation"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordCheckup.{Operation}.Latency" |
| units="ms" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <summary> |
| Records the time(ms) elapsed between asking Google Play Services to |
| {Operation} and receiving the response. It includes synchronous calls made |
| to get the PasswordCheckupClient. Recorded when the asynchronous call comes |
| back and only on success. This is currently only recorded on Android. |
| </summary> |
| <token key="Operation" variants="PasswordCheckupOperation"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordCheckup.{Operation}.Success" |
| enum="BooleanSuccess" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <summary> |
| Records whether attempt to {Operation} using the Google Play Services was |
| successful or not. Recorded when the asynchronous call comes back. |
| </summary> |
| <token key="Operation" variants="PasswordCheckupOperation"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordDropdownItemSelected" |
| enum="PasswordDropdownSelectedOption" expires_after="2023-09-10"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Logs the type of the suggestion in the password dropdown when selected. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordDropdownShown" |
| enum="PasswordDropdownState" expires_after="2023-10-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary>Logs the state of the password dropdown when it's shown.</summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordEditUpdatedValues" |
| enum="PasswordEditUpdatedValues" expires_after="2023-07-09"> |
| <obsolete> |
| For some time now, SavedPasswordsPresenter::EditSavedCredentials is used not |
| only by "password edit dialog", so the metrics is not accurate. |
| </obsolete> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| This metric shows what exactly users change in the password edit dialog: |
| nothing, username, password or both. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordExport.Event" |
| enum="PasswordExportEvent" expires_after="2023-08-27"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Measures the frequency of various password export events in settings menu. |
| Recorded when the user interacts with the password export menu item or |
| dialog. Curently logged only on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordManagementBubble.UserAction" |
| enum="PasswordManagementBubbleInteractions" expires_after="2023-09-01"> |
| <owner>mamir@chromium.org</owner> |
| <owner>rgod@google.com</owner> |
| <summary> |
| This metrics shows how user interacted with the password management native |
| bubble triggered from the key icon in the omnibox. Recorded during the |
| interaction with the bubble. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordNoteActionInSettings" |
| enum="PasswordNoteAction" expires_after="M111"> |
| <obsolete> |
| Obsolete in M111 as the logic is moved to settings. |
| </obsolete> |
| <owner>derinel@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| This metric shows how user created / edited / cleared the note field in the |
| passwords settings page. Recorded after closing the add/edit password dialog |
| in settings. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordNoteActionInSettings2" |
| enum="PasswordNoteAction" expires_after="2023-10-08"> |
| <owner>derinel@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| This metric shows how user created / edited / cleared the note field in the |
| passwords settings page. Recorded after closing the add/edit password dialog |
| in settings. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordReuse.NumberOfMatches" |
| units="credentials" expires_after="2023-10-22"> |
| <owner>vakh@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| This metric shows how many saved credentials (num unique registry-controlled |
| domains) have password that's equal to the reused password. |
| |
| Before M63 this logged a "0" for sync-reuse. |
| |
| A "password reuse" is when the user typed a string that is equal |
| to a saved password on another domain or is equal to the sync password on a |
| non google-login domain. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordReuse.PasswordFieldDetected" |
| enum="PasswordReusePasswordFieldDetected" expires_after="2023-10-22"> |
| <owner>vakh@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| This metric reports whether a password field had been detected on a page |
| when a password reuse happened. |
| |
| A "password reuse" is when the user typed a string that is equal |
| to a saved password on another domain or is equal to the sync password on a |
| non google-login domain. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordReuse.TotalPasswords" |
| units="credentials" expires_after="2023-08-27"> |
| <owner>vakh@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| This metric shows how many credentials are stored in Password Manager when a |
| password reuse happened. This counts unique registry-controlled domains with |
| passwords saved. |
| |
| A "password reuse" is when the user typed a string that is equal |
| to a saved password on another domain or is equal to the sync password on a |
| non google-login domain. |
| |
| During M61/M62 this metric logged a "1" for every sync-reuse. It |
| was fixed in M63 such that it logs actual Password Manager credential count. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordSettings.{Function}.{Setting}.APIError1" |
| enum="PasswordStoreAndroidBackendAPIError" expires_after="M120"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| The error codes returned by the GMS Core Password preferences 1P API while |
| attempting to {Function} for {Setting}. Recorded when the asynchronous job |
| has returned. This is currently only recorded on Android. |
| |
| Replacing PasswordManager.PasswordSettings.{Function}.{Setting}.APIError |
| which incorrectly recorded *only* the enum values and crashed for all |
| unknown values. |
| </summary> |
| <token key="Function" variants="PasswordManagerSettingAccessorFunction"/> |
| <token key="Setting" variants="PasswordManagerSetting"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordSettings.{Function}.{Setting}.ErrorCode" |
| enum="PasswordStoreAndroidBackendError" expires_after="M120"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Records the error encountered in PasswordSettingsUpdater while attempting to |
| {Function} for {Setting}. This is recorded either before making the actual |
| request (if the preconditions are not met) or after the asynchronous call |
| comes back with an error. This is currently only recorded on Android. |
| </summary> |
| <token key="Function" variants="PasswordManagerSettingAccessorFunction"/> |
| <token key="Setting" variants="PasswordManagerSetting"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordSettings.{Function}.{Setting}.ErrorLatency" |
| units="ms" expires_after="M120"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Real-time duration of the asynchronous attempt to {Function} for {Setting}. |
| Recorded when the asynchronous job failed. This is currently only recorded |
| on Android. |
| </summary> |
| <token key="Function" variants="PasswordManagerSettingAccessorFunction"/> |
| <token key="Setting" variants="PasswordManagerSetting"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordSettings.{Function}.{Setting}.Latency" |
| units="ms" expires_after="M120"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Real-time duration of the asynchronous attempt to {Function} for {Setting}. |
| Only recorded when the asynchronous job has returned successfully. This is |
| currently only recorded on Android. |
| </summary> |
| <token key="Function" variants="PasswordManagerSettingAccessorFunction"/> |
| <token key="Setting" variants="PasswordManagerSetting"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordSettings.{Function}.{Setting}.Success" |
| enum="BooleanSuccess" expires_after="M120"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Records whether PasswordSettingsUpdater attempt to {Function} for {Setting} |
| succeed. Recorded when the asynchronous job has returned. This is currently |
| only recorded on Android. |
| </summary> |
| <token key="Function" variants="PasswordManagerSettingAccessorFunction"/> |
| <token key="Setting" variants="PasswordManagerSetting"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordsGrouping.Time" units="ms" |
| expires_after="2023-09-01"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The time it takes to group passwords using the information provided by the |
| affiliation service. Recorded after password grouping is finished. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStore.OnLoginsChanged" enum="Boolean" |
| expires_after="2023-10-08"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Recorded whenever PasswordStore notifies consumers about changes to logins. |
| Changes can be made locally (in settings, in bubbles etc.) or remotely (via |
| sync). Records only true. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStore.OnLoginsRetained" |
| enum="LoginsChangedTrigger" expires_after="2023-10-08"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Android only. |OnLoginsRetained| replaces |OnLoginsChanged| and this metric |
| records potential calls of |OnLoginsRetained| to measure differences in |
| volume after switching. The metrics is recorded whenever the PasswordStore |
| (potentially) requests all logins to notify consumers because data may have |
| changed. Changes can occur within Chrome (e.g. after saving/updating a |
| password) or externally. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStore.TimesAttemptedToReenrollInUPM" |
| units="Times" expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Recorded on Android when the password store backend is created. This happens |
| on startup and once per profile, only for users in the UPM experiment. Users |
| can be unenrolled from UPM after encountering errors in communication with |
| the backend and reenrolled back if the backend communication is considered |
| reliable again. Records the number of times the user has attempted to |
| automatically reenroll in Google Mobile Services. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStore.TimesReenrolledInUPM" |
| units="Times" expires_after="2023-10-08"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Recorded on Android when the password store backend is created. This happens |
| on startup and once per profile, only for users in the UPM experiment. Users |
| can be unenrolled from UPM after encountering errors in communication with |
| the backend and reenrolled back if the backend communication is considered |
| reliable again. Records the number of times the user was reenrolled. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStore.WasEnrolledInUPMWhenBackendWasCreated" |
| enum="Boolean" expires_after="2023-10-08"> |
| <owner>kazinova@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Recorded on Android when the password store backend is created. This happens |
| on startup and once per profile. It logs whether the user is enrolled in |
| UPM. In this context, all profiles are enrolled unless they have encountered |
| an unrecoverable error upon querying GMS Core. Once that happens, a profile |
| pref is flipped and the client is considered unenrolled from that point on. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStoreAndroidBackend.ClearAllLocalPasswords.LoginsToRemove" |
| units="count" expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Total number of logins to be removed by ClearAllLocalPasswords. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStoreAndroidBackend.ClearAllLocalPasswords.SuccessRate" |
| units="%" expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Ratio between successfully removed logins and total number of logins in the |
| GMS's local storage. Removal is considered successful when change list is |
| non-empty. Recorded when all the logins have been processed. If total number |
| of logins is 0, nothing is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStoreAndroidBackend.Retry{Operation}.APIError" |
| enum="PasswordStoreAndroidBackendAPIError" expires_after="M120"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Records the last error code returned by the GMS ChromeSync 1P API when |
| scheduling a retry for the {Operation} operation. This is recorded after the |
| asynchronous call comes back with an error and it is checked that operation |
| could be retried. This is only recorded for GMS API errors on Android. |
| </summary> |
| <token key="Operation"> |
| <variant name=""/> |
| <variant name=".AddLoginAsync" summary="AddLogin"/> |
| <variant name=".ClearAllLocalPasswords" summary="ClearAllLocalPasswords"/> |
| <variant name=".DisableAutoSignInForOriginsAsync" |
| summary="DisableAutoSignInForOrigins"/> |
| <variant name=".FillMatchingLoginsAsync" summary="FillMatchingLogins"/> |
| <variant name=".GetAllLoginsAsync" summary="GetAllLogins"/> |
| <variant name=".GetAllLoginsForAccountAsync" |
| summary="GetAllLoginsForAccount"/> |
| <variant name=".GetAutofillableLoginsAsync" |
| summary="GetAutofillableLogins"/> |
| <variant name=".RemoveLoginAsync" summary="RemoveLogin"/> |
| <variant name=".RemoveLoginForAccount" summary="RemoveLoginForAccount"/> |
| <variant name=".RemoveLoginsByURLAndTimeAsync" |
| summary="RemoveLoginsByURLAndTime"/> |
| <variant name=".RemoveLoginsCreatedBetweenAsync" |
| summary="RemoveLoginsCreatedBetween"/> |
| <variant name=".UpdateLoginAsync" summary="UpdateLogin"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStoreAndroidBackend.Retry{Operation}.Attempt" |
| units="Times" expires_after="M120"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Records the retry attempt number when the GMS ChromeSync 1P API returned an |
| error and a retry for the {Operation} operation is about to be scheduled. |
| This is recorded after the asynchronous call comes back with an error and it |
| is checked that operation could be retried. This is only recorded for GMS |
| API errors on Android. |
| </summary> |
| <token key="Operation"> |
| <variant name=""/> |
| <variant name=".AddLoginAsync" summary="AddLoginAsync"/> |
| <variant name=".ClearAllLocalPasswords" summary="ClearAllLocalPasswords"/> |
| <variant name=".DisableAutoSignInForOriginsAsync" |
| summary="DisableAutoSignInForOriginsAsync"/> |
| <variant name=".FillMatchingLoginsAsync" summary="FillMatchingLoginsAsync"/> |
| <variant name=".GetAllLoginsAsync" summary="GetAllLoginsAsync"/> |
| <variant name=".GetAllLoginsForAccountAsync" |
| summary="GetAllLoginsForAccountAsync"/> |
| <variant name=".GetAutofillableLoginsAsync" |
| summary="GetAutofillableLoginsAsync"/> |
| <variant name=".RemoveLoginAsync" summary="RemoveLoginAsync"/> |
| <variant name=".RemoveLoginForAccount" summary="RemoveLoginForAccount"/> |
| <variant name=".RemoveLoginsByURLAndTimeAsync" |
| summary="RemoveLoginsByURLAndTimeAsync"/> |
| <variant name=".RemoveLoginsCreatedBetweenAsync" |
| summary="RemoveLoginsCreatedBetweenAsync"/> |
| <variant name=".UpdateLoginAsync" summary="UpdateLoginAsync"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStoreAndroidBackend{Function}.APIError" |
| enum="PasswordStoreAndroidBackendAPIError" expires_after="M120"> |
| <owner>maxan@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| The error codes returned by the GMS Core ChromeSync 1P API{Function}. |
| Recorded when the asynchronous job has returned. |
| </summary> |
| <token key="Function"> |
| <variant name=""/> |
| <variant name=".AddLoginAsync" summary="for AddLoginAsync"/> |
| <variant name=".GetAllLoginsAsync" summary="for GetAllLoginsAsync"/> |
| <variant name=".GetAutofillableLoginsAsync" |
| summary="for GetAutofillableLoginsAsync"/> |
| <variant name=".GetLoginsAsync" summary="for GetLoginsAsync"/> |
| <variant name=".RemoveLoginAsync" summary="for RemoveLoginAsync"/> |
| <variant name=".UpdateLoginAsync" summary="for UpdateLoginAsync"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStoreAndroidBackend{Function}.ConnectionResultCode" |
| enum="PasswordStoreAndroidBackendConnectionResultCode" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The connection result status code returned by the GMS Core ChromeSync 1P |
| API{Function}. Recorded when the asynchronous job has returned with error |
| and only if ConnectionResult was set on the returned error. |
| </summary> |
| <token key="Function"> |
| <variant name=""/> |
| <variant name=".AddLoginAsync" summary="for AddLoginAsync"/> |
| <variant name=".GetAllLoginsAsync" summary="for GetAllLoginsAsync"/> |
| <variant name=".GetAutofillableLoginsAsync" |
| summary="for GetAutofillableLoginsAsync"/> |
| <variant name=".GetLoginsAsync" summary="for GetLoginsAsync"/> |
| <variant name=".RemoveLoginAsync" summary="for RemoveLoginAsync"/> |
| <variant name=".UpdateLoginAsync" summary="for UpdateLoginAsync"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStoreAndroidBackend{Function}.ErrorCode" |
| enum="PasswordStoreAndroidBackendError" expires_after="M120"> |
| <owner>maxan@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| This metric reports the error observed when {Function} the PasswordStore |
| Android backend. Recorded when the asynchronous job has returned. |
| </summary> |
| <token key="Function"> |
| <variant name="" |
| summary="retrieving/adding/updating or removing logins from"/> |
| <variant name=".AddLoginAsync" summary="adding a login to"/> |
| <variant name=".GetAllLoginsAsync" summary="retrieving all logins from"/> |
| <variant name=".GetAutofillableLoginsAsync" |
| summary="retrieving autofillable logins from"/> |
| <variant name=".GetLoginsAsync" |
| summary="retrieving logins filtered by signon realm from"/> |
| <variant name=".RemoveLoginAsync" summary="removing a login from"/> |
| <variant name=".UpdateLoginAsync" summary="updating a login in"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStoreInitResult" enum="BooleanSuccess" |
| expires_after="M110"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>vasilii@chromium.org</owner> |
| <owner>src/components/password_manager/OWNERS</owner> |
| <summary> |
| Success rate of initialization of password store. Recorded for every user |
| once on the Chrome profile startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStoreInitResult2" |
| enum="BooleanSuccess" expires_after="M120"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>src/components/password_manager/OWNERS</owner> |
| <summary> |
| Success rate of initialization of password store. Recorded for every user |
| once on the Chrome profile startup. Only recorded for "regular" |
| profiles, i.e. those in which Password Manager might actually work. This |
| excludes incognito profiles, guest profiles, system profiles (used for the |
| profile picker), lockscreen profiles, etc. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStoreProxyBackend.{Function}.Fallback" |
| enum="Boolean" expires_after="M120"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Records true if the fallback to the build-in backend occurred during |
| {Function} execution due to error returned by the GMS Core backend. True is |
| recorded when the Android backend function returned with error and fallback |
| is about to be called. False is never recorded. |
| </summary> |
| <token key="Function"> |
| <variant name="AddLoginAsync" summary="AddLoginAsync()"/> |
| <variant name="FillMatchingLoginsAsync" |
| summary="FillMatchingLoginsAsync()"/> |
| <variant name="GetAllLoginsAsync" summary="GetAllLoginsAsync()"/> |
| <variant name="GetAutofillableLoginsAsync" |
| summary="GetAutofillableLoginsAsync()"/> |
| <variant name="RemoveLoginAsync" summary="RemoveLoginAsync()"/> |
| <variant name="RemoveLoginsByURLAndTimeAsync" |
| summary="RemoveLoginsByURLAndTimeAsync()"/> |
| <variant name="RemoveLoginsCreatedBetweenAsync" |
| summary="RemoveLoginsCreatedBetweenAsync()"/> |
| <variant name="UpdateLoginAsync" summary="UpdateLoginAsync()"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStoreProxyBackend.{Function}.{Metric}.{Measurement}" |
| units="count" expires_after="M120"> |
| <owner>maxan@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records the number of logins {Metric}{Measurement} Recorded when the |
| asynchronous job for {Function} has returned. |
| </summary> |
| <token key="Function"> |
| <variant name="FillMatchingLoginsAsync" |
| summary="FillMatchingLoginsAsync()"/> |
| <variant name="GetAllLoginsAsync" summary="GetAllLoginsAsync()"/> |
| <variant name="GetAutofillableLoginsAsync" |
| summary="GetAutofillableLoginsAsync()"/> |
| </token> |
| <token key="Metric"> |
| <variant name="Diff" |
| summary="in either the main or the shadow backend but not in both of |
| them"/> |
| <variant name="InconsistentPasswords" |
| summary="that occur in both the main and the shadow backend but |
| differ in their stored passwords"/> |
| <variant name="MainMinusShadow" |
| summary="in the main backend that are not in the shadow backend"/> |
| <variant name="ShadowMinusMain" |
| summary="in the shadow backend that are not the main backend"/> |
| </token> |
| <token key="Measurement"> |
| <variant name="Abs" summary="."/> |
| <variant name="Rel" |
| summary=", divided by the total number of logins, as a percentage |
| rounded up to the next integer. If the denominator is zero, |
| no value is emitted."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.PasswordStoreProxyBackend.{ModifyingFunction}.{Metric}.{Measurement}" |
| units="count" expires_after="M120"> |
| <owner>maxan@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records the number of password store changes {Metric}{Measurement} Recorded |
| when the asynchronous job for {ModifyingFunction} has returned. Recorded |
| only for non-syncing users and only after initial migration is finished. |
| </summary> |
| <token key="ModifyingFunction"> |
| <variant name="AddLoginAsync" summary="AddLoginAsync()"/> |
| <variant name="RemoveLoginAsync" summary="RemoveLoginAsync()"/> |
| <variant name="RemoveLoginsByURLAndTimeAsync" |
| summary="RemoveLoginsByURLAndTimeAsync()"/> |
| <variant name="RemoveLoginsCreatedBetweenAsync" |
| summary="RemoveLoginsCreatedBetweenAsync()"/> |
| <variant name="UpdateLoginAsync" summary="UpdateLoginAsync()"/> |
| </token> |
| <token key="Metric"> |
| <variant name="Diff" |
| summary="in either the main or the shadow backend but not in both of |
| them"/> |
| <variant name="InconsistentPasswords" |
| summary="that occur in both the main and the shadow backend but |
| differ in their stored passwords"/> |
| <variant name="MainMinusShadow" |
| summary="in the main backend that are not in the shadow backend"/> |
| <variant name="ShadowMinusMain" |
| summary="in the shadow backend that are not the main backend"/> |
| </token> |
| <token key="Measurement"> |
| <variant name="Abs" summary="."/> |
| <variant name="Rel" |
| summary=", divided by the total number of password store changes, as |
| a percentage rounded up to the next integer. If the |
| denominator is zero, no value is emitted."/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStore{Backend}{Function}" |
| enum="PasswordStoreAndroidBackendRequestStatus" expires_after="M120"> |
| <owner>maxan@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records each {Function} call by the PasswordStore {Backend}. Recorded twice: |
| 1) when the store issues the request, and 2) as the asynchronous job has |
| finished or times out. The first bucket may exceed others if Chrome closes |
| before the request finishes. |
| </summary> |
| <token key="Backend"> |
| <variant name="AndroidBackend" summary="Android backend"/> |
| <variant name="Backend" summary="backend"/> |
| <variant name="BuiltInBackend" summary="built-in backend"/> |
| </token> |
| <token key="Function"> |
| <variant name=".AddLoginAsync" summary="AddLoginAsync()"/> |
| <variant name=".ClearAllLocalPasswords" summary="ClearAllLocalPasswords()"/> |
| <variant name=".DisableAutoSignInForOriginsAsync" |
| summary="DisableAutoSignInForOriginsAsync()"/> |
| <variant name=".FillMatchingLoginsAsync" |
| summary="FillMatchingLoginsAsync()"/> |
| <variant name=".GetAllLoginsAsync" summary="GetAllLoginsAsync()"/> |
| <variant name=".GetAutofillableLoginsAsync" |
| summary="GetAutofillableLoginsAsync()"/> |
| <variant name=".GetLoginsAsync" summary="GetLoginsAsync()"/> |
| <variant name=".RemoveLoginAsync" summary="RemoveLoginAsync()"/> |
| <variant name=".RemoveLoginsByURLAndTimeAsync" |
| summary="RemoveLoginsByURLAndTimeAsync()"/> |
| <variant name=".RemoveLoginsCreatedBetweenAsync" |
| summary="RemoveLoginsCreatedBetweenAsync()"/> |
| <variant name=".UpdateLoginAsync" summary="UpdateLoginAsync()"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStore{Backend}{Function}.Latency" |
| units="ms" expires_after="M120"> |
| <owner>maxan@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Real-time duration of the asynchronous call to {Function} the PasswordStore |
| {Backend}. Recorded when the asynchronous job has returned. |
| </summary> |
| <token key="Backend"> |
| <variant name="AndroidBackend" summary="Android backend"/> |
| <variant name="Backend" summary="backend"/> |
| <variant name="BuiltInBackend" summary="built-in backend"/> |
| </token> |
| <token key="Function"> |
| <variant name=".AddLoginAsync" summary="add a login to"/> |
| <variant name=".ClearAllLocalPasswords" |
| summary="clear all local passwords from"/> |
| <variant name=".DisableAutoSignInForOriginsAsync" |
| summary="disable autosignin for matching logins in"/> |
| <variant name=".FillMatchingLoginsAsync" |
| summary="fill matching logins from"/> |
| <variant name=".GetAllLoginsAsync" summary="retrieve all logins from"/> |
| <variant name=".GetAutofillableLoginsAsync" |
| summary="retrieve autofillable logins from"/> |
| <variant name=".GetLoginsAsync" |
| summary="retrieve logins filtered by signon realm from"/> |
| <variant name=".RemoveLoginAsync" summary="remove a login from"/> |
| <variant name=".RemoveLoginsByURLAndTimeAsync" |
| summary="remove logins filtered by URL and creation time from"/> |
| <variant name=".RemoveLoginsCreatedBetweenAsync" |
| summary="remove logins filtered by creation time from"/> |
| <variant name=".UpdateLoginAsync" summary="update a login in"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordStore{Backend}{Function}.Success" |
| enum="BooleanSuccess" expires_after="M120"> |
| <owner>maxan@chromium.org</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records whether {Function} the PasswordStore {Backend}. Recorded when the |
| asynchronous job has returned. False is emitted if an error occurs; |
| otherwise true is emitted. |
| </summary> |
| <token key="Backend"> |
| <variant name="AndroidBackend" summary="Android backend"/> |
| <variant name="Backend" summary="backend"/> |
| <variant name="BuiltInBackend" summary="built-in backend"/> |
| </token> |
| <token key="Function"> |
| <variant name=".AddLoginAsync" |
| summary="AddLoginAsync() succeeded to add a login to"/> |
| <variant name=".ClearAllLocalPasswords" |
| summary="ClearAllLocalPasswords() successfully obtained a list of all |
| logins from"/> |
| <variant name=".DisableAutoSignInForOriginsAsync" |
| summary="DisableAutoSignInForOriginsAsync() succeeded in disabling |
| autosignin for matching logins in"/> |
| <variant name=".FillMatchingLoginsAsync" |
| summary="succeeded in filling matching logins from"/> |
| <variant name=".GetAllLoginsAsync" |
| summary="GetAllLoginsAsync() succeeded in retrieving all logins from"/> |
| <variant name=".GetAutofillableLoginsAsync" |
| summary="GetAutofillableLoginsAsync() succeeded in retrieving |
| autofillable logins from"/> |
| <variant name=".GetLoginsAsync" |
| summary="succeeded in retrieving logins filtered by signon realm from"/> |
| <variant name=".RemoveLoginAsync" |
| summary="RemoveLoginAsync() succeeded in removing a login from"/> |
| <variant name=".RemoveLoginsByURLAndTimeAsync" |
| summary="RemoveLoginsByURLAndTimeAsync() succeeded in removing logins |
| filtered by URL and creation time from"/> |
| <variant name=".RemoveLoginsCreatedBetweenAsync" |
| summary="RemoveLoginsCreatedBetweenAsync() succeeded in removing |
| logins filtered by creation time from"/> |
| <variant name=".UpdateLoginAsync" |
| summary="UpdateLoginAsync() succeeded in updating a login in"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordSyncState2" enum="PasswordSyncState" |
| expires_after="2023-04-30"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Whether the passwords are syncing and, if not, then what's causing sync |
| failures. Recorded after the first sync attempt either succeeds or fails. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordSyncState3" enum="PasswordSyncState" |
| expires_after="2023-10-31"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Whether the passwords are syncing and, if not, then what's causing sync |
| failures. Recorded after the first sync attempt either succeeds or fails for |
| the regular profiles. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PasswordViewPage.UserActions" |
| enum="PasswordViewPageInteractions" expires_after="2023-10-08"> |
| <owner>derinel@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Records the user actions performed on password viewing page in desktop |
| settings. Reported upon interactions with the password settings page. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PrefilledUsernameFillOutcome" |
| enum="PrefilledUsernameFillOutcome" expires_after="M86"> |
| <owner>khamutov@google.com</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Records successful fills of prefilled username values known as placeholders |
| and unsuccessful fills that were blocked because the prefilled value was not |
| identified as a placeholder. Recorded once per PasswordAutofillAgent |
| instance, when attempting to fill a password form that contains a username |
| value which was prepopulated by the website. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ProfileStore.TotalAccountsBeforeInitialSync" |
| units="accounts" expires_after="M120"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Records the number of locally saved passwords just before the password Sync |
| was successfully turned on. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PromoCard.ActionButtonClicked" |
| enum="PasswordManagerPromoCard" expires_after="2023-09-30"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Records the type of a promo card for which user clicked action button in the |
| Password Manager UI. Recorded when a promo card action button is clicked. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PromoCard.Dismissed" |
| enum="PasswordManagerPromoCard" expires_after="2023-09-30"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Records the type of a promo card dismissed in the Password Manager UI. |
| Recorded when a promo card is dismissed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.PromoCard.Shown" |
| enum="PasswordManagerPromoCard" expires_after="2023-09-30"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Records the type of a promo card shown in the Password Manager UI. Recorded |
| when a promo card is shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ProvisionalSaveFailure" |
| enum="ProvisionalSaveFailure" expires_after="2023-10-31"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Breakdown of cases where a password is submitted, but we don't even try and |
| save it. Recorded for every password form submit. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ReauthToAccessPasswordInSettings" |
| enum="PasswordManager.ReauthResult" expires_after="M117"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Recorded whenever the user interacts with reauthentication in order to |
| access the passwords in settings, or when such reauthentication is skipped |
| for a well-defined reason. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.RequirementsSpecFetcher.HttpResponseCode" |
| enum="HttpResponseCode" expires_after="2023-06-04"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| HTTP response code of fetching a password requirements file. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.RequirementsSpecFetcher.NetErrorCode" |
| enum="NetErrorCodes" expires_after="2023-10-15"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Network error code of fetching a password requirements file. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.RequirementsSpecFetcher.NetworkDuration" |
| units="ms" expires_after="2023-10-15"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Time until the lookup for a password requirements file completed (or was |
| aborted). |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.RequirementsSpecFetcher.Result" |
| enum="PasswordRequirementsFetcherResult" expires_after="2023-08-12"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Result of fetching requirements for password during password generation. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ReuseCheck.CheckedPasswords" units="passwords" |
| expires_after="2023-09-01"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of passwords analyzed during the password reuse check. Note: this |
| is a number of unique password values. Recorded after reuse check is |
| finished. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ReuseCheck.ReusedPasswords" units="passwords" |
| expires_after="2023-09-01"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of reused passwords found when the password reuse check |
| completed. Note: this is a number of unique password values. Recorded after |
| reuse check is finished. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ReuseCheck.Time" units="ms" |
| expires_after="2023-09-01"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The time it took to complete the password reuse check. Recorded after reuse |
| check is finished. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ReusedPasswordType" enum="ReusedPasswordType" |
| expires_after="2023-10-15"> |
| <owner>vakh@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records the type of password (e.g saved password, sync password, enterprise |
| password etc) reused by the user. This is logged when a password reuse |
| happens. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.SavedGaiaPasswordHashCount2{SyncConsentStatus}" |
| units="count" expires_after="2023-08-01"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records the number of Gaia password hashes that have been saved for password |
| reuse detection {SyncConsentStatus}. This is logged during the |
| initialization of the PasswordReuseManagerImpl class. |
| </summary> |
| <token key="SyncConsentStatus"> |
| <variant name="" summary=""/> |
| <variant name=".SignedInNonSync" |
| summary="when the primary account for the profile does not have Sync |
| consent"/> |
| <variant name=".Sync" |
| summary="when the primary account for the profile has Sync consent"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.SavedGaiaPasswordHashCount{SyncConsentStatus}" |
| units="count" expires_after="2023-03-26"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records the number of Gaia password hashes that have been saved for password |
| reuse detection {SyncConsentStatus}. This is logged during the |
| initialization of the PasswordReuseManagerImpl class. |
| </summary> |
| <token key="SyncConsentStatus"> |
| <variant name="" summary=""/> |
| <variant name=".SignedInNonSync" |
| summary="when the primary account for the profile does not have Sync |
| consent"/> |
| <variant name=".Sync" |
| summary="when the primary account for the profile has Sync consent"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.SaveUIDismissalReasonAfterUnblacklisting" |
| enum="PasswordManagerUIDismissalReason" expires_after="M115"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Why was the save password UI (bubble or infobar) closed? This is currently |
| recorded only for Android and only after the user has unblacklisted an |
| origin for saving from the accessory sheet. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SaveUIDismissalReason{UserSyncingType}" |
| enum="PasswordManagerUIDismissalReason" expires_after="2023-08-12"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Why was the save password UI (bubble or infobar) closed? Recorded for |
| {UserSyncingType} |
| </summary> |
| <token key="UserSyncingType" variants="UserSyncingType"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.SaveUIOnClearedPasswordChangeFormDismissalReason" |
| enum="PasswordManagerUIDismissalReason" expires_after="2023-10-22"> |
| <owner>kazinova@google.com</owner> |
| <owner>khamutov@google.com</owner> |
| <summary> |
| Why was the save password UI closed on a cleared change password form? |
| Recorded when the save bubble/infobar is dismissed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SaveUpdateUIDismissalReasonAndroid{Dialog}" |
| enum="SaveUpdatePasswordMessageDismissReason" expires_after="2023-07-15"> |
| <owner>atsvirchkova@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| When Chrome detects an unknown password being entered into a web page, it |
| shows the message asking if user wants to save or update (if there is |
| already some other password saved for the site) the password. This histogram |
| records what user decides to do with the message. Possible outcomes are: to |
| accept Chrome's offer to save/update the password, to dismiss the message, |
| to save/update the password in the edit dialog (which can be navigated from |
| the message), to cancel in the dialog, tell to never save password for the |
| site. Records the user action when the message is dismissed as well as when |
| the dialog opened from the message is dismissed. |
| </summary> |
| <token key="Dialog"> |
| <variant name="" summary="Aggregated across all breakdowns"/> |
| <variant name=".Save" summary="Only Save password dialog values"/> |
| <variant name=".Update" |
| summary="Only Update password dialog values (for only 1 password |
| saved previously per site)"/> |
| <variant name=".UpdateWithUsernameConfirmation" |
| summary="Only Update password dialog values when user must confirm |
| the username (multiple passwords saved per site)"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.SavingOnUsernameFirstFlow" |
| enum="SavingOnUsernameFirstFlow" expires_after="2023-09-24"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Records user actions when Chrome offers to save a username on a page which |
| is considered to be a username first flow. Recorded on a successful |
| submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.Settings.ToggleAutoSignIn" |
| enum="BooleanEnabled" expires_after="M118"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Records user action to enable or disable automatic sign-in in password |
| settings. Recorded when user interacts with the toggle. This metric is only |
| logged on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.Settings.ToggleOfferToSavePasswords" |
| enum="BooleanEnabled" expires_after="M118"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Records user action to enable or disable password saving in password |
| settings. Recorded when user interacts with the toggle. This metric is only |
| logged on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.ShortcutMetric" |
| enum="PasswordManagerShortcutMetric" expires_after="2023-10-15"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Records the user actions related to password manager shortcut. Recorded |
| before showing install prompt, after successful installation, or when user |
| switched profile inside a shortcut. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SingleUsername.PasswordFormHadUsernameField" |
| enum="PasswordFormHadUsernameField" expires_after="2023-11-28"> |
| <owner>kolos@chromium.org</owner> |
| <owner>shaikhitdin@google.com</owner> |
| <summary> |
| Single username vote is sent after user is signed in (i.e. entered password |
| in password form). This means that there are actually 2 forms in username |
| first flow, that is single username and password form. |
| |
| Form is considered for single username vote in 2 cases: |
| |
| (1) There is a password field and no username fields in the password form. |
| |
| (2) There is a password field and username value from password form matches |
| username value in the single username form. |
| |
| This metric tracks which of the two cases the vote is coming from. Recorded |
| once per vote submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.StoreDecryptionResult" |
| enum="PasswordDecryptionResult" expires_after="2023-09-30"> |
| <owner>mamir@chromium.org</owner> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Describes the result of decrypting a password value from the LoginDatabase. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.StoresUsedForFillingInLast28Days" |
| enum="PasswordManagerFillingSource" expires_after="2023-08-20"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| Which of the password manager's stores (the profile-scoped one and/or the |
| account-scoped one) were used within the last 28 days for filling passwords. |
| Recorded whenever a password form is successfully submitted. This should |
| typically only be used with "Count unique clients". |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.StoresUsedForFillingInLast7Days" |
| enum="PasswordManagerFillingSource" expires_after="2023-08-20"> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| Which of the password manager's stores (the profile-scoped one and/or the |
| account-scoped one) were used within the last 7 days for filling passwords. |
| Recorded whenever a password form is successfully submitted. This should |
| typically only be used with "Count unique clients". |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SubmittedFormFrame2" |
| enum="SubmittedPasswordFormFrame" expires_after="2023-09-10"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Records a frame type (eg. main frame, iframe with the same url as the main |
| frame, etc) of a submitted password form. Logged only once per submitted |
| form. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SubmittedFormType" enum="PasswordFormType" |
| expires_after="M117"> |
| <owner>kazinova@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| The type (e.g. signup, login, change password) of all submitted password |
| forms. This is logged on form submission, but doesn't require that the |
| password manager saves. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SuccessfulLoginHappened" |
| enum="BooleanSuccessfulLoginHappenedOnHttps" expires_after="2023-09-10"> |
| <owner>kazinova@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| For a successful login, whether the origin is HTTPS or HTTP. A succesful |
| login is detected by local heuristics. The heuristics can misclassify |
| whether a login succeeded, so this is an approximation. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SuccessfulSubmissionIndicatorEvent" |
| enum="SubmissionIndicatorEvent" expires_after="2023-10-08"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The type of event that the Password Manager used for detecting a password |
| form submission. Recorded for each successful password form submission. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.SyncControllerDelegateNotifiesCredentialManager.APIErrorCode" |
| enum="CredentialManagerAPIError" expires_after="M120"> |
| <owner>kazinova@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| The error codes returned by the GMS Core ChromeSync 1P CredentialManager API |
| for setting the current autofill account. Recorded when the asynchronous job |
| has returned. This is currently only recorded on Android. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.SyncControllerDelegateNotifiesCredentialManager.ErrorCode" |
| enum="PasswordStoreAndroidBackendError" expires_after="M120"> |
| <owner>kazinova@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Error code registered when PasswordSyncControllerDelegateAndroid fails in |
| notifying CredentialManager of the currect account. This happens either when |
| the request made to the credential manager API returns with a failure or |
| before, if the PasswordSyncControllerDelegateAndroid makes a call with |
| incomplete data (e.g. no account is found when one is required). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.SyncControllerDelegateNotifiesCredentialManager.Success" |
| enum="Boolean" expires_after="2023-09-17"> |
| <owner>kazinova@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Whether PasswordSyncControllerDelegateAndroid succeeded in notifying |
| CredentialManager of the currect account. Recorded when the async request to |
| notify the credential manager about the account returns. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SyncingAccountState2" |
| enum="PasswordManagerSyncingAccountState" expires_after="2023-04-30"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>chrome-password-manager-metrics-alerts@google.com</owner> |
| <summary> |
| Information about the user's current sync status crossed with whether their |
| synced password is saved. Recorded once per Chrome profile at most once per |
| day. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SyncingAccountState3" |
| enum="PasswordManagerSyncingAccountState" expires_after="2023-10-31"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>chrome-password-manager-metrics-alerts@google.com</owner> |
| <summary> |
| Information about the user's current sync status crossed with whether their |
| synced password is saved. Recorded at most once per day for regular |
| profiles. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SyncMetadataReadError" |
| enum="PasswordSyncMetadataReadError" expires_after="2023-04-23"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>mamir@chromium.org</owner> |
| <owner>mastiz@chromium.org</owner> |
| <summary> |
| This metric reports the error observed when trying to read the Sync metadata |
| from the password store during the start of Password sync. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SyncMetadataReadError2" |
| enum="PasswordSyncMetadataReadError" expires_after="2023-09-24"> |
| <owner>mamir@chromium.org</owner> |
| <owner>mastiz@chromium.org</owner> |
| <summary> |
| This metric reports the error observed when trying to read the Sync metadata |
| from the password store during the start of Password sync. Recorded only if |
| password store was created. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.SyncPasswordHashChange" |
| enum="GaiaPasswordHashChange" expires_after="2023-10-22"> |
| <owner>drubery@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| This metric reports a type of a sync password hash change event. Recorded |
| when a sync password hash is saved or cleared. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.TimeBetweenStoreAndServer" units="ms" |
| expires_after="2023-09-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| The time between receiving saved credentials from the password store and |
| predictions from the Autofill server. Recorded each time when predictions |
| for a form are received. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.TouchToFill.CredentialIndex" units="index" |
| expires_after="2023-09-03"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| The index of a selected credential in the Touch To Fill sheet. Only recorded |
| when the sheet showed at least two entries. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.TouchToFill.DismissalReason" |
| enum="BottomSheet.StateChangeReason" expires_after="2023-09-03"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| The reason why a user dismissed the Touch To Fill sheet. Recorded once for |
| each dismissal. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.TouchToFill.NumCredentialsShown" |
| units="credentials" expires_after="M92"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary>The number of credentials shown in the Touch To Fill sheet.</summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.TouchToFill.Outcome" |
| enum="TouchToFill.Outcome" expires_after="2023-09-03"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| The final outcome that closes the Touch To Fill sheet (e.g. credentials |
| filling, settings opened, failed reauth, sheet dismissal). Recorded once for |
| each closing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.TouchToFill.SubmissionReadiness" |
| enum="TouchToFill.SubmissionReadiness" expires_after="2023-09-03"> |
| <owner>kolos@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| A given form's state (e.g. there are empty fields in the form, or there are |
| only two fields and they both are filled by Chrome) that indicates whether |
| the form is ready for submission. Recorded when a Touch To Fill sheet is |
| shown for that form. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.TouchToFill.SuccessfulSubmissionWasObserved" |
| enum="Boolean" expires_after="2023-09-10"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| Measures whether a credential filling by Touch To Fill leads to a successful |
| submission or not (submission failed, or the submission could not be |
| associated with filling by Touch To Fill). A submission after filling is |
| considered successful iff the filled and submitted usernames coincide, the |
| timestamps are within one minute and a user hasn't modified any field after |
| filling. Otherwise, it is reported as 'no successful submission observed'. |
| The metric is used to compare a login success rate when automated submission |
| is enabled and disabled. Due to stale or wrong credentials, the success rate |
| will be degraded independently of automated submission. Recorded when the |
| password manager has classified a login submission (succeeded or failed) or |
| a user has modified a field after Touch-To-Fill. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.TouchToFill.TimeToSuccessfulLogin" units="ms" |
| expires_after="2023-09-10"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| The time in milliseconds between filling by the Touch To Fill and a |
| successful submission (To ensure filling and submitting correspond to each |
| other, the usernames should coincide and the timestamps should be within one |
| minute. A successful login after a failed submission or manual typing is not |
| reported). Used to compare the times when automated submission is enabled |
| and disabled. Thus, we measure the time saved for a user. Recorded when the |
| password manager detects that the login was successful. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.TouchToFill.UserAction" |
| enum="TouchToFill.UserAction" expires_after="M92"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| The action a user took when interacting with the Touch To Fill sheet. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.UIDismissalReason" |
| enum="PasswordManagerUIDismissalReason" expires_after="2023-11-30"> |
| <owner>vasilii@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Why was the password manager's UI (bubble or infobar) closed? Save and |
| update UI are tracked separately. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.UnenrolledFromUPMDueToErrors" enum="Boolean" |
| expires_after="2023-09-17"> |
| <owner>kazinova@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records true when a client's profile is being unenrolled from UPM. This |
| happens when a password store request to GMS Core fails with an error that |
| is deemed unrecoverable. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.UnifiedPasswordManager.ActiveStatus" |
| enum="UnifiedPasswordManagerActiveStatus" expires_after="2023-03-19"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Recorded on profile open after the sync service is initialized and once per |
| profile. It is recorded for clients that have UPM enabled and logs whether |
| UPM is actually active for them. Reasons why UPM might be inactive are: |
| passwords sync off or client unenrolled due to unresolvable errors. Note a |
| client can have both sync off and be unenrolled, in which case it will still |
| only appear in the sync off bucket, since this is considered the main reason |
| why the client is inactive for UPM. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.UnifiedPasswordManager.ActiveStatus2" |
| enum="UnifiedPasswordManagerActiveStatus" expires_after="M120"> |
| <owner>kazinova@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Recorded on profile open after the sync service is initialized and once per |
| regular profile. It is recorded for clients that have UPM enabled and logs |
| whether UPM is actually active for them. Reasons why UPM might be inactive |
| are: passwords sync off or client unenrolled due to unresolvable errors. |
| Note a client can have both sync off and be unenrolled, in which case it |
| will still only appear in the sync off bucket, since this is considered the |
| main reason why the client is inactive for UPM. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.UnifiedPasswordManager.WasMigrationDone" |
| enum="BooleanSuccess" expires_after="2023-09-17"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records whether passwords were successfully migrated from built in backed to |
| android backed and the current migration version stored in pref is |
| greater/equal to the version from feature parameters. Recorded on start up. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.UnifiedPasswordManager.{UPMMigrationType}.Latency" |
| units="ms" expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Real-time duration of {UPMMigrationType}. Recorded when all operations are |
| completed and migration is finished. |
| </summary> |
| <token key="UPMMigrationType" variants="UPMMigrationType"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.UnifiedPasswordManager.{UPMMigrationType}.Success" |
| enum="BooleanSuccess" expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Records success of {UPMMigrationType}. Recorded when the migration is |
| finished. |
| </summary> |
| <token key="UPMMigrationType" variants="UPMMigrationType"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.UpdateUIDismissalReason" |
| enum="PasswordManagerUIDismissalReason" expires_after="2023-09-10"> |
| <owner>vasilii@chromium.org</owner> |
| <summary>Why was the update password UI (bubble or infobar) closed?</summary> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.UpdateUIOnClearedPasswordChangeFormDismissalReason" |
| enum="PasswordManagerUIDismissalReason" expires_after="2023-10-15"> |
| <owner>kazinova@google.com</owner> |
| <owner>khamutov@google.com</owner> |
| <summary> |
| Why was the update password UI closed on a cleared change password form? |
| Recorded when the update bubble/infobar is dismissed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.UPMUnenrollmentReason" |
| enum="PasswordStoreAndroidBackendAPIError" expires_after="2023-09-10"> |
| <owner>ioanap@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <summary> |
| Records the error code returned by the GMS Password Checkup 1P API which |
| caused unenrollment. This is recorded when the user is evicted from UPM. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.UPMUpdateSignInCredentialsSucces" |
| enum="Boolean" expires_after="2023-08-20"> |
| <owner>izuzic@google.com</owner> |
| <owner>ioanap@chromium.org</owner> |
| <summary> |
| Records whether the user was successfully signed in after using the sign in |
| button on the Password Manager error message. The outcome can be either |
| success or failure. It's recorded when the sign in flow that updates |
| credentials finishes. Currently only used on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.UsernameDetectionMethod" |
| enum="UsernameDetectionMethod" expires_after="2023-09-30"> |
| <owner>kazinova@google.com</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| Measures what method was used for username field detection in the renderer |
| code. The metric may be recorded several times for page visit because it is |
| recorded at every PasswordForm creation. If a site changes HTML attributes |
| of fields or server-side predictions is received, different values can be |
| recorded for the same form. If an outcome of HTML classifier or a |
| server-side prediction coincides with the outcome of base heuristic, the |
| metric points to base heuristic method. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.WeakCheck.CheckedPasswords" units="passwords" |
| expires_after="2023-09-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of passwords analyzed during the passwords weak check. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.WeakCheck.PasswordScore" |
| enum="PasswordWeaknessScore" expires_after="2023-08-27"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The score of the password that was checked by the passwords weak check. The |
| score indicates how guessable the password is. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.WeakCheck.SingleCheckTime" units="ms" |
| expires_after="2024-01-17"> |
| <owner>jkeitel@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The time taken to perform a weakness check for a single password. Recorded |
| whenever a password weakness score is computed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.WeakCheck.Time" units="ms" |
| expires_after="2023-09-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary>The time it took to complete the passwords weak check.</summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.WeakCheck.WeakPasswords" units="passwords" |
| expires_after="2023-09-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of weak passwords found when the passwords weak check completed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.WellKnownChangePasswordResult" |
| enum="WellKnownChangePasswordResult" expires_after="2023-10-20"> |
| <owner>kolos@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <summary> |
| The type of change password URL opened after requesting, for example, |
| https://example.com/.well-known/change-password. The metric is emitted when |
| the appropriate throttle handles such URLs. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Location}.AuthenticationResult" |
| enum="BooleanSuccess" expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Records the result of the attempt to re-auth the user via biometrics when |
| {Location}. |
| </summary> |
| <token key="Location"> |
| <variant name="BiometricAuthenticationPromo" |
| summary="trying to enable the feature from the promo dialog"/> |
| <variant name="PasswordFilling" summary="filling suggestion on webpage"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Location}.AuthenticationTime" units="ms" |
| expires_after="M120"> |
| <owner>vsemeniuk@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary>Records the time it takes user to authenticate {Location}.</summary> |
| <token key="Location"> |
| <variant name="ManagementBubble" |
| summary="in management bubble when navigating to details view"/> |
| <variant name="PasswordFilling" |
| summary="on webpage after selecting a suggestion to fill"/> |
| <variant name="Settings" |
| summary="in settings when trying to show/copy/edit/export passwords"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.{Store}BlacklistedSitesHiRes2{CustomPassphraseStatus}" |
| units="sites" expires_after="2023-05-01"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The total number of sites that the user has blocklisted in the password |
| manager's {Store}. Recorded by iterating over stored passwords once per |
| Chrome profile and at most once per day. |
| </summary> |
| <token key="Store" variants="Store"/> |
| <token key="CustomPassphraseStatus" variants="CustomPassphraseStatus"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.{Store}BlacklistedSitesHiRes3{CustomPassphraseStatus}" |
| units="sites" expires_after="2023-11-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The total number of sites that the user has blocklisted in the password |
| manager's {Store}. Recorded by iterating over stored passwords at most once |
| per day for regular profiles. |
| </summary> |
| <token key="Store" variants="Store"/> |
| <token key="CustomPassphraseStatus" variants="CustomPassphraseStatus"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Store}InaccessiblePasswords" |
| units="saved passwords" expires_after="2023-06-26"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>derinel@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| The number of saved passwords that could not be decrypted in the password |
| manager's {Store}. Recorded once for the profile when it's opened. |
| </summary> |
| <token key="Store"> |
| <variant name="" summary="profile-scoped store"/> |
| <variant name="AccountStore." summary="account-scoped store"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Store}InaccessiblePasswords2" |
| units="saved passwords" expires_after="2023-06-26"> |
| <obsolete> |
| Obsolete in M112 due to renaming profile scoped variant from empty to |
| ProfileStore. Replaced by |
| PasswordManager.ProfileStore.InaccessiblePasswords3 and |
| PasswordManager.AccountStore.InaccessiblePasswords3 |
| </obsolete> |
| <owner>derinel@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| The number of saved passwords that could not be decrypted in the password |
| manager's {Store}. Recorded once for the regular profile when it's opened. |
| </summary> |
| <token key="Store"> |
| <variant name="" summary="profile-scoped store"/> |
| <variant name="AccountStore." summary="account-scoped store"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Store}InaccessiblePasswords3" |
| units="saved passwords" expires_after="2023-06-26"> |
| <owner>derinel@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| The number of saved passwords that could not be decrypted in the password |
| manager's LoginDatabase for {Store}. Recorded once for the regular profile |
| when it's opened. |
| </summary> |
| <token key="Store"> |
| <variant name="AccountStore." summary="account-scoped store"/> |
| <variant name="ProfileStore." summary="profile-scoped store"/> |
| </token> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Store}LoginDatabaseEncryptionStatus" |
| enum="LoginDatabaseEncryptionStatus" expires_after="2023-06-30"> |
| <owner>derinel@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| The encryption status of the login database in the password manager's |
| {Store} after initialization. Recorded only once per profile when the |
| database is initialized. |
| </summary> |
| <token key="Store"> |
| <variant name="AccountStore." summary="account-scoped store"/> |
| <variant name="ProfileStore." summary="profile-scoped store"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.{Store}PasswordNotes.CountCredentialsWithNonEmptyNotes" |
| units="count" expires_after="2023-01-01"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>derinel@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Total number of credentials with non-empty notes in the password manager's |
| {Store}. Recorded once per Chrome profile and at most once per day. |
| </summary> |
| <token key="Store" variants="Store"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.{Store}PasswordNotes.CountCredentialsWithNonEmptyNotes2" |
| units="count" expires_after="2024-04-01"> |
| <owner>derinel@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Total number of credentials with non-empty notes in the password manager's |
| {Store}. Recorded at most once per day for regular profiles. |
| </summary> |
| <token key="Store" variants="Store"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Store}PasswordNotes.CountNotesPerCredential" |
| units="count" expires_after="2023-01-01"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>derinel@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Total number of notes attached to a password in the password manager's |
| {Store}. Recorded once for each credential in a Chrome profile and at most |
| once per day. |
| </summary> |
| <token key="Store" variants="Store"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Store}PasswordNotes.CountNotesPerCredential2" |
| units="count" expires_after="2023-06-01"> |
| <obsolete> |
| Obsolete since Jan 2022 as emitting credentials with 0 notes is not |
| required. Replaced by |
| PasswordManager.{Store}PasswordNotes.CountNotesPerCredential3 |
| </obsolete> |
| <owner>derinel@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Total number of notes attached to a password in the password manager's |
| {Store}. Recorded once for each credential at most once per day for regular |
| profiles. |
| </summary> |
| <token key="Store" variants="Store"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Store}PasswordNotes.CountNotesPerCredential3" |
| units="count" expires_after="2024-04-01"> |
| <owner>derinel@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| Total number of notes attached to a password in the password manager's |
| {Store}. Recorded once for credentials with 1+ notes at most once per day |
| for regular profiles. |
| </summary> |
| <token key="Store" variants="Store"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.{Store}TimesPasswordUsed2.{PasswordType}{CustomPassphraseStatus}" |
| units="PasswordUses" expires_after="2023-06-01"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| The number of times each saved password from the {Store} has been used to |
| log in. Split by whether created by the user or generated by Chrome, and |
| further by whether the user used sync with custom passphrase or not. |
| Recorded by iterating over stored passwords once per Chrome profile, soon |
| after startup, and at most once per day. |
| </summary> |
| <token key="Store" variants="Store"/> |
| <token key="PasswordType" variants="PasswordType"/> |
| <token key="CustomPassphraseStatus" variants="CustomPassphraseStatus"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.{Store}TimesPasswordUsed3.{PasswordType}{CustomPassphraseStatus}" |
| units="PasswordUses" expires_after="2023-11-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <summary> |
| The number of times each saved password from the {Store} has been used to |
| log in. Split by whether created by the user or generated by Chrome, and |
| further by whether the user used sync with custom passphrase or not. |
| Recorded by iterating over stored passwords soon after startup, at most once |
| per day for regular profiles. |
| </summary> |
| <token key="Store" variants="Store"/> |
| <token key="PasswordType" variants="PasswordType"/> |
| <token key="CustomPassphraseStatus" variants="CustomPassphraseStatus"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Store}TotalAccountsHiRes2.WithScheme{Scheme}" |
| units="accounts" expires_after="2023-11-30"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>battre@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of accounts stored in the password manager's {Store} (across all |
| sites) for origins with the scheme (e.g., HTTP, HTTPS, FTP) as given in the |
| histogram suffix. For each scheme, the count is recorded once per Chrome |
| profile and at most once per day. |
| </summary> |
| <token key="Store" variants="Store"/> |
| <token key="Scheme" variants="Scheme"/> |
| </histogram> |
| |
| <histogram name="PasswordManager.{Store}TotalAccountsHiRes3.WithScheme{Scheme}" |
| units="accounts" expires_after="2023-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| The number of accounts stored in the password manager's {Store} (across all |
| sites) for origins with the scheme (e.g., HTTP, HTTPS, FTP) as given in the |
| histogram suffix. For each scheme, the count is recorded at most once per |
| day for regular profiles. |
| </summary> |
| <token key="Store" variants="Store"/> |
| <token key="Scheme" variants="Scheme"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.{Store}{Metric2}.{PasswordType}{CustomPassphraseStatus}" |
| units="units" expires_after="2023-05-01"> |
| <obsolete> |
| Obsolete in M110 after PasswordStore is no longer created for non-regular, |
| guest, system and incognito profiles. |
| </obsolete> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| The number of accounts stored {Metric2} in the password manager's {Store}. , |
| split by whether created by the user or generated by Chrome, and further by |
| whether the user use sync with custom passphrase or not. Recorded during |
| browser start-up, once per Chrome profile and at most once per day. |
| </summary> |
| <token key="Store" variants="Store"/> |
| <token key="Metric2"> |
| <variant name="AccountsPerSiteHiRes2" summary="per site"/> |
| <variant name="TotalAccountsHiRes2.ByType" summary="across all sites"/> |
| </token> |
| <token key="PasswordType" variants="PasswordType"/> |
| <token key="CustomPassphraseStatus" variants="CustomPassphraseStatus"/> |
| </histogram> |
| |
| <histogram |
| name="PasswordManager.{Store}{Metric3}.{PasswordType}{CustomPassphraseStatus}" |
| units="units" expires_after="2023-11-01"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <owner>mamir@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| The number of accounts stored {Metric3} in the password manager's {Store}. , |
| split by whether created by the user or generated by Chrome, and further by |
| whether the user use sync with custom passphrase or not. Recorded during |
| browser start-up, at most once per day for regular profiles. |
| </summary> |
| <token key="Store" variants="Store"/> |
| <token key="Metric3"> |
| <variant name="AccountsPerSiteHiRes3" summary="per site"/> |
| <variant name="TotalAccountsHiRes3.ByType" summary="across all sites"/> |
| </token> |
| <token key="PasswordType" variants="PasswordType"/> |
| <token key="CustomPassphraseStatus" variants="CustomPassphraseStatus"/> |
| </histogram> |
| |
| <histogram name="PasswordProtection.InterstitialAction" |
| enum="PasswordProtectionWarningAction" expires_after="2023-10-01"> |
| <owner>xinghuilu@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records how a user interacts with the password protection interstitial |
| (a.k.a chrome://reset-password page). Logged when the interstitial is shown |
| and when the user chooses to change their password. Warning: this histogram |
| was expired from 2021-01-30 to 2021-10-25; data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.ModalWarningDialogAction" |
| enum="PasswordProtectionWarningAction" expires_after="2023-08-27"> |
| <owner>vakh@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records how a user interacts with the password protection modal warning |
| dialog. Logged when the dialog is shown and when the user chooses to change |
| their password, ignore warning, or navigate away. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.ModalWarningDialogLifetime" units="ms" |
| expires_after="2024-04-18"> |
| <owner>xinghuilu@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records the interval between when the password protection modal warning |
| dialog is constructed and when the dialog is destructed. The dialog can be |
| destructed when the user takes action or the web content is destroyed. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.PageInfoAction" |
| enum="PasswordProtectionWarningAction" expires_after="2023-10-22"> |
| <owner>drubery@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records how a user interacts with page info bubble that displays the |
| password protection warning. Logged when such page info bubble is shown and |
| when the user chooses to change their password, ignore warning, or mark site |
| as legitimate via buttons on the page info bubble. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="PasswordProtection.PasswordAlertModeOutcome" |
| enum="PasswordProtectionRequestOutcome" expires_after="2023-08-27"> |
| <owner>xinghuilu@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records the outcome of the password alert mode, indicating if password alert |
| warning is shown successfully or if it is skipped for some reason. Warning: |
| this histogram was expired from 2021-01-30 to 2021-10-25; data may be |
| missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.PasswordProtectionResponseOrErrorCode" |
| enum="CombinedHttpResponseAndNetErrorCode" expires_after="2023-09-10"> |
| <owner>drubery@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Response or error codes for PasswordProtectionRequest. Logged after chrome |
| receives response of PasswordProtectionRequest from Safe Browsing service. |
| |
| Note: In M98 the error code HTTP_RESPONSE_CODE_FAILURE was changed to log |
| the actual HTTP response code. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.PasswordReuseSyncAccountType" |
| enum="PasswordProtectionSyncAccountType" expires_after="2023-10-22"> |
| <owner>nwokedi@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| When password protection service detects a reuse of Chrome sync password, |
| record the type of Chrome sync account on which the reuse happens (e.g. |
| @gmail.com, @googlemail.com, or other dasher account). |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.RequestNetworkDuration" units="ms" |
| expires_after="2023-08-27"> |
| <owner>drubery@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| The time it takes for PasswordProtectionService request. It is not recorded |
| for requests that were canceled. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="PasswordProtection.RequestOutcome" |
| enum="PasswordProtectionRequestOutcome" expires_after="2023-09-03"> |
| <owner>vakh@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records the outcome of the password protection request, indicating if |
| request is sent out successfully or if it is skipped or canceled for some |
| reason. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.RequestReferringAppSource" |
| enum="PasswordProtectionReferringAppSource" expires_after="2023-10-01"> |
| <owner>xinghuilu@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records the referring app source of the password protection request, |
| indicating the source of the referring app name in the request. This metric |
| is only logged on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.RequestWithToken.{TriggerType}" |
| enum="BooleanSent" expires_after="2024-03-02"> |
| <owner>xinghuilu@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Records if the password protection request, triggered by a(n) {TriggerType}, |
| was sent with a GAIA-tied OAuth2 token. This token is sent only for |
| signed-in Enhanced Safe Browsing users. |
| </summary> |
| <token key="TriggerType" variants="PasswordProtectionTriggerType"/> |
| </histogram> |
| |
| <histogram name="PasswordProtection.SampleReportSent" enum="Boolean" |
| expires_after="2023-09-21"> |
| <owner>drubery@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Logs when an event where users reuse their password or focus on a password |
| field is sent as a sample ping when the URL in the allowlist to Safe |
| Browsing. Events only happen 1% of the time when URLs match the allowlist. |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.Verdict" enum="PasswordProtectionVerdict" |
| expires_after="2023-09-03"> |
| <owner>vakh@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| Verdict types returned by Safe Browsing server for a password protection |
| request. Request can be triggered when user focuses on a password field or |
| enters a protected password (syncing, signed-in, or saved). |
| </summary> |
| </histogram> |
| |
| <histogram name="PasswordProtection.VisualFeatureExtractionDuration" units="ms" |
| expires_after="2023-10-08"> |
| <owner>drubery@chromium.org</owner> |
| <owner>chrome-counter-abuse-alerts@google.com</owner> |
| <summary> |
| The time it takes to extract the visual features of a login page before |
| sending a PasswordProtectionRequest. Logged every time visual features are |
| extracted (when an SBER user sends an On Focus ping). |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |