blob: f7c1d370d068ce8fd30c4d3d8763067b6fd9f931 [file] [log] [blame]
<!--
Copyright 2020 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<!--
This file is used to generate a comprehensive list of others histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please send CLs to chromium-metrics-reviews@google.com rather than to specific
individuals. These CLs will be automatically reassigned to a reviewer within
about 5 minutes. This approach helps the metrics team to load-balance incoming
reviews. Googlers can read more about this at go/gwsq-gerrit.
-->
<histogram-configuration>
<histograms>
<variants name="TextFragmentSource">
<!-- Should be synced with TextFragmentLinkOpenSource in enums.xml. -->
<variant name="" summary="all sources">
<obsolete>
Replaced by split out versions below.
</obsolete>
</variant>
<variant name=".SearchEngine" summary="the default search engine."/>
<variant name=".Unknown" summary="unknown but not the default search engine"/>
</variants>
<variants name="VoiceIntentTargetVariant">
<variant name="Assistant" summary="Assistant voice transcription."/>
<variant name="System" summary="System voice transcription."/>
</variants>
<variants name="WebContentsObserverMethods">
<variant name="DidChangeVisibleSecurityState"/>
<variant name="DidFinishLoad"/>
<variant name="DidFinishNavigation"/>
<variant name="DidFirstVisuallyNonEmptyPaint"/>
<variant name="DidRedirectNavigation"/>
<variant name="DidStartLoading"/>
<variant name="DidStartNavigation"/>
<variant name="DidStopLoading"/>
<variant name="DocumentAvailableInMainFrame"/>
<variant name="DOMContentLoaded"/>
<variant name="LoadProgressChanged"/>
<variant name="NavigationEntryChanged"/>
<variant name="NavigationEntryCommitted"/>
<variant name="NavigationEntryDeleted"/>
<variant name="OnVisibilityChanged"/>
<variant name="RenderFrameCreated"/>
<variant name="RenderFrameDeleted"/>
<variant name="RenderViewReady"/>
<variant name="TitleWasSet"/>
</variants>
<histogram name="AccountManager.AccountAdditionResultStatus"
enum="AccountManagerAccountAdditionResultStatus" expires_after="2022-02-01">
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
Records the result of in-session account addition (or re-authentication)
triggers on Chrome OS. This is recorded whenever an in-session account
addition (or re-authentication) is triggered and user finishes or cancels
the flow.
</summary>
</histogram>
<histogram name="AccountManager.AccountAdditionSource"
enum="AccountManagerAccountAdditionSource" expires_after="2021-10-04">
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
Records the source of in-session account addition (or re-authentication)
triggers on Chrome OS. This is recorded whenever an in-session account
addition (or re-authentication) is triggered - either explicitely by the
user, or automatically by Gaia (for accounts requiring immediate
re-authentication).
</summary>
</histogram>
<histogram name="AccountManager.EduCoexistence.CreateRaptResult"
enum="GaiaReAuthProofTokenStatus" expires_after="2021-03-30">
<obsolete>
Removed in M91. Deprecated after v2 EduCoexistence.
</obsolete>
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
The result of creating a Reauth Proof Token (RAPT) for the parent in
secondary EDU account addition flow. Recorded after parent enters their
password and child access token is fetched.
</summary>
</histogram>
<histogram name="AccountManager.EduCoexistence.FetchAccessTokenResult"
enum="GoogleServiceAuthError" expires_after="2021-10-04">
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
The result of fetching an access token for the child with |accounts.reauth|
scope in secondary EDU account addition flow. Recorded after parent enters
their password. This metric covers both v1 and v2 of EduCoexistence.
</summary>
</histogram>
<histogram name="AccountManager.EduCoexistence.FetchParentsListResult"
enum="FamilyInfoFetcherErrorCode" expires_after="2021-03-30">
<obsolete>
Removed in M91. Deprecated after v2 EduCoexistence.
</obsolete>
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
The result of fetching a list of parents in secondary EDU account addition
flow. Recorded when user opens 'Add EDU account' flow.
</summary>
</histogram>
<histogram name="AccountManager.EduCoexistence.FlowResult"
enum="EduCoexistenceFlowResult" expires_after="2021-08-01">
<obsolete>
Removed in M91. Replaced by
AccountManager.EduCoexistenceV2.{InSessionFlowResult, OnboardingFlowResult}
after v2 EduCoexistence.
</obsolete>
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
Records the last completed step in the EDU account addition flow. Allows to
track the drop rate by screen.
</summary>
</histogram>
<histogram name="AccountManager.EduCoexistenceV2.InSessionFlowResult"
enum="EduCoexistenceFlowV2Result" expires_after="2021-11-01">
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the last completed step in the EDU account addition flow. Allows to
track the drop rate by important states during the in session flow.
</summary>
</histogram>
<histogram name="AccountManager.EduCoexistenceV2.OnboardingFlowResult"
enum="EduCoexistenceFlowV2Result" expires_after="2021-11-01">
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the last completed step in the EDU account addition flow. Allows to
track the drop rate by important states during onboarding.
</summary>
</histogram>
<histogram name="AccountManager.InitializationTime" units="microseconds"
expires_after="2021-08-09">
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
Measures the time taken to fully initialize Chrome OS Account Manager. This
is recorded once per user session, at login time.
</summary>
</histogram>
<histogram name="AccountManager.ManageAccountsServiceType"
enum="GaiaServiceType" expires_after="2022-01-24">
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
Tracks the service type received with the mirror response header.
</summary>
</histogram>
<histogram name="AccountManager.Migrations.Result" enum="BooleanSuccess"
expires_after="2021-08-09">
<owner>sinhak@chromium.org</owner>
<summary>
Tracks the final result of migrating accounts to Chrome OS Account Manager.
This is recorded only once per session, at login time.
</summary>
</histogram>
<histogram base="true" name="AccountManager.Migrations.StepResult"
enum="BooleanSuccess" expires_after="2021-01-24">
<!-- Name completed by histogram_suffixes
name="AccountManagerMigrationSteps" -->
<owner>sinhak@chromium.org</owner>
<summary>
Tracks the result of individual migration steps of migrating accounts to
Chrome OS Account Manager. This is recorded only once per session, at login
time.
</summary>
</histogram>
<histogram name="AccountManager.MirrorReauthenticationRequest"
enum="BooleanHit" expires_after="2021-08-09">
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
Whether user has received a Mirror re-authentication request for account
with invalid cookies. Recorded when we open a re-authentication dialog for
the invalid account. See https://crbug.com/1012649 for details.
</summary>
</histogram>
<histogram name="AccountManager.NumAccounts" units="count"
expires_after="2021-10-04">
<owner>sinhak@chromium.org</owner>
<summary>
Tracks the number of accounts stored in Chrome OS Account Manager by a given
user. This is recorded only once per session, at login time.
</summary>
</histogram>
<histogram name="AccountManager.TokenLoadStatus"
enum="AccountManagerTokenLoadStatus" expires_after="2021-10-10">
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@chromium.org</owner>
<summary>
Tracks the status of token loads from disk by Chrome OS Account Manager, for
a given user. This is recorded only once per session, at login time.
</summary>
</histogram>
<histogram name="ActivityTracker.Collect.AnalyzerCreationError"
enum="ActivityTrackerAnalyzerCreationError" expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
The analyzer creation error code. Logged each time analyzer creation fails,
at most once per processed stability debug file.
</summary>
</histogram>
<histogram name="ActivityTracker.Collect.InitStatus"
enum="ActivityTrackerCollectInitStatus" expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
Status of the initialization to collect stability debug files. Logged once,
during the initialization of the stability debug file collection.
</summary>
</histogram>
<histogram name="ActivityTracker.Collect.StabilityFileCount" units="count"
expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
Number of files found during stability file collection. Logged each time the
stability file collection proceeds (at most once per launch).
</summary>
</histogram>
<histogram name="ActivityTracker.Collect.Status"
enum="ActivityTrackerCollectStatus" expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
Status for the collection of a stability debug file. Logged each time a
debug file collection attempt is made.
</summary>
</histogram>
<histogram name="ActivityTracker.Collect.SystemSessionAnalysisStatus"
enum="ActivityTrackerSystemSessionAnalysisStatus" expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
Status for the analysis of the system session state. Logged each time a
debug file is collected.
</summary>
</histogram>
<histogram name="ActivityTracker.Collect.TotalTime" units="ms"
expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
Time spent collecting stability debug information. Logged each time a
collection is performed.
</summary>
</histogram>
<histogram name="ActivityTracker.Collect.WriteDumpStatus"
enum="ActivityTrackerWriteDumpStatus" expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
Status of the minidump writing. Logged each time a writing a minidump is
attempted.
</summary>
</histogram>
<histogram name="ActivityTracker.CollectCrash.Event"
enum="ActivityTrackerCollectOnCrashEvent" expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
Events that occur during crash collection of the debug file. Logged each
time an event of interest occurs during crash debug file collection.
</summary>
</histogram>
<histogram name="ActivityTracker.CollectCrash.Status"
enum="ActivityTrackerCollectStatus" expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
Status for the collection of a stability debug file. Logged each time a
debug file collection attempt is made from the crash handler.
</summary>
</histogram>
<histogram name="ActivityTracker.Record.Event"
enum="ActivityTrackerRecordEvent" expires_after="M90">
<owner>siggi@chromium.org</owner>
<summary>
Events pertaining to recording to the debug file. Logged each time an event
of interest occurs wrt debug file recording.
</summary>
</histogram>
<histogram name="AddSupervisionDialog.Enrollment"
enum="AddSupervisionEnrollment" expires_after="2021-09-08">
<owner>tobyhuang@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<owner>danan@chromium.org</owner>
<summary>
Records the number of users who go through the Add Supervision process to
convert regular accounts to Geller accounts. Initiated count is incremented
when Add Supervision dialog is opened. Completed count is incremented when
supervision is successfully enrolled. Signed out count is incremented when
the user clicks &quot;Sign out&quot; after enrollment at the end of the
process in the dialog. Closed count is incremented when the Add Supervision
dialog is closed prior to enrollment, excluding sign out. Switched accounts
count is incremented when the user clicks &quot;Sign out&quot; within the
dialog to swich accounts before enrollment completion.
</summary>
</histogram>
<histogram name="AddSupervisionDialog.EnrollmentCompletedUserTime" units="ms"
expires_after="2021-09-08">
<owner>tobyhuang@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<owner>danan@chromium.org</owner>
<summary>
Measures the amount of time in milliseconds for users to successfully enroll
in supervision.
</summary>
</histogram>
<histogram name="AddSupervisionDialog.EnrollmentNotCompletedUserTime"
units="ms" expires_after="2021-09-08">
<owner>tobyhuang@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<owner>danan@chromium.org</owner>
<summary>
Measures the amount of time in milliseconds for users to exit the Add
Supervision dialog without enrollment. This can happen if the user closes
the Add Supervision dialog or signs out to switch accounts.
</summary>
</histogram>
<histogram name="AddSupervisionDialog.SignoutCompletedUserTime" units="ms"
expires_after="2021-09-08">
<owner>tobyhuang@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<owner>danan@chromium.org</owner>
<summary>
Measures the amount of time in milliseconds for users to sign out after
enrolling in supervision. Elapsed time is measured starting from when the
Add Supervision dialog was first opened.
</summary>
</histogram>
<histogram name="Ads.Media.Duration" units="ms" expires_after="2021-10-04">
<owner>johnidel@chromium.org</owner>
<owner>dalecurtis@chromium.org</owner>
<summary>
Duration in milliseconds of HTML5 media (when known). Only recorded for
media within ad subframes. This is recorded every time the duration changes
for a video, and can be recorded multiple times for a single video (the
overall duration may not be known when loading starts). Because the duration
will generally increase as more video gets buffered, this histogram may skew
low.
</summary>
</histogram>
<histogram name="Ads.Media.LoadType" enum="MediaLoadType"
expires_after="2021-08-09">
<owner>johnidel@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<summary>
Load type of HTML5 media in ad subframes such as URL, MediaSource and
MediaStream.
</summary>
</histogram>
<histogram base="true" name="Ads.ResourceUsage.Size.Cache2" units="KB"
expires_after="2020-10-02">
<obsolete>
Removed 11/2020.
</obsolete>
<owner>johnidel@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<summary>
For a given resource fetched from the disk cache or blink memory cache, logs
the encoded body length of the resource, even if the resource request was
canceled or incomplete. Recorded when the resource request is complete, or
when the page is destroyed/navigated for incomplete resources. The sum of
samples across a page load may differ substatially from the true sum due to
per-sample rounding. These are not intended to be compared to page level
histograms.
</summary>
</histogram>
<histogram base="true" name="Ads.ResourceUsage.Size.Network" units="KB"
expires_after="2020-10-02">
<obsolete>
Removed 11/2020.
</obsolete>
<owner>johnidel@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<summary>
For a given resource fetched from the network, logs the network bytes used
to load the resource (including headers), even if the resource request was
canceled or incomplete. Recorded when the resource request is complete, or
when the page is destroyed/navigated for incomplete resources. The sum of
samples across a page load may differ substatially from the true sum due to
per-sample rounding. These are not intended to be compared to page level
histograms.
</summary>
</histogram>
<histogram name="AnchorElementMetrics.Clicked.OnDSE.SameHost"
enum="BooleanAnchorElementSameHost" expires_after="2021-08-09">
<owner>tbansal@chromium.org</owner>
<summary>
True if the target link of the anchor element has the same host as the root
document. Recorded only on default search engine pages.
</summary>
</histogram>
<histogram name="AnchorElementMetrics.Clicked.OnNonDSE.SameHost"
enum="BooleanAnchorElementSameHost" expires_after="2021-08-22">
<owner>tbansal@chromium.org</owner>
<owner>ryansturm@chromium.org</owner>
<owner>src/chrome/browser/navigation_predictor/OWNERS</owner>
<summary>
True if the target link of the anchor element has the same host as the root
document. Recorded only on pages whose URL do not match the default search
engine.
</summary>
</histogram>
<histogram base="true" name="AnchorElementMetrics.IsSameHost" enum="Boolean"
expires_after="2021-05-21">
<owner>chelu@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
True if the target link of the anchor element has the same host as the root
document.
</summary>
</histogram>
<histogram name="AnchorElementMetrics.Visible.NumberOfAnchorElementsAfterMerge"
units="count" expires_after="2021-04-26">
<owner>chelu@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
The number of anchor element metrics sent to the browser process on a page
load. Anchor elements having the same href are merged and counted as 1. This
histogram is recorded when the webpage is loaded.
</summary>
</histogram>
<histogram name="AnimatedImage.NumOfFramesSkipped" units="count"
expires_after="2021-10-04">
<owner>khushalsagar@chromium.org</owner>
<summary>
If the frame rate for the image animation can not be reached, frames in the
animation are skipped to catch up to the desired frame. This metric tracks
the number of frames skipped during catch up, and can be used to assess the
smoothness of these animations. It records the number of frames skipped each
time the animation is ticked forward to draw the next frame. In the ideal
case, where the animation can be drawn at the desired rate, 0 frames should
be skipped. Note that skipping of frames can also be triggered if the
animation was intentionally paused (on becoming off-screen, or the tab being
hidden).
</summary>
</histogram>
<histogram
name="Animation.AnimationWorklet.Dispatcher.AsynchronousMutateDuration"
units="microseconds" expires_after="2021-01-01">
<owner>majidvp@chromium.org</owner>
<owner>animations-dev@chromium.org</owner>
<summary>
The time it takes the WorkletMutatorDispatcher to complete an asynchronous
mutation request of animation worklet. The measured time is the total
elapsed time from when a request is queued until the results are received.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Animation.AnimationWorklet.Dispatcher.SynchronousMutateDuration"
units="microseconds" expires_after="2021-01-01">
<owner>majidvp@chromium.org</owner>
<owner>animations-dev@chromium.org</owner>
<summary>
The time it takes the WorkletMutatorDispatcher to dispatch to and mutate all
animation worklet mutators synchronously. This includes the time that it
takes each AnimationWorkletGlobalScope to produce its output (which includes
V8 script execution) and also any queuing cost associated with posting
mutation tasks and receiving responses.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Animation.AnimationWorklet.MutateDuration"
units="microseconds" expires_after="2021-01-01">
<owner>majidvp@chromium.org</owner>
<owner>kevers@chromium.org</owner>
<owner>animations-dev@chromium.org</owner>
<summary>
The time it takes for an AnimationWorklet to produce a mutation update. This
includes all V8 script execution cost.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="API.StorageAccess.AllowedRequests" enum="StorageAccessResult"
expires_after="2020-11-27">
<owner>mkwst@chromium.org</owner>
<owner>brandm@microsoft.com</owner>
<summary>
Records if various requests to access storage are allowed or not and if the
Storage Access API unblocked the request or not. Recorded whenever a
decision to access storage like getting/setting cookies or opening an
indexeddb connection is made in CookieSettings.
</summary>
</histogram>
<histogram name="API.StorageAccess.GrantIsImplicit" enum="BooleanAvailable"
expires_after="2020-11-27">
<owner>mkwst@chromium.org</owner>
<owner>brandm@microsoft.com</owner>
<summary>
Records if a generated grant was implicit or explicit at the time it was
created.
</summary>
</histogram>
<histogram name="API.StorageAccess.RequestStorageAccess"
enum="RequestStorageResult" expires_after="2020-11-27">
<owner>mkwst@chromium.org</owner>
<owner>brandm@microsoft.com</owner>
<summary>
Records requests to use document.requestStorageAccess and reasons the
request may be approved or rejected.
</summary>
</histogram>
<histogram name="AppBanners.BeforeInstallEvent"
enum="AppBannersBeforeInstallEvent" expires_after="2021-06-01">
<owner>dominickn@chromium.org</owner>
<owner>pjmclachlan@google.com</owner>
<summary>
App banners promote an application related to the current website, and are
requested specifically through the current page's HTML. This stat tracks
usage of the BeforeInstallPromptEvent, which allows developers to control
when an app banner appears. The events in this histogram are not mutually
exclusive - for example, preventDefault() must be called if prompt() is
called.
</summary>
</histogram>
<histogram name="AppBanners.DismissEvent" enum="AppBannersDismissEvent"
expires_after="2021-10-04">
<owner>pjmclachlan@google.com</owner>
<owner>pcovell@google.com</owner>
<summary>
App banners promote an application related to the current website, and are
requested specifically through the current page's HTML. This stat tracks the
different ways that an app banner left the screen, e.g. through an automatic
dismissal after navigation or an explicit user action.
</summary>
</histogram>
<histogram name="AppBanners.DisplayEvent" enum="AppBannersDisplayEvent"
expires_after="2021-09-12">
<owner>pjmclachlan@google.com</owner>
<owner>pcovell@google.com</owner>
<summary>
App banners promote an application related to the current website, and are
requested specifically through the current page's HTML. This stat tracks
when an app banner was requested and how the request was handled, e.g. the
user blocked its appearance or the banner was ultimately created.
</summary>
</histogram>
<histogram name="AppBanners.InstallableStatusCode"
enum="AppBannersInstallableStatusCode" expires_after="2021-10-10">
<owner>dominickn@chromium.org</owner>
<owner>pjmclachlan@google.com</owner>
<summary>
App banners promote an application related to the current website, and are
requested specifically through the current page's HTML. This stat tracks the
status code logged by the app banner system as it processes a site's
eligibility for an app banner. Every request for a banner will be logged in
a bucket of this histogram.
</summary>
</histogram>
<histogram name="AppBanners.InstallEvent" enum="AppBannersInstallEvent"
expires_after="2021-09-12">
<owner>pjmclachlan@google.com</owner>
<owner>pcovell@google.com</owner>
<summary>
App banners promote an application related to the current website, and are
requested specifically through the current page's HTML. This stat tracks
when a user triggers an install dialog for the app promoted by the banner,
as well as whether or not the user ultimately decided to install the app.
</summary>
</histogram>
<histogram name="AppBanners.MinutesFromFirstVisitToBannerShown" units="minutes"
expires_after="2021-06-01">
<owner>dominickn@chromium.org</owner>
<owner>pjmclachlan@google.com</owner>
<summary>
App banners promote an application related to the current website, and are
requested specifically through the current page's HTML. This stat tracks the
number of minutes between the first recorded visit to an origin and the time
when the banner is actually shown.
</summary>
</histogram>
<histogram name="AppBanners.UserResponse" enum="AppBannersUserResponse"
expires_after="2021-09-12">
<owner>dominickn@chromium.org</owner>
<owner>pjmclachlan@google.com</owner>
<summary>
This stat tracks the user reponse when the add-to-homescreen dialog is shown
either: (A) Via the website's JavaScript (B) Via the user tapping the app
banner which promotes the application related to the current site.
</summary>
</histogram>
<histogram name="appcache.Manifest.ChromeHeader" enum="BooleanPresent"
expires_after="M82">
<owner>pwnall@chromium.org</owner>
<owner>mek@chromium.org</owner>
<summary>
The proportion of manifests that use the Chrome-specific header. Only tracks
manifests that were successfully parsed.
</summary>
</histogram>
<histogram name="appcache.Manifest.DangerousMode" enum="BooleanPresent"
expires_after="M82">
<owner>pwnall@chromium.org</owner>
<owner>mek@chromium.org</owner>
<summary>
The proportion of manifests parsed with dangerous features enabled. Only
tracks manifests that were successfully parsed.
</summary>
</histogram>
<histogram name="appcache.Manifest.InterceptUsage"
enum="AppCacheManifestInterceptUsage" expires_after="M82">
<owner>pwnall@chromium.org</owner>
<owner>mek@chromium.org</owner>
<summary>
Usage of CHROMIUM-INTERCEPT entries in AppCache manifests. Only tracks
manifests that were successfully parsed.
</summary>
</histogram>
<histogram name="appcache.ReinitAttempt" units="units" expires_after="M85">
<owner>mek@chromium.org</owner>
<summary>
Tracks the number of times the appcache reinit process occurs. The boolean
value indicates whether it was a repeated attempt to reinitialize during a
browsing session.
</summary>
</histogram>
<histogram name="appcache.UpdateJob.Canceled" enum="BooleanCanceled"
expires_after="2021-08-09">
<owner>cmp@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>Tracks whether the update job was canceled.</summary>
</histogram>
<histogram name="appcache.UpdateJob.ExistingCorruptionFixedInUpdate"
units="resources" expires_after="2021-08-09">
<owner>cmp@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Tracks the number of times we encountered corruption and fixed it while
handling a 304 response. We only attempt to recover corruption during 304
response handling, so for any corrupt caches that exist and don't trigger a
conditional request, these cases can't result in the possibility of fixing
corruption through this path.
</summary>
</histogram>
<histogram name="appcache.UpdateJob.ExistingResourceCheck" units="units"
expires_after="2021-08-09">
<owner>cmp@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Tracks the number of times we plan to check whether we can reuse existing
resources.
</summary>
</histogram>
<histogram name="appcache.UpdateJob.ExistingResourceCorrupt" units="units"
expires_after="2021-08-09">
<owner>cmp@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Tracks the number of times we encounter a corrupt resource while checking if
we can reuse an existing resource. This is only called when we find a
corrupt resource, so any resources that are corrupt but aren't tested won't
be included in this count. If all resources are non-corrupt, then the
default value (0) will be sent for metrics collection.
</summary>
</histogram>
<histogram name="appcache.UpdateJob.ExistingResourceCorruptionRecovery"
units="units" expires_after="2021-09-26">
<owner>cmp@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Tracks the number of times we encountered a corrupt resource and chose to
recover the corruption by refetching the resource in a non-conditional
request. This metric is always emitted upon AppCacheUpdateJob destruction
and is only incremented when the corruption recovery feature is enabled and
a corrupt resource is detected. If either corruption recovery is disabled or
no corrupt resources are recovered, then this will not be emitted.
This metric was enabled in M81 (Dec 19, 2019), disabled in M82 (Feb 18,
2020), and re-enabled in M86 (Aug 2020). In M86 this includes 0 values (no
corruption recovered), but in M87 and later it does not.
</summary>
</histogram>
<histogram name="appcache.UpdateJob.ExistingResourceNotCorrupt"
units="resources" expires_after="2021-08-09">
<owner>cmp@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Tracks the number of times we encounter a non-corrupt resource while
checking if we can reuse an existing resource. This is only called when we
find a non-corrupt resource, so any resources that aren't corrupt but aren't
tested won't be included in this count. If all resources are corrupt, then
the default value (0) will be sent for metrics collection.
</summary>
</histogram>
<histogram name="appcache.UpdateJob.ExistingResourceOnlyCorrupt"
units="resources" expires_after="2021-10-10">
<owner>cmp@chromium.org</owner>
<owner>enne@chromium.org</owner>
<summary>
Tracks the number of times we encounter a corrupt resource while checking if
we can reuse an existing resource. This is only called when we find a
corrupt resource, so any resources that are corrupt but aren't tested won't
be included in this count.
Unlike ExistingResourceCorrupt this is only emitted when there are any
corrupt resources found.
</summary>
</histogram>
<histogram name="appcache.UpdateJob.ExistingResourceOnlyNotCorrupt"
units="resources" expires_after="2021-08-09">
<owner>cmp@chromium.org</owner>
<owner>enne@chromium.org</owner>
<summary>
Tracks the number of times we encounter a non-corrupt resource while
checking if we can reuse an existing resource. This is only called when we
find a non-corrupt resource, so any resources that aren't corrupt but aren't
tested won't be included in this count.
Unlike ExistingResourceNotCorrupt this is only emitted when there are any
non-corrupt resources found.
</summary>
</histogram>
<histogram name="appcache.UpdateJob.ExistingResourceReused" units="units"
expires_after="2021-08-09">
<owner>cmp@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Tracks the number of times while checking existing resources that we
determined we can reuse that resource.
</summary>
</histogram>
<histogram name="appcache.UpdateJob.FinalInternalState"
enum="AppCacheUpdateJobInternalState" expires_after="2021-08-09">
<owner>cmp@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>Tracks the final internal state for the update job.</summary>
</histogram>
<histogram name="appcache.UpdateJob.ResourceFreshness" units="days"
expires_after="2021-08-09">
<owner>cmp@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Tracks the resource freshness we cached in a response as we consider whether
we can reuse an existing resource. This metric is in days and typically
reflects the Cache-Control: max-age=X server response header. It may
indicate the Expires: header in some cases at the time of the response if a
max-age header was not provided. Note that max-age is in seconds and we're
generally interested in a range of 0 days to ~1 year.
</summary>
</histogram>
<histogram name="AppleScript.CommandEvent" enum="AppleScriptCommandEvents"
expires_after="M81">
<owner>spqchan@chromium.org</owner>
<summary>The number of times an AppleScript event gets called.</summary>
</histogram>
<histogram name="AppManagement.AppDetailViews" enum="AppManagementUserAction"
expires_after="2021-10-04">
<!-- Name completed by histogram_suffixes name="AppType" -->
<owner>jshikaram@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The actions taken by the user when they are viewing the app details of an
app in App Management (chrome://os-settings/app-management).
</summary>
</histogram>
<histogram name="AppManagement.EntryPoints" enum="AppManagementEntryPoint"
expires_after="2021-10-10">
<owner>jshikaram@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>The ways the user opens up the App Management interface.</summary>
</histogram>
<histogram name="AsyncDNS.ConfigChange" enum="BooleanSuccess"
expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>
Whether DnsConfigService::OnConfigChange actually corresponded to a change
in DnsConfig.
</summary>
</histogram>
<histogram name="AsyncDNS.ConfigNotifyInterval" units="ms" expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>
Duration of time between calls to DnsConfigService::InvalidateConfig.
</summary>
</histogram>
<histogram name="AsyncDNS.ConfigParseDuration" units="ms" expires_after="M81">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>Duration of time spent parsing DnsConfig.</summary>
</histogram>
<histogram name="AsyncDNS.ConfigParsePosix" enum="AsyncDNSConfigParsePosix"
expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>
Counts of results of parsing DnsConfig in DnsConfigServicePosix.
</summary>
</histogram>
<histogram name="AsyncDNS.ConfigParseWin" enum="AsyncDNSConfigParseWin"
expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>
Counts of results of parsing DnsConfig in DnsConfigServiceWin.
</summary>
</histogram>
<histogram name="AsyncDNS.HostParseResult" enum="BooleanSuccess"
expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>Whether DnsHosts were parsed successfully.</summary>
</histogram>
<histogram name="AsyncDNS.HostsChange" enum="BooleanSuccess"
expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>
Whether DnsConfigService::OnHostsChange actually corresponded to a change in
DnsHosts.
</summary>
</histogram>
<histogram name="AsyncDNS.HostsNotifyInterval" units="ms" expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>
Duration of time between calls to DnsConfigService::InvalidateHosts.
</summary>
</histogram>
<histogram name="AsyncDNS.HostsParseDuration" units="ms" expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>Duration of time spent parsing DnsHosts.</summary>
</histogram>
<histogram name="AsyncDNS.HostsParseWin" enum="AsyncDNSHostsParseWin"
expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>
Counts of results of parsing DnsHosts in DnsConfigServiceWin.
</summary>
</histogram>
<histogram name="AsyncDNS.ServerCount" units="units" expires_after="2021-03-21">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>
Count of servers in DnsConfig. Recorded on every new DnsSession, which is
created on DNS change.
</summary>
</histogram>
<histogram name="AsyncDNS.UnchangedConfigInterval" units="ms"
expires_after="M77">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>pauljensen@chromium.org</owner>
<owner>mef@chromium.org</owner>
<summary>
Duration of time since the last empty config result to the time a non-change
OnConfigChange is received.
</summary>
</histogram>
<histogram name="AsyncDNS.UnchangedHostsInterval" units="ms"
expires_after="2021-01-31">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>ericorth@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
Duration of time since the last empty config result to the time a non-change
OnHostsChange is received.
</summary>
</histogram>
<histogram name="AsyncDNS.WatchStatus" enum="AsyncDNSWatchStatus"
expires_after="2021-01-31">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>ericorth@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
The result of DnsConfigService watch. Counts STARTED on every initialization
and FAILED_* on any failure.
</summary>
</histogram>
<histogram name="Aura.CreatedGpuBrowserCompositor" enum="CompositorType"
expires_after="2020-04-05">
<owner>jbauman@chromium.org</owner>
<summary>
Whether the browser compositor uses GPU or the software renderer.
</summary>
</histogram>
<histogram name="Aura.WebContentsWindowUnOccludedTime" units="ms"
expires_after="2021-09-12">
<owner>alemate@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<summary>
The amount of time spent painting a WebContents frame when a window switches
from occluded to visible state.
</summary>
</histogram>
<histogram name="Autocomplete.Cleanup" units="entries" expires_after="M85">
<owner>seblalancette@chromium.org</owner>
<summary>
Logged when the Autocomplete Retention Policy cleaned up expired entries.
Expired entries are entries that haven't been used in the last 14 months.
</summary>
</histogram>
<histogram name="Autocomplete.DaysSinceLastUse" units="days"
expires_after="M85">
<owner>seblalancette@chromium.org</owner>
<summary>
Logged when users select Autocomplete entries in the dropdown, this
histogram captures the number of days that have passed since the selected
autocomplete entry was last used. I.e., the distribution of time between
uses of an &quot;active&quot; autocomplete entry.
</summary>
</histogram>
<histogram name="Autocomplete.Events" enum="AutocompleteEvents"
expires_after="M95">
<owner>seblalancette@chromium.org</owner>
<summary>
Autocomplete events recorded when the user interacts with suggestions served
from Autocomplete.
Note that this histogram was disabled after M85 and was only reenabled on
25.02.2021.
</summary>
</histogram>
<histogram name="Autocomplete.MatchType" enum="AutocompleteMatchType"
expires_after="2021-10-04">
<owner>tbansal@chromium.org</owner>
<owner>ryansturm@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Type of AutocompleteMatch. Recorded every time the autocomplete action
predictor in omnibox triggers a preresolve, or a preconnect.
</summary>
</histogram>
<histogram name="AutocompleteActionPredictor.AccurateCount" units="units"
expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
Every time we calculate the confidence for a URL to determine if it should
be prerendered, we track the URL and confidence calculated. When an Omnibox
navigation happens, if we calculated a confidence for that URL, a count is
incremented for the confidence that was calculated. This histogram is then a
histogram of counts that relates the number of correctly predicted URLs to a
confidence value. By comparing that number to the
AutocompleteActionPredictor.NavigationCount and
Prerender.OmniboxNavigationsUsedPrerenderCount histograms, it's possible to
determine the effect of changing the confidence threshold on the accuracy of
prerendering prediction.
</summary>
</histogram>
<histogram name="AutocompleteActionPredictor.Action"
enum="AutocompleteActionPredictorAction" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
The distribution of network actions recommended by the
AutocompleteActionPredictor. A network action can be one of the enumerated
AutocompleteActionPredictor::Action values: PRERENDER, PRECONNECT, or NONE.
The AutocompleteActionPredictor recommends one of these based on a
confidence score for a given URL and user-entered text pair.
</summary>
</histogram>
<histogram name="AutocompleteActionPredictor.Confidence" units="units"
expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
The distribution of confidence ratings. The AutocompleteActionPredictor uses
a heuristic to calculate a confidence score given a URL and user-entered
text pair. It is in the range [0,1] and is mapped on to a recommended
action, one of the enumerated AutocompleteActionPredictor::Action values:
PRERENDER, PRECONNECT or NONE. This is the distribution of those scores
multiplied by 100.
</summary>
</histogram>
<histogram name="AutocompleteActionPredictor.DatabaseAction"
enum="AutocompleteActionPredictorDatabaseAction" expires_after="2021-08-29">
<owner>tbansal@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Trackes the number of times something is added, removed, or deleted from the
AutocompleteActionPredictor backing database.
</summary>
</histogram>
<histogram name="AutocompleteActionPredictor.DatabaseRowCount" units="units"
expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
The distribution of row counts for the AutocompleteActionPredictorDatabase.
Each row contains information regarding the user's Omnibox use history.
</summary>
</histogram>
<histogram name="AutocompleteActionPredictor.MatchIsInDb" units="units"
expires_after="2021-08-29">
<owner>tbansal@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
A boolean that indicates if the autocomplete suggestion under consideration
by the AutocompleteActionPredictor was found in the database. This gives an
upper bound on the fraction of suggestions it is possible to calculate a
confidence for, and thus an upper bound on the fraction of suggestions that
can be prerendered.
</summary>
</histogram>
<histogram name="AutocompleteActionPredictor.NavigationCount" units="units"
expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
The number of navigations triggered by the Omnibox and seen by the
AutocompleteActionPredictor. This triggers when the Omnibox is showing
Autocomplete results to the user and they select one with the mouse or by
pressing enter.
</summary>
</histogram>
<histogram base="true" name="Availability.Prober.CacheEntryAge" units="hours"
expires_after="M95">
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
How old a cached probe result was when it was used, in hours.
</summary>
</histogram>
<histogram base="true" name="Availability.Prober.DidSucceed"
enum="BooleanSuccess" expires_after="M95">
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the completion status of a probe when it completes each attempt.
</summary>
</histogram>
<histogram base="true"
name="Availability.Prober.DidSucceed.AfterReportedFailure"
enum="BooleanSuccess" expires_after="M95">
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the completion status of a probe retry after an externally reported
failure.
</summary>
</histogram>
<histogram base="true" name="Availability.Prober.FinalState"
enum="BooleanSuccess" expires_after="M95">
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the end state of a probe just before it goes inactive. This happens
when the prober succeeds, fails and has no more retries, or the delegate
stops probing.
</summary>
</histogram>
<histogram base="true" name="Availability.Prober.NetError" enum="NetErrorCodes"
expires_after="M95">
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the net error of a completed or timed out probe. Note that if a HTTP
response does not occur within the probe's TTL, when a sample will also be
added to the ERR_TIMED_OUT bucket.
</summary>
</histogram>
<histogram base="true" name="Availability.Prober.NumAttemptsBeforeSuccess"
units="count" expires_after="M95">
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the number of attempts that are made to achieve a successful probe
result. Only recorded on success. This metric is 1-based so if a probe
succeeds the first time, a sample of 1 will be recorded.
</summary>
</histogram>
<histogram base="true" name="Availability.Prober.ResponseCode"
enum="HttpResponseCode" expires_after="M95">
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the HTTP response code of a completed probe, when a HTTP response is
received.
</summary>
</histogram>
<histogram base="true" name="Availability.Prober.TimeUntilFailure2" units="ms"
expires_after="M95">
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the amount of time spent working on a single probe attempt to get to
a failed state. Recorded every time a probe fails.
</summary>
</histogram>
<histogram base="true" name="Availability.Prober.TimeUntilSuccess2" units="ms"
expires_after="M95">
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the amount of time spent working on a single probe attempt to get to
a successful state. Recorded every time a probe succeeds.
</summary>
</histogram>
<histogram name="Badging.AppBadgeUpdate.Mac.Result"
enum="UpdateAppBadgeMacResult" expires_after="M88">
<obsolete>
Removed in M88 as it's no longer needed.
</obsolete>
<owner>phillis@chromium.org</owner>
<owner>cmumford@chromium.org</owner>
<summary>The result from updating the app badge on macOS.</summary>
</histogram>
<histogram name="BatteryStatus.NumberBatteriesLinux"
enum="BatteryStatusNumberBatteries" expires_after="2021-02-18">
<owner>timvolodine@chromium.org</owner>
<owner>device-dev@chromium.org</owner>
<summary>
Number of batteries reported by the UPower service on Linux at the start of
the Battery Status API.
</summary>
</histogram>
<histogram name="BatteryStatus.NumberBatteriesMac"
enum="BatteryStatusNumberBatteries" expires_after="2021-02-18">
<owner>timvolodine@chromium.org</owner>
<summary>
Number of internal batteries reported by MacOS at the start of the Battery
Status API.
</summary>
</histogram>
<histogram name="BatteryStatus.NumberBatteriesWin"
enum="BatteryStatusNumberBatteriesWin" expires_after="2021-02-18">
<owner>timvolodine@chromium.org</owner>
<summary>
Number of batteries reported by Windows at the start of the Battery Status
API.
</summary>
</histogram>
<histogram name="BatteryStatus.StartAndroid" enum="BooleanSuccess"
expires_after="M92">
<owner>timvolodine@chromium.org</owner>
<owner>src/services/device/battery/OWNERS</owner>
<summary>
Whether the Battery Status API was successfully started up on Android.
</summary>
</histogram>
<histogram name="Blimp.Compositor.CommitSizeKb" units="KB" expires_after="M85">
<owner>shaktisahu@chromium.org</owner>
<summary>
Records the size of the uncompressed commit messages received by Blimp
compositor.
</summary>
</histogram>
<histogram name="Blimp.Connected" enum="BooleanConnected" expires_after="M85">
<owner>shaktisahu@chromium.org</owner>
<summary>
Records whether connection attempt to the Blimp engine was successful.
</summary>
</histogram>
<histogram name="Blimp.Supported" enum="BooleanSupported" expires_after="M85">
<owner>shaktisahu@chromium.org</owner>
<summary>Records whether Blimp is supported.</summary>
</histogram>
<histogram name="Blimp.Tab.Visible" enum="BooleanVisible" expires_after="M85">
<owner>shaktisahu@chromium.org</owner>
<summary>Records whenever a Blimp tab toggles visibility.</summary>
</histogram>
<histogram name="BlueZ.AdapterLost" units="seconds" expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records a duration of a Bluetooth adapter
being lost. This helps us better understand the Bluetooth controller drop
issue in the field.
</summary>
</histogram>
<histogram name="BlueZ.AdvertisementMonitor.NumOfMonitors" units="count"
expires_after="2021-12-31">
<owner>apusaka@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</owner>
<summary>
This is specific to Chrome OS. Records the number of active advertisement
monitors every couple of minutes. This helps us to gauge the additional
power requirement for the advertisement monitor feature.
</summary>
</histogram>
<histogram name="BlueZ.AdvertisementMonitor.{Filter}.FilterPatternsPerMinute"
units="count" expires_after="2021-12-31">
<owner>apusaka@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</owner>
<summary>
This is specific to Chrome OS. Records the number of advertisement packet
received in the user space while the advertisement monitor is done using
{Filter} filtering. This helps us to gauge the additional power requirement
for the advertisement monitor feature.
</summary>
<token key="Filter">
<variant name="MSFT"/>
<variant name="SW"/>
</token>
</histogram>
<histogram name="BlueZ.AdvertisementMonitor.{Filter}.{Operation}.Result"
enum="BlueZResultOfAdvertisementMonitor" expires_after="2021-12-31">
<owner>apusaka@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</owner>
<summary>
This is specific to Chrome OS. Records the outcome of {Operation} operation
of advertisement monitor when {Filter} filtering is used. This helps us to
verify the correctness of this feature as well as to point out possible
regression.
</summary>
<token key="Filter">
<variant name="MSFT"/>
<variant name="SW"/>
</token>
<token key="Operation">
<variant name="Add"/>
<variant name="Remove"/>
</token>
</histogram>
<histogram name="BlueZ.ChipLost2" units="seconds" expires_after="2021-12-31">
<owner>sonnysasaka@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records a duration of a Bluetooth adapter
being lost caused by hardware disconnection. This helps us better understand
the Bluetooth controller drop issue in the field.
</summary>
</histogram>
<histogram name="BlueZ.NumberOfExistingAdvertisements" units="advertisements"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the number of existing advertisements
when registering for a new advertisement. This helps us better understand
the common amount of advertisments used and the registration failures due to
the limited number of advertisement slots.
</summary>
</histogram>
<histogram name="BlueZ.PerProfile.ConnectionResult"
enum="BlueZResultOfPerProfileConnection" expires_after="2021-12-31">
<!-- Name completed by histogram_suffixes name="BlueZPerProfileResult" -->
<owner>mmandlik@google.com</owner>
<owner>chromeos-bt-platform-sw-core@google.com</owner>
<summary>
Records the outcome of bluetooth profile connection request to a remote
device. This helps to understand the percentage of successful profile
connections against failures and the causes of failures.
</summary>
</histogram>
<histogram name="BlueZ.PerProfile.ProbingResult"
enum="BlueZResultOfPerProfileProbing" expires_after="2021-12-31">
<!-- Name completed by histogram_suffixes name="BlueZPerProfileResult" -->
<owner>mmandlik@google.com</owner>
<owner>chromeos-bt-platform-sw-core@google.com</owner>
<summary>
Records the outcome of bluetooth profile probing while pairing with a remote
device. This helps to understand the percentage of successful profile
probing against failures and the causes of failures.
</summary>
</histogram>
<histogram name="BlueZ.ReasonOfDisconnection" enum="BlueZReasonOfDisconnection"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the reason of Bluetooth disconnection
between the local device and the remote Bluetooth device. This helps us
better understand the initiator of disconnection request.
</summary>
</histogram>
<histogram name="BlueZ.ResultOfAdvertisementRegistration"
enum="BlueZResultOfAdvertisementRegistration" expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the outcomes of advertisement
registration. This helps us better understand the persentage of successful
advertisements against failures and the causes of failures.
</summary>
</histogram>
<histogram name="BlueZ.ResultOfConnection" enum="BlueZResultOfConnection"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the outcomes of connection requests
to remote devices. This helps us better understand the persentage of
successful connections against failures and the causes of failures.
</summary>
</histogram>
<histogram name="BlueZ.ResultOfPairing" enum="BlueZResultOfPairing"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the outcomes of pairing with remote
devices. This helps us better understand the persentage of successful
pairing against failures and the causes of failures.
</summary>
</histogram>
<histogram name="BlueZ.TimeLengthOfAdvertisement" units="seconds"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the duration when the local device is
performing Bluetooth advertisment and discoverable as a Bluetooth Low Energy
device by other devices. This helps us better understand the amount of
successful advertisment sessions and the duration.
</summary>
</histogram>
<histogram name="BlueZ.TimeLengthOfDiscoverable" units="seconds"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the duration when the local device is
discoverable by other devices as a Bluetooth classic device. This helps us
better understand the amount of requests to expose the local device as a
Bluetooth classic device and the duration.
</summary>
</histogram>
<histogram name="BlueZ.TimeLengthOfDiscovering" units="seconds"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the duration for the local device to
perform device discovery. This helps us better understand the amount of
device discovery request and the duration for users to find the target
device.
</summary>
</histogram>
<histogram name="BlueZ.TimeLengthOfPairing" units="seconds"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the duration taken to finish a
successful pairing between the local device and a remote Bluetooth device.
This helps us better understand the latency of completing Bluetooth pairing.
</summary>
</histogram>
<histogram name="BlueZ.TimeLengthOfSetupConnection" units="seconds"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the duration taken to finish a
successful connection between the local device and a remote Bluetooth
device. This helps us better understand the latency of connecting to a
Bluetooth device.
</summary>
</histogram>
<histogram name="BlueZ.TypeOfDiscovery" enum="BlueZTypeOfDiscovery"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the types of device discovery
performed by the local device. This helps us better understand the most
common type of device discovery performed.
</summary>
</histogram>
<histogram name="BlueZ.TypeOfFoundDevice" enum="BlueZTypeOfFoundDevice"
expires_after="2021-12-31">
<owner>mcchou@chromium.org</owner>
<summary>
This is specific to Chrome OS. Records the types of discovered devices in
terms of Bluetooth classic, Bluetooth low energy and Dual-mode supports.
This helps us better understand the persentage of Bluetooth devices in terms
of type.
</summary>
</histogram>
<histogram name="BookmarkManager.CommandExecuted" enum="BookmarkManagerCommand"
expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
<owner>calamity@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
Logs when a user action triggers a command in the bookmark manager. Commands
can be triggered by keyboard shortcuts, menu items or other buttons in the
UI.
Revised in M-76 when the &quot;Open (double click/enter)&quot; bucket was
split into two separate buckets, one for bookmarks and one for folders.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram name="BookmarkManager.CommandMenuOpened"
enum="BookmarkManagerMenuSource" expires_after="2020-06-14">
<owner>calamity@chromium.org</owner>
<summary>
Logs where the menu was opened from when a user action opens the command
menu in the bookmark manager.
</summary>
</histogram>
<histogram name="BookmarkManager.NumDragged" units="bookmarks"
expires_after="M85">
<owner>calamity@chromium.org</owner>
<summary>
Logs the number of bookmarks that were dragged simultaneously by a user.
</summary>
</histogram>
<histogram name="BookmarkManager.ResultsRenderedTime" units="ms"
expires_after="2021-08-22">
<owner>calamity@chromium.org</owner>
<owner>dbeam@chromium.org</owner>
<summary>
Records the time taken to load the bookmarks Web UI and render. This is
roughly equivalent to 'time to first meaningful paint' for the bookmark
manager.
</summary>
</histogram>
<histogram name="Bookmarks.AddedPerProfileType" enum="BrowserProfileType"
expires_after="2021-10-04">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<summary>
This histogram records when a bookmark is added sliced on profile type.
This was not recorded for Android before M90. Reading list and partner
bookmarks aren't reported by it.
</summary>
</histogram>
<histogram name="Bookmarks.BookmarkAllTabsWithTabsCount.Incognito" units="tabs"
expires_after="2021-10-10">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<summary>
This histogram records the count of tabs when a user bookmarks all open
tabs, in incognito mode.
</summary>
</histogram>
<histogram name="Bookmarks.BookmarkAllTabsWithTabsCount.Regular" units="tabs"
expires_after="2021-10-04">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<summary>
This histogram records the count of tabs when a user bookmarks all open
tabs, in regular mode.
</summary>
</histogram>
<histogram name="Bookmarks.BookmarksBarStatus.OnReadingListOpened"
enum="BookmarkBarPrefAndState" expires_after="2021-10-17">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
This records the Boomarks bar pref state and status when the reading list is
opened. This will help determine how often the reading list is accessed from
the NTP where the bookmarks bar is always visible and the bookmark bar pref
state for those from the NTP. (Desktop only).
</summary>
</histogram>
<histogram name="Bookmarks.BookmarksInFolder" units="bookmarks"
expires_after="M85">
<owner>calamity@chromium.org</owner>
<summary>
Logs the number of bookmark items inside a folder every time a folder is
opened inside the bookmark manager.
</summary>
</histogram>
<histogram name="Bookmarks.BottomSheet.DestinationFolder" enum="BookmarkType"
expires_after="M91">
<owner>shaktisahu@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
Logs the destination directory chosen by the user when saving a bookmark via
bottom sheet on Android.
</summary>
</histogram>
<histogram name="Bookmarks.Count.OnProfileLoad" units="bookmarks"
expires_after="2021-10-10">
<owner>supertri@chromium.org</owner>
<owner>isherman@chromium.org</owner>
<owner>aidanday@google.com</owner>
<owner>mamir@chromium.org</owner>
<summary>
The total number of bookmarks a user has saved, excluding folders. Recorded
when a profile is opened - precisely, when bookmarks are loaded into storage
from disk. The count includes all bookmarks both in the &quot;Bookmarks
Bar&quot; and also under &quot;Other Bookmarks&quot;.
</summary>
</histogram>
<histogram name="Bookmarks.Count.OnProfileLoad.DuplicateUrl" units="bookmarks"
expires_after="2021-04-04">
<obsolete>
Replaced with Bookmarks.Count.OnProfileLoad.DuplicateUrl2 as of 11/2020 to
provide more granular buckets above 10K duplicates
</obsolete>
<owner>mamir@chromium.org</owner>
<owner>mastiz@chromium.org</owner>
<summary>
The number of bookmarks a user has saved with a URL that is also present in
at least one other bookmark. This excludes folders (which don't have a URL).
Recorded when bookmarks are loaded into storage from disk if there is at
least one duplicate.
</summary>
</histogram>
<histogram name="Bookmarks.Count.OnProfileLoad.Duplicate{UniquenessCriterion}"
units="bookmarks" expires_after="2021-06-06">
<owner>mastiz@chromium.org</owner>
<owner>sky@chromium.org</owner>
<summary>
The number of bookmarks a user has saved with a {UniquenessCriterion} that
is also present in at least one other bookmark. This excludes not only
folders (which don't have a URL) but it also excludes one bookmark per
unique {UniquenessCriterion} (that is, all except one are considered
duplicates). Recorded when bookmarks are loaded into storage from disk if
there is at least one duplicate.
</summary>
<token key="UniquenessCriterion">
<variant name="Url2" summary="URL"/>
<variant name="UrlAndTitle" summary="URL-title pair"/>
<variant name="UrlAndTitleAndParent" summary="URL-title-parent triple"/>
</token>
</histogram>
<histogram name="Bookmarks.Count.OnProfileLoad.Unique{UniquenessCriterion}"
units="bookmarks" expires_after="2021-06-06">
<owner>mastiz@chromium.org</owner>
<owner>sky@chromium.org</owner>
<summary>
The number of unique {UniquenessCriterion}s among bookmarks saved by the
user. Recorded when bookmarks are loaded into storage from disk.
</summary>
<token key="UniquenessCriterion">
<variant name="Url" summary="URL"/>
<variant name="UrlAndTitle" summary="URL-title pair"/>
<variant name="UrlAndTitleAndParent" summary="URL-title-parent triple"/>
</token>
</histogram>
<histogram name="Bookmarks.Count.OpenInIncognito" units="bookmarks"
expires_after="M82">
<owner>twellington@google.com</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Records the number of bookmarks which are opened using the &quot;Open in
incognito tab&quot; button from selection mode in the Android bookmark
manager.
</summary>
</histogram>
<histogram name="Bookmarks.Count.OpenInNewTab" units="bookmarks"
expires_after="M82">
<owner>twellington@google.com</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Records the number of bookmarks which are opened using the &quot;Open in new
tab&quot; button from selection mode in the Android bookmark manager.
</summary>
</histogram>
<histogram name="Bookmarks.CreateBookmarkIndexTime" units="ms"
expires_after="M88">
<obsolete>
Removed in M88.
</obsolete>
<owner>mastiz@chromium.org</owner>
<owner>sky@chromium.org</owner>
<summary>
Time taken to build the bookmark index. Logged upon profile load when the
bookmarks JSON file is read.
</summary>
</histogram>
<histogram name="Bookmarks.DecodeTime" units="ms" expires_after="M88">
<obsolete>
Removed in M88.
</obsolete>
<owner>mastiz@chromium.org</owner>
<owner>sky@chromium.org</owner>
<summary>
Time taken to decode the bookmarks JSON file. Logged upon profile load when
the bookmarks JSON file is read.
</summary>
</histogram>
<histogram name="Bookmarks.DuplicateAndEmptyTitleDetectionTime" units="ms"
expires_after="2019-09-24">
<obsolete>
Removed in M88.
</obsolete>
<owner>mamir@chromium.org</owner>
<owner>mastiz@chromium.org</owner>
<summary>
Time to compute values to be logged for UMA metrics
Bookmarks.Count.OnProfileLoad.*.
</summary>
</histogram>
<histogram name="Bookmarks.EntryPoint" enum="BookmarksEntryPoint"
expires_after="2021-08-29">
<owner>ianwen@chromium.org</owner>
<summary>How users add a new bookmark.</summary>
</histogram>
<histogram name="Bookmarks.LaunchLocation" enum="BookmarkLaunchLocation"
expires_after="2021-08-22">
<owner>ianwen@chromium.org</owner>
<summary>Logs a UI location from which a bookmark is launched.</summary>
</histogram>
<histogram name="Bookmarks.OnFaviconsChangedIconURL" enum="BooleanHit"
expires_after="M77">
<owner>pkotwicz@chromium.org</owner>
<summary>
Logs how frequently BookmarkModel::OnFaviconsChanged() is called with a
non-empty |icon_url| to determine whether BookmarkNodes should be cached
based on their favicon URLs (e.g. http://www.google.com/favicon.ico) in
addition to their page URLs (e.g. http://www.google.com). OnFaviconChanged()
is expected to be called less than 10 times per user per day with a
non-empty |icon_url|.
</summary>
</histogram>
<histogram name="Bookmarks.OpenBookmarkManager.PerProfileType"
enum="BrowserProfileType" expires_after="2022-03-01">
<owner>roagarwal@chromium.org</owner>
<owner>chrome-incognito@google.com</owner>
<summary>
This records the number of times the bookmark manager is opened from regular
or Incognito tab. This histogram only records the count from
ChromeTabbedActivity where we actually have the Bookmark manager UI.
Recorded when the bookmark menu item is clicked in Android.
</summary>
</histogram>
<histogram name="Bookmarks.OpenBookmarkTimeInterval.{BookmarkType}" units="ms"
expires_after="2022-02-15">
<obsolete>
Deprecated March 2021
</obsolete>
<owner>dtrainor@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
Logs the duration in milliseconds between bookmark creation time and
bookmark open time based on device local time. Recorded when {BookmarkType}
is opened. Bookmark folder is not considered. The creation and open can
happen on different runs of Chrome.
</summary>
<token key="BookmarkType">
<variant name="Normal" summary="a normal bookmark."/>
<variant name="Partner" summary="a partner bookmark."/>
<variant name="ReadingList" summary="a reading list article."/>
</token>
</histogram>
<histogram name="Bookmarks.OpenBookmarkTimeInterval2.{BookmarkType}" units="ms"
expires_after="2022-02-15">
<owner>dtrainor@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
A new version of Bookmarks.OpenBookmarkTimeInterval.{BookmarkType}, to rule
out corrupted data introduced by a timestamp bug.
</summary>
<token key="BookmarkType">
<variant name="Normal" summary="a normal bookmark."/>
<variant name="Partner" summary="a partner bookmark."/>
<variant name="ReadingList" summary="a reading list article."/>
</token>
</histogram>
<histogram name="Bookmarks.OpenBookmarkType" enum="BookmarkType"
expires_after="2021-10-04">
<owner>wychen@chromium.org</owner>
<summary>
Logs whether the bookmark entry is a user bookmark or a partner bookmark
when it is opened.
</summary>
</histogram>
<histogram name="Bookmarks.ReadingList.NumberOfItems" units="items"
expires_after="2021-10-04">
<owner>shaktisahu@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
Logs the total number of reading list items shown in the reading list on the
Android Bookmarks page when it is opened.
</summary>
</histogram>
<histogram name="Bookmarks.ReadingList.NumberOfReadItems" units="items"
expires_after="2021-09-19">
<owner>shaktisahu@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
Logs the number of read items shown in the reading list on the Android
Bookmarks page when it is opened.
</summary>
</histogram>
<histogram name="Bookmarks.ReadingList.NumberOfUnreadItems" units="items"
expires_after="2021-10-10">
<owner>shaktisahu@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
Logs the number of unread items shown in the reading list on the Android
Bookmarks page when it is opened.
</summary>
</histogram>
<histogram name="Bookmarks.StarEntryPoint.ClickedAction"
enum="StarEntryPointAction" expires_after="2021-10-10">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
Recorded when an action in the Bookmark icon menu is clicked.
</summary>
</histogram>
<histogram name="Bookmarks.UsageCountPerProfileType" enum="BrowserProfileType"
expires_after="2021-10-04">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<summary>
The number of times bookmarks are used in each profile type. Recorded when a
bookmark is clicked.
</summary>
</histogram>
<histogram name="BootTime.Total2" units="ms" expires_after="2021-08-29">
<owner>bccheng@chromium.org</owner>
<owner>semenzato@chromium.org</owner>
<summary>Time from power on to login panel ready (Chrome OS).</summary>
</histogram>
<histogram name="BrotliFilter.CompressionPercent" units="%"
expires_after="2021-10-17">
<owner>eustas@chromium.org</owner>
<summary>Compressed/Decompressed size ratio.</summary>
</histogram>
<histogram name="BrotliFilter.ErrorCode" enum="BrotliFilterErrorCode"
expires_after="M85">
<owner>eustas@chromium.org</owner>
<summary>More detailed failure reason.</summary>
</histogram>
<histogram name="BrotliFilter.Status" enum="BrotliFilterDecodingStatus"
expires_after="M81">
<owner>eustas@chromium.org</owner>
<summary>The final state of BrotliFilter.</summary>
</histogram>
<histogram name="BrotliFilter.UsedMemoryKB" units="KiB" expires_after="M77">
<owner>eustas@chromium.org</owner>
<summary>Maximal amount of memory allocated by decoder.</summary>
</histogram>
<histogram name="Canvas.TextMetrics.SetFont" units="microseconds"
expires_after="2022-01-31">
<owner>yiyix@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Time spent in microseconds to perform calls to SetFont in Canvas for
Canvas2d. It's measured each time SetFont is called.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="CaptivePortal.DetectionResultSincePortal"
enum="BooleanPresent" expires_after="M86">
<obsolete>
Retired in M87.
</obsolete>
<owner>stevenjb@chromium.org</owner>
<owner>cros-network-health@google.com</owner>
<summary>
Within one minute of the default network reporting a portal network, if we
see an offline detection result, it is likely the client got blacklisted.
Record the boolean rate that Chrome observes offline vs non-offline
detection results. See go/bad-portal for client blacklisting problem.
</summary>
</histogram>
<histogram name="CaptivePortal.DetectResult" enum="CaptivePortalDetectResult"
expires_after="2021-08-01">
<owner>meacer@chromium.org</owner>
<summary>Records the result of a captive portal probe.</summary>
</histogram>
<histogram name="CaptivePortal.NetworkPortalDetectorResult"
enum="NetworkPortalStatus" expires_after="2021-09-27">
<owner>stevenjb@chromium.org</owner>
<owner>cros-network-health@google.com</owner>
<summary>Chrome captive portal detection results on Chrome OS.</summary>
</histogram>
<histogram name="CaptivePortal.NetworkPortalDetectorType"
enum="NetworkTechnology" expires_after="2021-09-27">
<owner>stevenjb@chromium.org</owner>
<owner>cros-network-health@google.com</owner>
<summary>
Captive portal detection network type recorded when Chrome on Chrome OS
detects a captive portal.
</summary>
</histogram>
<histogram name="CaptivePortal.NetworkStateResult"
enum="CaptivePortalNetworkState" expires_after="2021-04-01">
<owner>stevenjb@chromium.org</owner>
<owner>cros-network-health@google.com</owner>
<summary>
Captive portal detection state from Shill received by NetworkState.
</summary>
</histogram>
<histogram name="CaptivePortal.NetworkStateStatusCode" enum="HttpResponseCode"
expires_after="2021-04-01">
<owner>stevenjb@chromium.org</owner>
<owner>cros-network-health@google.com</owner>
<summary>
Captive portal status code reported by Shill and received by NetworkState.
</summary>
</histogram>
<histogram name="CaptivePortal.ProbeReason" enum="CaptivePortalProbeReason"
expires_after="2021-08-09">
<owner>ericorth@chromium.org</owner>
<owner>doh-core@google.com</owner>
<owner>cros-networking@google.com</owner>
<summary>
Reason for attempting a captive portal probe. This is logged only when a
probe HTTP request is made. If there are multiple reasons that triggered
this probe, only the first is logged.
</summary>
</histogram>
<histogram name="Cast.Channel.Certificate" enum="CastCertificateStatus"
expires_after="never">
<!-- expires-never: Used for Cast device health monitoring. -->
<owner>ryanchung@google.com</owner>
<summary>
Records the result of the Cast certificate verification on the Cast sender.
</summary>
</histogram>
<histogram name="Cast.Channel.Nonce" enum="CastNonceStatus"
expires_after="never">
<!-- expires-never: Used for Cast device health monitoring. -->
<owner>ryanchung@google.com</owner>
<summary>
Records whether the correct nonce challenge was in the Cast receiver's
response.
</summary>
</histogram>
<histogram name="Cast.Channel.Signature" enum="CastSignatureStatus"
expires_after="never">
<!-- expires-never: Used for Cast device health monitoring. -->
<owner>ryanchung@google.com</owner>
<summary>
Records whether the signature returned by the Cast receiver is verifiable
with the challenge and device certificate.
</summary>
</histogram>
<histogram name="Cast.Network.Down.Duration.In.Seconds" units="seconds"
expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<owner>cast-analytics@google.com</owner>
<summary>
Records the time the network has been down on a Cast device. Recorded when
network goes up.
</summary>
</histogram>
<histogram name="Cast.Network.Up.Duration.In.Minutes" units="minutes"
expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<owner>cast-analytics@google.com</owner>
<summary>
Records the time the network has been up on a Cast device. Recorded when
network goes down.
</summary>
</histogram>
<histogram name="Cast.Sender.CastMediaType" enum="MediaContainers"
expires_after="2022-02-01">
<owner>takumif@chromium.org</owner>
<owner>mfoltz@chromium.org</owner>
<owner>openscreen-eng@google.com</owner>
<summary>Records the media type of every video being cast.</summary>
</histogram>
<histogram name="Cast.Sender.CastPlayerResult" enum="CastPlayBackState"
expires_after="M85">
<obsolete>
Removed September 2020 as it's no longer being collected.
</obsolete>
<owner>maybelle@chromium.org</owner>
<owner>miguelg@chromium.org</owner>
<summary>
Records the result of a request to play remotely on a per player app basis
within Chrome for Android.
</summary>
</histogram>
<histogram name="Cast.Sender.CastTimeRemainingPercentage" units="%"
expires_after="2021-07-01">
<obsolete>
Deprecated as of 2021/02 as it's not been collected for a while due to
refactoring. A new metrics,
&quot;Cast.Sender.Clank.CastTimeRemainingPercentage&quot; now collects the
same data but at a different location.
</obsolete>
<owner>mfoltz@chromium.org</owner>
<owner>openscreen-eng@google.com</owner>
<summary>
Records the percentage of the video left at the time the remote playback is
stopped. This will be recorded when the playback is stopped by the user, or
when it's stopped by the cast device.
</summary>
</histogram>
<histogram name="Cast.Sender.Clank.CastTimeRemainingPercentage" units="count"
expires_after="2022-02-09">
<owner>muyaoxu@google.com</owner>
<owner>openscreen-eng@google.com</owner>
<summary>
Records the percentage of the video left at the time the remote playback is
stopped. This will be recorded when the playback is stopped by the user, or
when it's stopped by the cast device. To reduce the number of empty buckets,
the result is rounded and a value of 1 means 10%.
</summary>
</histogram>
<histogram name="Cast.Sender.Clank.FullscreenControlsAction"
enum="MediaCommand" expires_after="2022-02-09">
<owner>muyaoxu@google.com</owner>
<owner>openscreen-eng@google.com</owner>
<summary>
Record each interaction with the fullscreen remote playback controls on
Clank.
</summary>
</histogram>
<histogram name="Cast.Sender.Clank.NotificationControlsAction"
enum="CastNotificationControls" expires_after="2022-02-09">
<owner>muyaoxu@google.com</owner>
<owner>openscreen-eng@google.com</owner>
<summary>
Record each interaction with the cast notification controls on Clank.
</summary>
</histogram>
<histogram name="Cast.Sender.Clank.SessionTimeWithoutMediaElementPercentage"
units="count" expires_after="2022-02-09">
<owner>muyaoxu@google.com</owner>
<owner>openscreen-eng@google.com</owner>
<summary>
Records the ratio of the time the media element was detached from the remote
playback session to the total duration of the session (as from when the
element has been attached till when the session stopped or disconnected). To
reduce the number of empty buckets, the result is rounded and a value of 1
means 10%.
</summary>
</histogram>
<histogram name="Cast.Sender.DeviceType" enum="RemotePlaybackDeviceType"
expires_after="2021-06-01">
<obsolete>
Deprecated as of 2021/02 as it's not been collected for a while due to
refactoring.
</obsolete>
<owner>tguilbert@google.com</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Records the type of the remote playback device selected by the user. This
will be recorded when the user has chosen the device from the media route
chooser dialog.
</summary>
</histogram>
<histogram name="Cast.Sender.FullscreenControlsActionWithMediaElement"
enum="MediaCommand" expires_after="2021-06-01">
<obsolete>
Deprecated as of 2021/02 as it's not been collected for a while due to
refactoring.
</obsolete>
<owner>tguilbert@google.com</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Record each interaction with the fullscreen remote playback controls in
cases when the corresponding media element on the page was present.
</summary>
</histogram>
<histogram name="Cast.Sender.FullscreenControlsActionWithoutMediaElement"
enum="MediaCommand" expires_after="2021-06-01">
<obsolete>
Deprecated as of 2021/02 as it's not been collected for a while due to
refactoring.
</obsolete>
<owner>tguilbert@google.com</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Record each interaction with the fullscreen remote playback controls in
cases when the corresponding media element on the page was not present.
</summary>
</histogram>
<histogram name="Cast.Sender.MediaElementPresentWhenShowFullscreenControls"
enum="BooleanPresent" expires_after="2021-06-01">
<obsolete>
Deprecated as of 2021/02 as it's not been collected for a while due to
refactoring.
</obsolete>
<owner>tguilbert@google.com</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Indicates whether the corresponding media element on the page was present
when the fullscreen remote playback controls were shown.
</summary>
</histogram>
<histogram name="Cast.Sender.RemotePlayback.InitiationLocation"
enum="RemotePlaybackInitiationLocation" expires_after="2022-01-05">
<owner>muyaoxu@google.com</owner>
<owner>openscreen-eng@google.com</owner>
<summary>
Records where the user started RemotePlayback on Clank. This does not
include RemotePlayback sessions initiated through the Cast SDK.
</summary>
</histogram>
<histogram name="Cast.Sender.SessionTimeWithoutMediaElementPercentage"
units="%" expires_after="2021-06-01">
<obsolete>
Deprecated as of 2021/02 as it's not been collected for a while due to
refactoring. A new metrics,
&quot;Cast.Sender.Clank.SessionTimeWithoutMediaElementPercentage&quot; now
collects the same data but at a different location.
</obsolete>
<owner>tguilbert@google.com</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Records the ratio of the time the media element was detached from the remote
playback session to the total duration of the session (as from when the
element has been attached till when the session stopped or disconnected), in
percents.
</summary>
</histogram>
<histogram name="Cast.Sender.UrlResolveResult"
enum="RemotePlaybackUrlResolveResult" expires_after="2021-06-01">
<obsolete>
Deprecated as of 2021/02 as it's not been collected for a while due to
refactoring.
</obsolete>
<owner>tguilbert@google.com</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Records the result of resolving the video URL for cast, including checking
its CORS header.
</summary>
</histogram>
<histogram name="Cast.Sender.VideoEncodeAcceleratorInitializeSuccess"
enum="BooleanSuccess" expires_after="2021-10-17">
<owner>posciak@chromium.org</owner>
<summary>
Indicates whether initialization of a video encode accelerator for Cast
sender was successful.
</summary>
</histogram>
<histogram name="CastV2.Transport.Connect.Latency.Unknown" units="ms"
expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<owner>cast-analytics@google.com</owner>
<summary>
The latency between when a Cast V2 connection is established and the first
message is received on that connection. &quot;Unknown&quot; is the peer
type, which is not known at this point in the CastV2 connection
establishment. Naming conforms to the CastV2 sender-side histogram naming
convention &quot;CastV2.[action].[name].[peer_type]&quot;.
</summary>
</histogram>
<histogram name="CastV2.Transport.SslHandshake.Error.Unknown"
enum="NetErrorCodes" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<owner>cast-analytics@google.com</owner>
<summary>
On accepting a Cast V2 transport socket connection, if an error is
encountered, the error code is logged here. &quot;Unknown&quot; is the peer
type, which is not known at this point in the CastV2 connection
establishment. &quot;SslHandshake.Error&quot; is the name of the action.
Naming conforms to the CastV2 sender-side histogram naming convention
&quot;CastV2.[action].[name].[peer_type]&quot;.
</summary>
</histogram>
<histogram name="CastV2.Transport.SslHandshake.Unknown" units="ms"
expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<owner>cast-analytics@google.com</owner>
<summary>
The time taken to do the handshake during Cast V2 transport socket creation.
&quot;Unknown&quot; is the peer type, which is not known at this point in
the CastV2 connection establishment. Naming conforms to the CastV2
sender-side histogram naming convention
&quot;CastV2.[action].[name].[peer_type]&quot;.
</summary>
</histogram>
<histogram name="CertificateType2" units="units" expires_after="never">
<!-- expires-never: histograms are used to assess policy -->
<!-- https://crbug.com/732640#c5 -->
<owner>rsleevi@chromium.org</owner>
<summary>
Information about the certificate algorithms and sizes in use on the web, to
examine compliance with the CA/Browser Forum requirements and security best
practice. This histogram considers the notBefore as the issuance date, for
purposes of what requirements apply.
</summary>
</histogram>
<histogram name="ChildAccountReconcilor.ForcedUserExitOnReconcileError"
enum="BooleanHit" expires_after="2021-10-04">
<owner>sinhak@chromium.org</owner>
<owner>escordeiro@chromium.org</owner>
<summary>
Number of forced logouts for child accounts on an account reconciliation
error. Check |ChromeOSChildAccountReconcilorDelegate|.
</summary>
</histogram>
<histogram name="ChildProcess.BadMessgeTerminated" enum="ProcessType2"
expires_after="M81">
<owner>jam@chromium.org</owner>
<summary>
Count of child processes killed because they sent an IPC that couldn't be
deserialized.
</summary>
</histogram>
<histogram name="ChildProcess.Crashed.UtilityProcessExitCode"
enum="WindowsExitCode" expires_after="never">
<!-- expires-never: Critical stability metrics. go/chrome-stability-metrics -->
<owner>wfh@chromium.org</owner>
<owner>chrome-stability-core@google.com</owner>
<summary>
Recorded when a crash occurs in a Utility process. On crash, the exit code
will indicate the exception code of the crash.
</summary>
</histogram>
<histogram name="ChildProcess.Crashed.UtilityProcessHash"
enum="UtilityProcessNameHash" expires_after="2021-10-17">
<owner>wfh@chromium.org</owner>
<owner>chrome-stability-core@google.com</owner>
<summary>
Count of child utility process crashes, bucketed by the hash of their
process name. The process name is typically the service name of the mojo
service.
</summary>
</histogram>
<histogram name="ChildProcess.Crashed2" enum="ProcessType2"
expires_after="never">
<!-- expires-never: Critical stability metrics. go/chrome-stability-metrics -->
<owner>wfh@chromium.org</owner>
<owner>chrome-stability-core@google.com</owner>
<summary>Count of child process crashes grouped by process type.</summary>
</histogram>
<histogram name="ChildProcess.Disconnected2" enum="ProcessType2"
expires_after="2020-04-26">
<owner>wfh@chromium.org</owner>
<summary>
Count of child process abnormal channel disconnects grouped by process type.
</summary>
</histogram>
<histogram name="ChildProcess.DisconnectedAlive2" enum="ProcessType2"
expires_after="never">
<!-- expires-never: For monitoring stability regressions. -->
<owner>wfh@chromium.org</owner>
<summary>
Count of child process abnormal channel disconnects that are not classified
and reported because we took the exit code too early. Grouped by process
type.
</summary>
</histogram>
<histogram name="ChildProcess.FieldTrials.CreateFromShmemSuccess"
enum="BooleanSuccess" expires_after="M72">
<owner>asvitkine@chromium.org</owner>
<summary>
Whether creating field trials from shared memory succeeded. Recorded by each
child process on process startup.
</summary>
</histogram>
<histogram name="ChildProcess.FieldTrials.CreateFromSwitchSuccess"
enum="BooleanSuccess" expires_after="M72">
<owner>asvitkine@chromium.org</owner>
<summary>
Whether creating field trials from --force-fieldtrials switch succeeded.
Recorded by each child process on process startup.
</summary>
</histogram>
<histogram name="ChildProcess.HungRendererAvailableMemoryMB" units="MB"
expires_after="2020-05-31">
<owner>cduvall@chromium.org</owner>
<owner>cmumford@chromium.org</owner>
<summary>
The amount of avaiable memory when a renderer hangs. Recorded for every
renderer hang.
</summary>
</histogram>
<histogram name="ChildProcess.HungRendererInForeground"
enum="BooleanForeground" expires_after="2020-12-13">
<owner>cduvall@chromium.org</owner>
<owner>cmumford@chromium.org</owner>
<summary>
Whether a renderer hang happened in the foreground or background. Recorded
for every renderer hang on Android.
</summary>
</histogram>
<histogram name="ChildProcess.Killed2" enum="ProcessType2"
expires_after="never">
<!-- expires-never: Critical stability metrics. go/chrome-stability-metrics -->
<owner>wfh@chromium.org</owner>
<owner>chrome-stability-core@google.com</owner>
<summary>Count of child process kills grouped by process type.</summary>
</histogram>
<histogram name="ChildProcess.Killed2.OOM" enum="ProcessType2"
expires_after="2020-11-08">
<owner>oshima@chromium.org</owner>
<summary>
Out of ChildProcess.Killled, number of kills due to SIGKILL, which is a
strong signal of out of memory on Chrome OS, grouped by process type.
</summary>
</histogram>
<histogram name="ChildProcess.KilledByExtensionAPI" units="units"
expires_after="M81">
<owner>nasko@chromium.org</owner>
<summary>
Count of child processes killed by the extension API (processes.terminate).
</summary>
</histogram>
<histogram name="ChildProcess.Launched.UtilityProcessHash"
enum="UtilityProcessNameHash" expires_after="2021-10-10">
<owner>wfh@chromium.org</owner>
<summary>
Count of child utility process launches, bucketed by the hash of their
process name. The process name is typically the service name of the mojo
service.
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.BrowserLoadTime" units="ms"
expires_after="M99">
<owner>rsesek@chromium.org</owner>
<summary>
The amount of time it took to load the native libraries in the browser
process.
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.RelroAvailableImmediately"
enum="BooleanRelroAvailableImmediately" expires_after="2021-07-07">
<owner>lizeb@chromium.org</owner>
<owner>pasko@chromium.org</owner>
<summary>
Recorded when RELRO is replaced with a shared memory region, in all
processes consuming RELRO. Indicates whether the shared RELRO was available
synchronously right after the native library was loaded. ModernLinker only.
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.RelroProvidedSuccessfully"
enum="BooleanSuccess" expires_after="2021-07-07">
<owner>lizeb@chromium.org</owner>
<owner>pasko@chromium.org</owner>
<summary>
Recorded when the native library is loaded by the Chromium linker, and an
attempt to spawn a shared RELRO region is made. Indicates whether the
attempt was a success. If the number of samples from
&quot;ChromiumAndroidLinker.RelroAvailableImmediately&quot; where the
availability was not immediate is large compared to the counts of successful
RELRO spawns, it would indicate potential startup performance improvements
when starting child process(es) during early browser startup phases.
ModernLinker only.
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.RelroSharingStatus"
enum="RelroSharingStatus" expires_after="2021-05-06">
<owner>lizeb@chromium.org</owner>
<owner>pasko@chromium.org</owner>
<summary>
Recorded when RELRO is replaced with a shared memory region, in all
processes consuming RELRO. Indicates whether the replacement was a success.
ModernLinker only.
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.RendererLoadTime" units="ms"
expires_after="M99">
<owner>rsesek@chromium.org</owner>
<summary>
The amount of time it took to load the native libraries in the renderer
process.
</summary>
</histogram>
<histogram name="Chromoting.Connections" enum="State"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
Recorded every time a Chromoting connection enters a new state.
</summary>
</histogram>
<histogram name="Chromoting.Connections.Durations.Closed" units="minutes"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
The duration of sessions that were closed, normally by a user-initiated
action.
</summary>
</histogram>
<histogram name="Chromoting.Connections.Durations.Failed" units="minutes"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>The duration of sessions that failed to connect.</summary>
</histogram>
<histogram name="Chromoting.Connections.Times.ToAuthenticate" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
The time taken to authenticate as part of a Chromoting connection request.
</summary>
</histogram>
<histogram name="Chromoting.Connections.Times.ToConnect" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
The time taken to connect to a remote-host, after a request has been
authenticated.
</summary>
</histogram>
<histogram name="Chromoting.Input.EventLatency" units="microseconds"
expires_after="M81">
<owner>joedow@chromium.org</owner>
<owner>lambroslambrou@chromium.org</owner>
<summary>
Input event delivery latency from the browser to the plugin.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Chromoting.Video.Bandwidth" units="Bytes/second"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
The bandwidth of non-empty packets in Chromoting remote sessions, updated
every time a video packet is processed and logged every 1s.
</summary>
</histogram>
<histogram name="Chromoting.Video.CaptureLatency" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
The time to capture a video frame on the host, returned as part of a video
packet.
</summary>
</histogram>
<histogram name="Chromoting.Video.CaptureOverhead" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
Amount of time wasted on IPC and threading overhead when capturing a video
frame.
</summary>
</histogram>
<histogram name="Chromoting.Video.CapturePendingLatency" units="ms"
expires_after="M85">
<owner>joedow@chromium.org</owner>
<owner>lambroslambrou@chromium.org</owner>
<summary>
The time from when an input event is received to when the next frame is
captured.
</summary>
</histogram>
<histogram name="Chromoting.Video.DecodeLatency" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>The time to decode a video packet on the client.</summary>
</histogram>
<histogram name="Chromoting.Video.EncodeLatency" units="ms" expires_after="M85">
<owner>joedow@chromium.org</owner>
<owner>lambroslambrou@chromium.org</owner>
<summary>
The time to encode a video packet on the host, returned as part of a video
packet.
</summary>
</histogram>
<histogram name="Chromoting.Video.EncodePendingLatency" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
Delay before a newly captured frame is passed to the encoder.
</summary>
</histogram>
<histogram name="Chromoting.Video.FrameRate" units="fps" expires_after="M81">
<owner>joedow@chromium.org</owner>
<owner>lambroslambrou@chromium.org</owner>
<summary>
The frame-rate of non-empty packets in Chromoting remote sessions, updated
every time a video packet is processed and logged every 1s.
</summary>
</histogram>
<histogram name="Chromoting.Video.NetworkLatency" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
Estimated network roundtrip latency calculated by subtracting total
processing time on host and client from the total roundtrip time.
</summary>
</histogram>
<histogram name="Chromoting.Video.PacketRate" units="packets/second"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
The packets/sec, including empty packets, in Chromoting remote sessions,
updated every time a video packet is processed and logged every 1s.
</summary>
</histogram>
<histogram name="Chromoting.Video.PaintLatency" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>The time to paint a decoded video packet on the client.</summary>
</histogram>
<histogram name="Chromoting.Video.RoundTripLatency" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
The time from an input being sent from the client to a response being
received by the client after it is processed by the host.
</summary>
</histogram>
<histogram name="Chromoting.Video.SendPendingLatency" units="ms"
expires_after="2018-08-30">
<owner>jamiewalch@chromium.org</owner>
<summary>
Delay before an encoded video packet is written to the send buffer.
</summary>
</histogram>
<histogram name="clickjacking.save_download" units="ms" expires_after="M77">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
The length of time between a dangerous download appearing on the download
shelf, and the &quot;Keep&quot; button being clicked.
</summary>
</histogram>
<histogram name="ClientHints.CriticalCHRestart" enum="CriticalCHRestart"
expires_after="2021-08-22">
<owner>aarontag@chromium.org</owner>
<owner>yoavweiss@chromium.org</owner>
<summary>
Count of requests restarted because of the Critical-CH response header.
</summary>
</histogram>
<histogram name="ClientHints.PersistDuration" units="ms"
expires_after="2021-08-22">
<owner>yoavweiss@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<owner>mkwst@chromium.org</owner>
<owner>aarontag@chromium.org</owner>
<summary>
Duration for which the origin requested the client hints to be persisted.
Collected on the renderer side.
</summary>
</histogram>
<histogram name="ClientHints.UpdateEventCount" units="count"
expires_after="2021-08-22">
<owner>yoavweiss@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<owner>mkwst@chromium.org</owner>
<owner>aarontag@chromium.org</owner>
<summary>
Count of events when the client hints needs to be persisted to the disk by
the browser.
</summary>
</histogram>
<histogram name="ClientHints.UpdateSize" units="count"
expires_after="2021-08-22">
<owner>yoavweiss@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<owner>mkwst@chromium.org</owner>
<owner>aarontag@chromium.org</owner>
<summary>
Count of client hints that need to be persisted to the disk. Recorded by the
renderer.
</summary>
</histogram>
<histogram name="Clipboard.ExtensionContentScriptReadHasUserActivation"
units="proportion" expires_after="2021-08-09">
<obsolete>
Removed February 2021 as enough data was collected.
</obsolete>
<owner>huangdarwin@chromium.org</owner>
<owner>src/third_party/blink/renderer/modules/clipboard/OWNERS</owner>
<summary>
For calls to document.execCommand('paste') by extensions via content
scripts, record the proportion of calls with user activation.
</summary>
</histogram>
<histogram name="Clipboard.Read" enum="ClipboardFormatRead"
expires_after="2021-09-12">
<owner>huangdarwin@chromium.org</owner>
<owner>src/ui/base/clipboard/OWNERS</owner>
<summary>
Counts how often each Clipboard format is read by the platform clipboard.
These reads generally imply that an application requested this format after
checking that the format is available, but there are some cases where Chrome
reads a format to check for existence (outside the
ui::Clipboard::ReadAvailableTypes() function). Please prefer interpreting
these numbers as relative use changes, as opposed to absolute user usage.
</summary>
</histogram>
<histogram name="Clipboard.RegisterClipboardFormatFailure" units="count"
expires_after="2021-01-01">
<owner>huangdarwin@chromium.org</owner>
<owner>src/ui/base/clipboard/OWNERS</owner>
<summary>
Counts how often the Windows clipboard fails to register a format. Recorded
when RegisterClipbaordFormat fails (returns 0). Failure rates will inform
whether we implement error handling. https://crbug.com/1000919
</summary>
</histogram>
<histogram name="Clipboard.Write" enum="ClipboardFormatWrite"
expires_after="2021-09-12">
<owner>huangdarwin@chromium.org</owner>
<owner>src/ui/base/clipboard/OWNERS</owner>
<summary>
Counts how often each Clipboard format is written by the platform clipboard.
These writes all imply that an application had this format available, and
therefore wrote this format.
</summary>
</histogram>
<histogram name="Clipboard.X11StoreCopyPasteDuration" units="ms"
expires_after="M95">
<owner>dcheng@chromium.org</owner>
<owner>pkotwicz@chromium.org</owner>
<summary>
The length of time that it takes to transfer ownership of Chrome's CLIPBOARD
selection to the clipboard manager when Chrome exits.
</summary>
</histogram>
<histogram name="ComponentUpdater.Calls" enum="ComponentUpdaterCalls"
expires_after="2020-12-20">
<owner>sorin@chromium.org</owner>
<summary>
The number of times the component updater called UpdateClient::Install or
UpdateClient::Update. These correspond to the number of manual component
update checks performed as a result of a user action, and the number of
automated component update checks.
</summary>
</histogram>
<histogram name="ComponentUpdater.ChromeOS.InstallResult"
enum="CrosComponentManagerError" expires_after="M85">
<owner>xiaochu@chromium.org</owner>
<summary>
Chrome OS only. Installation error code in CrosComponentManager.
</summary>
</histogram>
<histogram name="ComponentUpdater.ChromeOS.MountTime" units="ms"
expires_after="2021-06-26">
<owner>xiaochu@chromium.org</owner>
<summary>Chrome OS only. Time it takes to mount a component image.</summary>
</histogram>
<histogram name="ComponentUpdater.UpdateCompleteError"
enum="UpdateClientErrors" expires_after="2020-07-26">
<owner>sorin@chromium.org</owner>
<summary>The result of an install or an update check.</summary>
</histogram>
<histogram name="ComponentUpdater.UpdateCompleteResult" enum="BooleanError"
expires_after="2020-07-26">
<owner>sorin@chromium.org</owner>
<summary>The result of an install or an update check.</summary>
</histogram>
<histogram name="ComponentUpdater.UpdateCompleteTime" units="ms"
expires_after="2020-02-16">
<owner>sorin@chromium.org</owner>
<summary>
Time to complete an Install or an Update component update call.
</summary>
</histogram>
<histogram base="true" name="CompositorLatency" units="microseconds"
expires_after="2021-09-12">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the duration of various stages in the pipeline as a single frame goes
through the various stages in the compositor. This is reported for frames
that went through all the compositor stages in chromium, and was presented
to the user.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram base="true" name="CompositorLatency.CompositorOnlyFrame"
units="microseconds" expires_after="2021-10-10">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the duration of various stages in the pipeline as a single frame goes
through the various stages in the compositor in the cases that there is no
damage from main thread.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="CompositorLatency.Diagnostic.PresentationTimeDeltaFromDeadline"
units="ms" expires_after="M87">
<obsolete>
Removed in M88.
</obsolete>
<owner>behdadb@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
For the compositor pipeline, measures how far the presentation time of a
compositor frame is from the frame deadline (i.e. vsync time).
</summary>
</histogram>
<histogram base="true" name="CompositorLatency.DroppedFrame"
units="microseconds" expires_after="2021-10-10">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the duration of various stages in the pipeline as a single frame goes
through the various stages in the compositor. This is reported for frames
that the user did not see: this includes frames that are dropped in various
stages inside chromium, or even frames that went through all stages in
chromium, but ultimately was not presented to the user.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram base="true" name="CompositorLatency.MissedDeadlineFrame"
units="microseconds" expires_after="2021-09-19">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the duration of various stages in the pipeline as a single frame goes
through the various stages in the compositor. This is reported for frames
that went through all the compositor stages in chromium, and was presented
to the user, but were delayed and missed their deadline.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="CompositorLatency.Type" enum="FrameReportType"
expires_after="2021-09-19">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Whether frame is dropped or presented meeting or missing the deadline or is
a compositor only frame.
</summary>
</histogram>
<histogram name="ConfigureDisplays.External.Modeset.AttemptSucceeded"
enum="BooleanSuccess" expires_after="2021-09-19">
<owner>dcastagna@chromium.org</owner>
<owner>marcheu@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
Modeset attempt result of an external display. Every time an external
display is connected/disconnected, or when the display mode of the external
screen is changed by the user, Chrome attempts to modeset the display. This
metric tracks the result of those attempts. Resolution and RefreshRate
metrics will be recorded for each attempt.
</summary>
</histogram>
<histogram name="ConfigureDisplays.External.Modeset.FinalStatus"
enum="BooleanSuccess" expires_after="2021-09-19">
<owner>dcastagna@chromium.org</owner>
<owner>marcheu@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
Modeset attempt result of an internal display. This is recorded after Chrome
attempted all the available modes and finally modeset the display. All the
previously attempted modes and refreshes, including the successful one will
be recorded.
</summary>
</histogram>
<histogram name="ConfigureDisplays.External.Modeset.RefreshRate" units="Hz"
expires_after="2021-08-22">
<owner>dcastagna@chromium.org</owner>
<owner>marcheu@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
Refresh rate of the mode for the display we're about to modeset. This is
recorded every time an external display is connected/disconnected, or when
the display mode of the external screen is about to change.
</summary>
</histogram>
<histogram name="ConfigureDisplays.External.Modeset.Resolution"
enum="DisplayResolution" expires_after="2021-10-30">
<owner>dcastagna@chromium.org</owner>
<owner>marcheu@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
DisplayResolution of the mode for the external display we're about to
modeset. 0 means the display was powered off. This is recorded every time an
external display is connected/disconnected, or when the display mode of the
external screen is about to change.
</summary>
</histogram>
<histogram name="ConfigureDisplays.Internal.Modeset.AttemptSucceeded"
enum="BooleanSuccess" expires_after="2021-10-04">
<owner>dcastagna@chromium.org</owner>
<owner>marcheu@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
Modeset attempt result of an internal display. Chrome might try additional
modes after a failed attempt. Every time an external display is
connected/disconnected, or when the display mode of the external screen is
changed by the user, Chrome attempts to modeset the display. This metric
tracks the result of those attempts. Resolution and RefreshRate metrics will
be recorded for each attempt.
</summary>
</histogram>
<histogram name="ConfigureDisplays.Internal.Modeset.FinalStatus"
enum="BooleanSuccess" expires_after="2021-10-04">
<owner>dcastagna@chromium.org</owner>
<owner>marcheu@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
Modeset attempt result of an internal display. This is recorded after Chrome
attempted all the available modes and finally modeset the display. All the
previously attempted modes and refreshes, including the successful one will
be recorded.
</summary>
</histogram>
<histogram name="ConfigureDisplays.Internal.Modeset.RefreshRate" units="Hz"
expires_after="2021-10-04">
<owner>dcastagna@chromium.org</owner>
<owner>marcheu@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
Refresh rate of the mode for the display we're about to modeset. This is
recorded every time the internal display is powered on/off, or when an
external monitor is plugged in.
</summary>
</histogram>
<histogram name="ConfigureDisplays.Internal.Modeset.Resolution"
enum="DisplayResolution" expires_after="2021-09-19">
<owner>dcastagna@chromium.org</owner>
<owner>marcheu@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
DisplayResolution of the mode for the internal display we're about to
modeset. 0 means the display was powered off. This is recorded every time
the internal display is powered on/off, or when an external monitor is
plugged in.
</summary>
</histogram>
<histogram name="ConfigureDisplays.Modeset.MstExternalDisplaysCount"
units="count" expires_after="2021-11-20">
<owner>gildekel@chromium.org</owner>
<owner>dcastagna@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
Total number of external displays connected via MST and being configured.
This is recorded every time an external display is connected/disconnected,
or when the display mode of a screen is about to change.
</summary>
</histogram>
<histogram name="ConfigureDisplays.Modeset.MstExternalDisplaysPercentage"
units="%" expires_after="2021-11-20">
<owner>gildekel@chromium.org</owner>
<owner>dcastagna@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
Percentage of external displays connected via MST and being configured. This
is recorded every time an external display is connected/disconnected, or
when the display mode of a screen is about to change.
</summary>
</histogram>
<histogram name="ConfigureDisplays.Modeset.TotalExternalDisplaysCount"
units="count" expires_after="2021-11-20">
<owner>gildekel@chromium.org</owner>
<owner>dcastagna@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
Total number of external displays being configured. This is recorded every
time an external display is connected/disconnected, or when the display mode
of a screen is about to change.
</summary>
</histogram>
<histogram name="Conflicts.ConfirmedBadModules" units="modules"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The number of confirmed bad modules found during module enumeration.
</summary>
</histogram>
<histogram name="Conflicts.EnumerateLoadedModules" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The length of time it takes to enumerate the loaded modules in the browser
process.
</summary>
</histogram>
<histogram name="Conflicts.EnumerateShellExtensions" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The length of time it takes to enumerate the shell extensions.
</summary>
</histogram>
<histogram name="Conflicts.EnumerateWinsockModules" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The length of time it takes to enumerate the Winsock LSP modules.
</summary>
</histogram>
<histogram name="Conflicts.EnumerationInspectionTime" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The cumulative length of time it takes to inspect all modules on disk,
extracting their certificates and version information. This work is actually
spread out over a much longer period of time so as not to impact the user.
</summary>
</histogram>
<histogram name="Conflicts.EnumerationTotalTime" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The cumulative length of time it takes to enumerate and inspect all modules.
This work is actually spread out over a much longer period of time so as not
to impact the user.
</summary>
</histogram>
<histogram name="Conflicts.SuspectedBadModules" units="modules"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The number of suspected bad modules found during module enumeration.
</summary>
</histogram>
<histogram name="ConnectivityDiagnostics.ChromeOsSignalStrength" units="%"
expires_after="2020-06-28">
<owner>ebeach@google.com</owner>
<summary>
Connectivity Diagnostics App: WiFi signal strength recorded during
NIC_SIGNAL_STRENGTH test.
</summary>
<details>
The &quot;Strength&quot; property of a WiFi signal is a partially-reversible
function that linearly maps the RSSI range -120dBm to -20dBm to Strength
values from 0 to 100.
</details>
</histogram>
<histogram name="ConnectivityDiagnostics.RESOLVER_LATENCY" units="ms"
expires_after="M83">
<owner>ebeach@google.com</owner>
<summary>Resolution latency seen by the Connectivity Diagnostics.</summary>
<details>
Resolver latency is computed by using the chrome.dns API to query three
randomly generated Google hostnames (*-ccd-testing-v4.metric.gstatic.com).
The random hostnames guarantees that there will be no caching of DNS
hostnames. The time taken from issuing the DNS request to receiving a
response is clocked in JavaScript and the arithmetic mean of the three times
is used as the resolver latency.
</details>
</histogram>
<histogram name="ContextMenu.CancelSystemTouches" enum="BooleanHit"
expires_after="2021-08-22">
<owner>michaeldo@chromium.org</owner>
<owner>src/ios/web/OWNERS</owner>
<summary>
Logs true when the system touches are cancelled in order to show the Context
Menu instead of performing a default system action. Only logged on iOS.
</summary>
</histogram>
<histogram name="ContextMenu.DelayedElementDetails"
enum="ContextMenuDelayedElementDetails" expires_after="2021-08-29">
<owner>michaeldo@chromium.org</owner>
<owner>src/ios/web/OWNERS</owner>
<summary>
Logged when DOM element details are not yet available when the user
completes a long press. Also logs if the context menu was shown once the
element details became available or if the display was cancelled. This
ensures that all context menu gestures are eventually processed. Only logged
on iOS.
</summary>
</histogram>
<histogram name="ContextMenu.DOMElementFrame" enum="ContextMenuDOMElementFrame"
expires_after="2021-10-04">
<owner>michaeldo@chromium.org</owner>
<owner>src/ios/web/OWNERS</owner>
<summary>
Logged when the Context Menu will be displayed. Also logs if the element for
the last touch was found in the main frame or a iframe. Only logged on iOS.
</summary>
</histogram>
<histogram name="ContextMenu.iOS.CopyImage" enum="ContextMenuIOSCopyImage"
expires_after="2021-10-04">
<owner>mrsuyi@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
Logged when the copying image from context menu is invoked and relevant
events happen during the copying image procedure.
</summary>
</histogram>
<histogram name="ContextMenu.iOS.GetImageDataByJsResult"
enum="ContextMenuIOSGetImageDataByJsResult" expires_after="2021-09-19">
<owner>mrsuyi@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
Result of getting image data by JavaScript for CopyImage, SaveImage and
SearchByImage from iOS context menu. Recorded when the JavaScript returns,
or fails for timeout.
</summary>
</histogram>
<histogram name="ContextMenu.LensChip.Event" enum="LensChipEvent"
expires_after="2021-08-29">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged when the Lens chip is shown and relevant events when the user
interacts with the Lens chip. Only logged on Android.
</summary>
</histogram>
<histogram name="ContextMenu.LensSupportStatus" enum="LensSupportStatus"
expires_after="2021-09-19">
<owner>benwgold@google.com</owner>
<owner>lens-chrome@google.com</owner>
<summary>
Whether the user supports the Lens intent and if not, the reason why.
Recorded only if the feature is enabled when the long-press context menu is
shown for an image.
</summary>
</histogram>
<histogram name="ContextMenu.SaveLinkType" enum="ContextMenuSaveLinkType"
expires_after="M77">
<owner>qinmin@chromium.org</owner>
<summary>
Type of the url when user saves the content through the save link context
menu.
</summary>
</histogram>
<histogram base="true" name="ContextMenu.SelectedOptionAndroid"
enum="ContextMenuOptionAndroid" expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
<owner>avi@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
The option that the user selected from a context menu on Android. This is
logged on Android only; check out ContextMenu.SelectedOptionIOS for iOS, and
ContextMenu.SelectedOptionDesktop for desktop. Note that if a menu is
invoked on mixed content, only one of the submetrics receives the log; read
the code to determine which one.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram base="true" name="ContextMenu.SelectedOptionDesktop"
enum="ContextMenuOptionDesktop" expires_after="2021-09-05">
<owner>avi@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<summary>
The option that the user selected from a context menu on desktop. This is
logged on desktop only; check out ContextMenu.SelectedOptionIOS for iOS, and
ContextMenu.SelectedOptionAndroid for Android. Note that if a menu is
invoked on mixed content, only one of the submetrics receives the log; read
the code to determine which one.
</summary>
</histogram>
<histogram base="true" name="ContextMenu.SelectedOptionIOS"
enum="ContextMenuOptionIOS" expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
<owner>avi@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
The option that the user selected from a context menu on iOS. This is logged
on iOS only; check out ContextMenu.SelectedOptionAndroid for Android, and
ContextMenu.SelectedOptionDesktop for desktop. Note that if a menu is
invoked on mixed content, only one of the submetrics receives the log; read
the code to determine which one.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram name="ContextMenu.Shown" enum="BooleanPresent"
expires_after="2021-08-22">
<owner>mpearson@chromium.org</owner>
<summary>
Recorded when a context menu is shown, sliced by whether a web contents was
present. (It generally should be; indeed, this code path should not be
followed when it is absent. For instance, invoking a context menu from the
new tab page or from the sad tab page will not cause an emission to this
histogram.) Note that this refers to link context menus, not the
cut-copy-paste context menus that can appear during long presses on text on
a web page or long presses in the omnibox. This is an Android-only metric;
compare with RenderViewContextMenu.Shown and RenderViewContextMenu.Used on
desktop.
</summary>
</histogram>
<histogram name="ContextMenu.ThumbnailFetched" enum="BooleanSuccess"
expires_after="2020-06-30">
<obsolete>
Removed in M88.
</obsolete>
<owner>twellington@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Logged when the callback to fetch the thumbnail returns a result: Success
(bitmap data received) or Failure (null bitmap). Android only.
</summary>
</histogram>
<histogram name="ContextMenu.TimeToSelectShare" units="ms"
expires_after="2021-07-11">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Records how long it takes to press on &quot;Share&quot; from the time
context menu is shown. Android only.
</summary>
</histogram>
<histogram name="ContextMenu.TimeToTakeAction.Abandoned" units="ms"
expires_after="2021-10-04">
<owner>twellington@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
The time it takes for the user to abandon the context menu after it's shown
by pressing back or touching outside the menu. This is only logged if the
menu is abandoned. See ContextMenu.TimeToTakeAction.SelectedItem for the
cases where it is closed as a result of user interaction with the menu.
Android only.
</summary>
</histogram>
<histogram name="ContextMenu.TimeToTakeAction.SelectedItem" units="ms"
expires_after="2021-10-04">
<owner>twellington@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
The time it takes for the user to select an item. This is only logged if the
menu is closed as a result of the user clicking a menu item or a DirectShare
button. See ContextMenu.TimeToTakeAction.Abandoned for the cases where it is
abandoned by the user. Android only.
</summary>
</histogram>
<histogram name="ContextMenu.URLClicked" enum="BooleanClicked"
expires_after="2021-08-29">
<owner>twellington@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>Logged when the URL is clicked. Android only.</summary>
</histogram>
<histogram name="ContextMenu.ViewsTextServices.Emoji" enum="Boolean"
expires_after="2021-10-17">
<owner>ramyan@chromium.org</owner>
<owner>yyushkina@chromium.org</owner>
<summary>
Number of times the emoji item in the views text services context menu is
used.
</summary>
</histogram>
<histogram name="ContextMenu.WaitingForElementDetails" enum="BooleanHit"
expires_after="2021-10-10">
<owner>michaeldo@chromium.org</owner>
<owner>src/ios/web/OWNERS</owner>
<summary>
Logs true when the context menu gesture recognizer fully recognizes a long
press, but is still waiting on the DOM element details before the context
menu can be shown. Only logged on iOS.
</summary>
</histogram>
<histogram name="Conversions.ClearDataTime" units="ms"
expires_after="2021-10-17">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time it takes to clear conversion data. Logged any time site
data is cleared in Chrome.
</summary>
</histogram>
<histogram name="Conversions.ExtraReportDelay" units="ms"
expires_after="2021-10-17">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the &quot;extra&quot; non-scheduled time it took to send a
particular conversion report. This is primarily due to a report's scheduled
report time taking place while the browser is closed. Recorded when a
conversion report is sent.
</summary>
</histogram>
<histogram name="Conversions.ImpressionNavigationHasDeadInitiator"
enum="Boolean" expires_after="M95">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Measures how often impressions are ignored because the initiator frame is
dead by the time the navigation reaches the browser.
</summary>
</histogram>
<histogram name="Conversions.ImpressionsDeletedInDataClearOperation"
units="impressions" expires_after="M95">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records the number of impressions deleted per clearing operation.
</summary>
</histogram>
<histogram name="Conversions.RegisteredConversionsPerPage" units="conversions"
expires_after="2021-09-05">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the number of registered conversions
(https://github.com/WICG/conversion-measurement-api) on a given top level
page load. Recorded when the page navigates away or is otherwise closed.
Only recorded for non-off-the-record profiles (OTR profiles have the feature
disabled).
</summary>
</histogram>
<histogram name="Conversions.RegisteredImpressionsPerPage" units="impressions"
expires_after="M95">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records the number of impressions attempted on a given top level page load.
Recorded when the page navigates away or is otherwise closed. Only recorded
for non-off-the-record profiles (OTR profiles have the feature disabled).
</summary>
</histogram>
<histogram name="Conversions.ReportRetrySucceed" enum="BooleanSuccess"
expires_after="M95">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records whether a particular conversion report was successful. Emitted for
all conversion reports which retry.
</summary>
</histogram>
<histogram name="Conversions.ReportsDeletedInDataClearOperation"
units="conversions" expires_after="M95">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records the number of conversion reports deleted per clearing operation.
</summary>
</histogram>
<histogram name="Conversions.ReportStatus" enum="ConversionReportStatus"
expires_after="2021-10-17">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the high level request status of a conversion report. Recorded for
every conversion report sent.
</summary>
</histogram>
<histogram name="Conversions.Storage.ClearDataWithFilterDuration" units="ms"
expires_after="M95">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time it took to do perform a clear operation on the database
when supplied an origin filter. Recorded when the conversion database
finishes performing a clear operation. Note that filters may vary in size
and computation complexity, skewing this metric aribtrarily.
</summary>
</histogram>
<histogram name="Conversions.Storage.CreationTime" units="ms"
expires_after="M95">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time it took to initialize a new conversions database from
scratch. Recorded when the conversion database finishes initialization.
</summary>
</histogram>
<histogram name="Conversions.Storage.MigrationTime" units="ms"
expires_after="M95">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time it took to migrate a preexisting conversions database to
the latest schema. Recorded when the conversion database finishes
initialization.
</summary>
</histogram>
<histogram name="Conversions.Storage.Sql.InitStatus"
enum="ConversionStorageSqlInitStatus" expires_after="2021-12-12">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records initialisation statuses of ConversionStorageSql. Note: currently
ConversionStorageSql is initialised lazily.
</summary>
</histogram>
<histogram name="Conversions.TimeFromConversionToReportSend" units="hours"
expires_after="M95">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time between a conversion and its reporting. This is emitted
whenever a conversion report is sent.
</summary>
</histogram>
<histogram name="CopylessPaste.CacheHit" enum="CopylessCacheHit"
expires_after="2020-03-01">
<owner>wychen@chromium.org</owner>
<summary>
The cache hit status of metadata extraction for AppIndexing.
</summary>
</histogram>
<histogram name="CopylessPaste.ExtractionFailedUs" units="microseconds"
expires_after="M77">
<owner>wychen@chromium.org</owner>
<summary>
The time spent on scanning the document in the main frame to extract the
metadata. The metadata would be used to feed Icing for CopylessPaste feature
on Android. This only counts pages with failed or empty JSON extraction.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="CopylessPaste.ExtractionStatus" enum="ExtractionStatus"
expires_after="M77">
<owner>wychen@chromium.org</owner>
<summary>The error status of metadata extraction for AppIndexing.</summary>
</histogram>
<histogram name="CopylessPaste.ExtractionUs" units="microseconds"
expires_after="M85">
<owner>wychen@chromium.org</owner>
<summary>
The time spent on scanning the document in the main frame to extract the
metadata. The metadata would be used to feed Icing for CopylessPaste feature
on Android. This only counts pages with successful JSON extraction.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="CrashExitCodes.Extension" enum="CrashExitCodes"
expires_after="never">
<!-- expires-never: Critical stability metrics. go/chrome-stability-metrics -->
<owner>wfh@chromium.org</owner>
<owner>chrome-stability-core@google.com</owner>
<summary>
The exit codes for crashed extension processes. Note: Due to
https://crbug.com/805754, the enum labels are off by 1 for M56 and earlier.
</summary>
</histogram>
<histogram name="CrashExitCodes.Renderer" enum="CrashExitCodes"
expires_after="never">
<!-- expires-never: Critical stability metrics. go/chrome-stability-metrics -->
<owner>wfh@chromium.org</owner>
<owner>chrome-stability-core@google.com</owner>
<summary>
The exit codes for crashed renderer processes. Note: Due to
https://crbug.com/805754, the enum labels are off by 1 for M56 and earlier.
</summary>
</histogram>
<histogram name="Crashpad.CrashReportPending" enum="CrashpadReportPending"
expires_after="M85">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>
The reason that a crash report entered the upload pending state.
</summary>
</histogram>
<histogram name="Crashpad.CrashReportSize" units="bytes" expires_after="M85">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The size of a crash report minidump on disk when captured.</summary>
</histogram>
<histogram name="Crashpad.CrashUpload.AttemptSuccessful"
enum="CrashpadUploadAttemptStatus" expires_after="M85">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>Logs whether a crash uploaded succeeded or failed.</summary>
</histogram>
<histogram name="Crashpad.CrashUpload.Skipped"
enum="CrashpadUploadSkippedReason" expires_after="M85">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The reason that a crash report upload was skipped.</summary>
</histogram>
<histogram name="Crashpad.ExceptionCaptureResult"
enum="CrashpadExceptionCaptureResult" expires_after="M90">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The outcome of execution of the Crashpad exception handler.</summary>
</histogram>
<histogram name="Crashpad.ExceptionCode.Mac" enum="CrashpadMacExceptionCodes"
expires_after="M90">
<owner>mark@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The exception code encountered in a crash on Mac OS X.</summary>
</histogram>
<histogram name="Crashpad.ExceptionCode.Win" enum="CrashpadWinExceptionCodes"
expires_after="M90">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The exception code encountered in a crash on Windows.</summary>
</histogram>
<histogram name="Crashpad.ExceptionEncountered"
enum="CrashpadExceptionProcessingState" expires_after="2021-08-22">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>
A count of the number of exceptions handled by Crashpad with two buckets for
starting and finishing.
</summary>
</histogram>
<histogram name="Crashpad.HandlerCrash.ExceptionCode.Mac"
enum="CrashpadMacExceptionCodes" expires_after="M90">
<owner>mark@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>
The exception code encountered for a crash of the crash handler process on
Mac OS X.
</summary>
</histogram>
<histogram name="Crashpad.HandlerCrash.ExceptionCode.Win"
enum="CrashpadWinExceptionCodes" expires_after="M90">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>
The exception code encountered for a crash of the crash handler process on
Windows.
</summary>
</histogram>
<histogram name="Crashpad.HandlerLifetimeMilestone"
enum="CrashpadLifetimeMilestone" expires_after="M90">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>Handler start/crash/exit events.</summary>
</histogram>
<histogram name="CrashReport.BreakpadIOSUploadOutcome"
enum="FoundationPopularErrorCode" expires_after="2021-09-01">
<owner>justincohen@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
Reports the Foundation error code of an attempt to upload a breakpad crash
report. &quot;NSNoError&quot; if the upload was successful.
</summary>
</histogram>
<histogram name="CrashReport.Sender.ActiveRuntime" units="ms"
expires_after="2021-05-23">
<obsolete>
As of 2020-12, we've decided on a timeout and no longer need this metric.
</obsolete>
<owner>mutexlox@chromium.org</owner>
<owner>iby@chromium.org</owner>
<owner>cros-telemetry@google.com</owner>
<summary>
The amount of time crash_sender takes to run when invoked directly on Chrome
OS, without counting time spent sleeping (e.g. for hold_off_time). Used to
make an informed decision about a timeout.
</summary>
</histogram>
<histogram name="CrashReport.Sender.Runtime" units="ms"
expires_after="2021-01-15">
<obsolete>
As of 2020-12, we've decided on a timeout and no longer need this metric.
</obsolete>
<owner>mutexlox@chromium.org</owner>
<owner>iby@chromium.org</owner>
<owner>cros-telemetry@google.com</owner>
<summary>
The amount of time crash_sender takes to run when invoked directly on Chrome
OS. Used to make an informed decision about a timeout.
</summary>
</histogram>
<histogram name="Crypto.TPMSupport" enum="TPMSupport"
expires_after="2021-07-01">
<owner>agl@chromium.org</owner>
<owner>davidben@chromium.org</owner>
<summary>
Collected on Windows at startup. Records whether a TPM is present and, if
so, what the best supported algorithm is.
</summary>
</histogram>
<histogram name="DataPack.Load" enum="DataPackLoadErrors" expires_after="M87">
<owner>grt@chromium.org</owner>
<owner>sky@chromium.org</owner>
<summary>Errors when trying to load DataPack files.</summary>
</histogram>
<histogram name="DataUse.AllServicesKB" enum="DataUseServicesHash"
expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
The request and response size of the messages exchanged by all the services.
Whenever a URLRequest of a service is completed, the number of exchanged
bytes is logged in this histogram. The buckets in this histogram are
services recorded by the corresponding network traffic annotation tag
hashes, so it makes it possible to compare the use of different services in
different conditions. Different conditions are added as suffixes to this
histogram. If the OS is not Android all the requests are considered
foreground.
</summary>
</histogram>
<histogram name="DataUse.AppTabState" units="bytes" expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records the data use of Chrome user traffic by the foregound vs. background
state of the app and tab.
</summary>
</histogram>
<histogram name="DataUse.BackgroundToDataRecievedPerByte" units="ms"
expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
The time since Chrome is in background when background data use happens.
Recorded for each byte of background data use. The source of traffic whether
from user browsing or chrome services is added as suffix to this histogram.
</summary>
</histogram>
<histogram name="DataUse.BackgroundToFirstDownstream" units="ms"
expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
The time since Chrome is in background when first background data use
happens. Recorded when first background downstream data use after Chrome is
in background. The source of traffic whether from user browsing or chrome
services is added as suffix to this histogram.
</summary>
</histogram>
<histogram name="DataUse.BytesReceived" units="bytes" expires_after="M90">
<obsolete>
Replaced with DataUse.BytesReceived2 as of 10/2020 to provide more granular
buckets above 1 MB
</obsolete>
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Count of total bytes received by the Chrome on the network. With network
servicification this is recorded when requests complete.
</summary>
</histogram>
<histogram name="DataUse.BytesReceived2" units="bytes"
expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Count of total bytes received by the Chrome on the network. This is recorded
when requests complete.
</summary>
</histogram>
<histogram name="DataUse.BytesSent" units="bytes" expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Count of total bytes sent by the Chrome on the network. With network
servicification this is recorded when requests complete.
</summary>
</histogram>
<histogram name="DataUse.ContentType.UserTrafficKB" enum="DataUseContentType"
expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Data use of user traffic by different content types. Recorded in KB when
network bytes are received by Chrome.
</summary>
</histogram>
<histogram name="DataUse.FavIcon.Downstream" units="bytes"
expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records the downstream network data use of favicon requests. Logged when the
request is completed or redirected. Zero bytes are recorded when the request
is served from cache.
</summary>
</histogram>
<histogram name="DataUse.FavIcon.Downstream.Non200Response" units="bytes"
expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records the downstream network data use of favicon requests with non 200
response code. Logged when the request is completed or redirected.
</summary>
</histogram>
<histogram name="DataUse.PageTransition.UserTrafficKB"
enum="DataUsePageTransition" expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Data use of user traffic by different core page transition types. Recorded
in KB when the URL request finishes.
</summary>
</histogram>
<histogram name="DataUse.TrafficSize.User" units="bytes"
expires_after="2021-12-20">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
The total amount of data use of Chrome for user traffic. This traffic has
content::ResourceRequestInfo attached to its request. If the OS is not
Android all the requests are considered foreground.
</summary>
</histogram>
<histogram name="DBus.AsyncMethodCallSuccess" enum="BooleanSuccess"
expires_after="M81">
<owner>satorux@chromium.org</owner>
<summary>Whether an asynchronous D-Bus method call is successful.</summary>
</histogram>
<histogram name="DBus.AsyncMethodCallTime" units="microseconds"
expires_after="M82">
<owner>satorux@chromium.org</owner>
<summary>The time spent for an asynchronous D-Bus method call.</summary>
</histogram>
<histogram name="DBus.ExportedMethodHandleSuccess" enum="BooleanSuccess"
expires_after="M85">
<owner>satorux@chromium.org</owner>
<summary>
Whether a call to a D-Bus exported method is handled successfully.
</summary>
</histogram>
<histogram name="DBus.ExportedMethodHandleTime" units="microseconds"
expires_after="M77">
<owner>satorux@chromium.org</owner>
<summary>
The time spent for handling a call to a D-Bus exported method.
</summary>
</histogram>
<histogram name="DBus.SignalHandleTime" units="microseconds"
expires_after="2020-02-23">
<owner>satorux@chromium.org</owner>
<summary>The time spent for handling a D-Bus signal.</summary>
</histogram>
<histogram name="DBus.SignalSendTime" units="microseconds" expires_after="M82">
<owner>satorux@chromium.org</owner>
<summary>The time spent for sending a D-Bus signal.</summary>
</histogram>
<histogram name="DBus.SyncMethodCallSuccess" enum="BooleanSuccess"
expires_after="M81">
<owner>satorux@chromium.org</owner>
<summary>Whether a synchronous D-Bus method call is successful.</summary>
</histogram>
<histogram name="DBus.SyncMethodCallTime" units="microseconds"
expires_after="2020-02-16">
<owner>satorux@chromium.org</owner>
<summary>The time spent for a synchronous D-Bus method call.</summary>
</histogram>
<histogram name="DefaultBrowser.ActivateSettings.ErrorHresult" enum="Hresult"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>
The HRESULT from ActivateApplication when opening the Win10+ settings page
fails.
</summary>
</histogram>
<histogram name="DefaultBrowser.InfoBar.UserInteraction"
enum="DefaultBrowserInfoBarUserInteraction" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Possible user interactions with the default browser info bar.
</summary>
</histogram>
<histogram name="DefaultBrowser.InteractionResult"
enum="MakeChromeDefaultResult" expires_after="M85">
<obsolete>
Removed in Chrome 78.
</obsolete>
<owner>gab@chromium.org</owner>
<summary>
Results of interaction with set-as-default dialog in Win8+ first run flow.
</summary>
</histogram>
<histogram name="DefaultBrowser.SetDefaultResult2" enum="DefaultWebClientState"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The outcome of an attempt to set Chrome as the user's default browser.
</summary>
</histogram>
<histogram name="DefaultBrowser.SettingsInteraction.ConcludeReason"
enum="SettingsInteractionConcludeReason" expires_after="M77">
<owner>pmonette@chromium.org</owner>
<summary>
The reason why the default browser settings interaction concluded on Windows
10.
</summary>
</histogram>
<histogram name="DefaultBrowser.SettingsInteraction.RegistryWatcherDuration"
units="ms" expires_after="M77">
<owner>pmonette@chromium.org</owner>
<summary>
The registry keys for the default browser protocols (http/https) are
monitored to know when the user finished interacting with the system
settings. This is how long it took for the last registry watcher to get
signaled.
</summary>
</histogram>
<histogram name="DefaultBrowser.State" enum="DefaultBrowserState"
expires_after="never">
<!-- expires-never: Used to keep track of desktop browser ecosystem. -->
<owner>gab@chromium.org</owner>
<owner>pmonette@chromium.org</owner>
<summary>
Whether Chrome was the default browser when it started up.
Only logged correctly on Windows, Mac, and Linux. Logged incorrectly on
other platforms.
For ChromeOS, no histogram is necessary because Chrome is always the default
browser.
For Android, see Mobile.DefaultBrowser.State.
For iOS, in the future Chrome will be allowed to be the default browser. How
that will be logged is to be decided at the time of writing this
description.
</summary>
</histogram>
<histogram name="DefaultBrowser.Win10ChooserInvoked" enum="BooleanSuccess"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
When changing the default browser on Windows 10, records whether the browser
chooser is successfully invoked when opening the settings page. This
histogram is only recorded when the Win10AcceleratedDefaultBrowserFlow
experiment is enabled.
</summary>
</histogram>
<histogram name="DefaultProtocolClient.SetDefaultResult2"
enum="DefaultWebClientState" expires_after="M77">
<owner>pmonette@chromium.org</owner>
<summary>
The outcome of an attempt to set Chrome as the user's default client for a
protocol.
</summary>
</histogram>
<histogram name="DemoMode.ActiveApp" enum="DemoModeApp"
expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
The currently active app or window. Sampled during demo sessions and
reported while the user remains active.
</summary>
</histogram>
<histogram name="DemoMode.AppLaunched" enum="DemoModeApp"
expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Records apps that have been launched by a user using the device during Demo
mode. The sample is recorded when each app is launched. For any given app
id, the metric is recorded only once per Demo Session.
</summary>
</histogram>
<histogram name="DemoMode.AppLaunchSource" enum="DemoModeAppLaunchSource"
expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
The source of app launches in demo mode, either the shelf, the app list, or
the highlights app.
</summary>
</histogram>
<histogram name="DemoMode.DwellTime" units="seconds" expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
The duration the user spent interacting with the demo session, measured from
the first user activity to the last user activity. This metric rounds the
duration to the nearest second and uses exponential bucketing capped at 1
hour.
</summary>
</histogram>
<histogram name="DemoMode.IdleLogoutWarningEvent"
enum="DemoModeIdleLogoutWarningEvent" expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Tracks whether the idle logout warning was canceled or proceeded to logout.
Note: the count of &quot;shown&quot; includes both cases, so the count of
&quot;shown and proceeded&quot; is equal to &quot;shown&quot; minus
&quot;canceled&quot;.
</summary>
</histogram>
<histogram name="DemoMode.ResourcesRemoval.Reason"
enum="DemoModeResourcesRemovalReason" expires_after="M92">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Tracks the reason for removal of pre-install demo resources. To support
offline demo mode, factory Chrome OS devices will have a set of offline
enabled demo mode apps pre-installed. These resources are removed once they
are not needed anymore.
</summary>
</histogram>
<histogram name="DemoMode.ResourcesRemoval.Result"
enum="DemoModeResourcesRemovalResult" expires_after="M92">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Tracks the result of requests to remove pre-installed demo resources. To
support offline demo mode, factory Chrome OS devices will have a set of
offline enabled demo mode apps pre-installed. These resources are removed
once they are not needed anymore. This will record only requests that
attempted deleting pre-installed resources from disk. Requests that fail
early will be ignored. For example, a request will fail early if the device
is in demo mode, or the resources have already been removed.
</summary>
</histogram>
<histogram name="DemoMode.SessionLength" units="minutes"
expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
A demo session starts when a user signs in using the policy-configured
public account. It stops when the user signs out, either manually or after
an idle timeout. Session length is the duration between the start and stop
events. It is recorded during signing out and reported on the next chrome
run. This metric tracks the recorded session length rounded down to the
nearest minute and is capped at 2 hours.
</summary>
</histogram>
<histogram name="DemoMode.Setup.DownloadDuration" units="minutes"
expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
This records the time taken to download the demo mode resources when demo
mode is setup for the first time.
</summary>
</histogram>
<histogram name="DemoMode.Setup.EnrollDuration" units="minutes"
expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
This records the time taken to enterprise-enroll the device when demo mode
is setup for the first time.
</summary>
</histogram>
<histogram name="DemoMode.Setup.LoadingDuration" units="minutes"
expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
When demo mode is setup for the first time, it must download the demo mode
resources and enterprise-enroll the device. This records the time taken for
these two steps to complete. (See DemoMode.Setup.DownloadDuration and
DemoMode.Setup.EnrollDuration)
</summary>
</histogram>
<histogram name="DemoMode.Setup.NumRetries" units="units"
expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Records the number of times an operator has encountered an error during the
loading screen and been required to retry setup. This is only recorded after
setup completes successfully.
</summary>
</histogram>
<histogram name="DemoMode.UniqueAppsLaunched" units="units"
expires_after="2021-08-09">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Records how many unique apps have been launched by a user using the device
during Demo mode. The sample is recorded when the DemoMode session closes.
</summary>
</histogram>
<histogram name="Dialog.Create" enum="BooleanCreated" expires_after="M85">
<owner>pdyson@chromium.org</owner>
<summary>
Counts the number times dialog boxes are created using a particular parent
class.
</summary>
</histogram>
<histogram name="Dialog.Creation" enum="DialogName" expires_after="M85">
<owner>pdyson@chromium.org</owner>
<summary>
Counts the number times various types of dialog boxes are created.
</summary>
</histogram>
<histogram name="Dialog.DialogDelegate.Duration" units="ms" expires_after="M77">
<owner>pdyson@chromium.org</owner>
<summary>
How long dialog boxes are open, for dialog boxes created using the parent
class DialogDelegate. This will include bubbles that use
BubbleDialogDelegateView as a parent class, and dialogs that use
DialogDelegateView as a parent class. This is logged on delegate
destruction.
</summary>
</histogram>
<histogram name="DirectSockets.PermissionDeniedFailures"
enum="DirectSocketPermissionFailureType" expires_after="2022-1-20">
<owner>ericwilligers@chromium.org</owner>
<owner>glenrob@chromium.org</owner>
<summary>
Record how often each permission check (e.g. permissions policy, transient
activation, user dialog, hostname resolving to non-public address, rate
limiting, CORS, enterprise policy) cause Permission Denied failures.
Recorded when the permission is denied.
</summary>
</histogram>
<histogram name="Discarding.DiscardCandidatesCount" units="tabs"
expires_after="2021-08-29">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The number of tabs discard candidates. This is recorded each time Chrome
needs to urgently discard a tab.
</summary>
</histogram>
<histogram name="Discarding.DiscardsPer10Minutes" units="tabs"
expires_after="M85">
<obsolete>
Removed 11/2020. Not actively used because reported values are 0 most of the
time. It would be more useful to report number of discards per day.
</obsolete>
<!-- Name completed by histogram_suffixes name="DiscardReason" -->
<owner>fdoray@chromium.org</owner>
<summary>
Number of tabs discarded in each interval of 10 minutes, per discard reason.
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.DiscardAttemptsCount" units="tabs"
expires_after="2021-06-06">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The number of tab discard attempts during a high-PMF session. Recorded at
the end of each high PMF session, or when the number of discard attempts
within the same high-PMF session reaches 100 (at which point the counter
will reset, e.g. 102 discards attempts would be recorded in two pieces as
&quot;100&quot; and &quot;2&quot;).
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.DiscardSuccess"
units="BooleanSuccess" expires_after="2021-06-06">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Indicates if a tab has been successfully discarded during a high-PMF
session.
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.MemoryPressureLevel"
enum="MemoryPressureLevel" expires_after="2021-06-06">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The memory pressure level when the High-PMF policy decides to discard a tab.
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.MemoryReclaimedKbAfterDiscardingATab"
units="KB" expires_after="2021-01-31">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The amount of memory that has been reclaimed after discarding a tab during a
high-PMF session. In the case of a memory increase the value will be
reported as 0 and will go in the underflow bucket.
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.SuccessfulDiscardsCount" units="tabs"
expires_after="2021-06-06">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The number of successful tab discards during a high-PMF session. Recorded at
the end of each high PMF session, or when the number of successful discards
within the same high-PMF session reaches 100 (at which point the counter
will reset, e.g. 102 successful discards would be recorded in two pieces as
&quot;100&quot; and &quot;2&quot;).
</summary>
</histogram>
<histogram name="Discarding.LargestTabFootprint" units="MiB"
expires_after="2021-02-28">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The largest tab's resident set among all the urgent discarding candidates.
</summary>
</histogram>
<histogram name="Discarding.OldestTabFootprint" units="MiB"
expires_after="2021-02-28">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>The resident set of the oldest urgent discarding candidate.</summary>
</histogram>
<histogram name="Discarding.OnCriticalPressure.TotalRSS_Mb" units="MB"
expires_after="2021-01-31">
<obsolete>
Removed 03/2021, replaced by Discarding.OnCriticalPressure.TotalRSS_Mb2. The
new histogram is now guaranteed to be recorded before discarding any tab.
</obsolete>
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
An estimate of the total resident set of Chrome when receiving a critical
memory pressure event, in megabytes. Note that the estimate is based on the
most recent data collected by Performance Manager, which are refreshed at a
low frequency (up to 2 minutes).
</summary>
</histogram>
<histogram name="Discarding.OnCriticalPressure.TotalRSS_Mb2" units="MB"
expires_after="2021-10-30">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
An estimate of the total resident set of Chrome when receiving a critical
memory pressure event, in megabytes. Note that the estimate is based on the
most recent data collected by Performance Manager, which are refreshed at a
low frequency (up to 2 minutes).
</summary>
</histogram>
<histogram name="Discarding.OnCriticalPressure.TotalRSS_PercentOfRAM" units="%"
expires_after="2021-08-09">
<obsolete>
Removed 03/2021, replaced by
Discarding.OnCriticalPressure.TotalRSS_PercentOfRAM2. The new histogram is
now guaranteed to be recorded before discarding any tab.
</obsolete>
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
An estimate of the total resident set of Chrome when receiving a critical
memory pressure event, in percentage of the total amount of RAM. Note that
the estimate is based on the most recent data collected by Performance
Manager, which are refreshed at a low frequency (up to 2 minutes).
</summary>
</histogram>
<histogram name="Discarding.OnCriticalPressure.TotalRSS_PercentOfRAM2"
units="%" expires_after="2021-10-30">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
An estimate of the total resident set of Chrome when receiving a critical
memory pressure event, in percentage of the total amount of RAM. Note that
the estimate is based on the most recent data collected by Performance
Manager, which are refreshed at a low frequency (up to 2 minutes).
</summary>
</histogram>
<histogram name="Discarding.OnlineOnReload" enum="Boolean" expires_after="M85">
<obsolete>
Removed 11/2020.
</obsolete>
<!-- Name completed by histogram_suffixes name="DiscardReason" -->
<owner>fdoray@chromium.org</owner>
<summary>
Whether the machine was online when a discarded tab was reloaded.
</summary>
</histogram>
<histogram name="Discarding.ReloadsPer10Minutes" units="tabs"
expires_after="M85">
<obsolete>
Removed 11/2020. Not actively used because reported values are 0 most of the
time. It would be more useful to report number of reloads per day.
</obsolete>
<!-- Name completed by histogram_suffixes name="DiscardReason" -->
<owner>fdoray@chromium.org</owner>
<summary>
Number of discarded tabs reloaded in each interval of 10 minutes, grouped by
their discard reason.
</summary>
</histogram>
<histogram
name="Discarding.WinOSPressureSignals.AvailableMemoryMbOnLowMemoryNotification"
units="MB" expires_after="2021-05-02">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The amount of physical memory available when receiving a low memory
notification, in megabytes. Windows 8.1+ only.
</summary>
</histogram>
<histogram name="Discarding.WinOSPressureSignals.LowMemorySessionLength"
units="ms" expires_after="2021-05-02">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The time it takes to receive a high memory notification from the OS after
receiving a low memory notification. Windows 8.1+ only.
</summary>
</histogram>
<histogram
name="Discarding.WinOSPressureSignals.PressureLevelOnLowMemoryNotification"
enum="MemoryPressureLevel" expires_after="2021-05-02">
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The memory pressure level when receiving a low memory notification from the
OS. Windows 8.1+ only.
</summary>
</histogram>
<histogram name="Display.ParseEdidFailure" enum="ParseEdidFailure"
expires_after="2021-09-12">
<owner>sashamcintosh@chromium.org</owner>
<owner>chromeos-gfx@google.com</owner>
<summary>
Type of failure that occurs during EDID parsing. Typically the failure is
caused by a mismatch between the EDID size and the expected offset of the
data component.
</summary>
</histogram>
<histogram name="DisplayManager.InternalDisplayZoomPercentage" units="%"
expires_after="2021-09-19">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The zoom percentage that the user has set on the internal display and is
actively using. This is emitted when the zoom factor has been updated in
display manager and has not been changed for a while.
</summary>
</histogram>
<histogram name="DisplayManager.MirroringDisplayCountRanges"
enum="MultiDisplayModeDisplayCountRanges" expires_after="2021-07-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The number of displays connected to the device that are in software or
hardware mirror mode. This is emitted once when the normal or mixed mirror
mode is enabled through API call, or the display configuration changes (e.g.
adding or removing a display) when mirror mode is on.
</summary>
</histogram>
<histogram name="DisplayManager.MirrorModeTypes" enum="DisplayMirrorModeTypes"
expires_after="2021-07-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The types of mirror mode in which the displays connected to the device are
in. This is emitted once when the normal or mixed mirror mode is enabled
through API call, or the display configuration changes ( e.g. adding or
removing a display) when mirror mode is on.
</summary>
</histogram>
<histogram name="DisplayManager.MultiDisplayMode" enum="MultiDisplayModes"
expires_after="2021-09-19">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The mode in which the connected displays to the device are in. This is
emitted once when displays are added or removed, or when the user changes
the mode by e.g. enabling mirror or unified modes.
</summary>
</histogram>
<histogram name="DisplayManager.UnifiedDesktopDisplayCountRange"
enum="MultiDisplayModeDisplayCountRanges" expires_after="2021-09-19">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The number of displays connected to the device when Unified Desktop mode is
on. This is emitted when Unified Desktop mode is turned on, or the displays
are added or removed while in Unified Mode.
</summary>
</histogram>
<histogram name="DisplayManager.UpdateDisplayConfigurationTask.ExecutionTime"
units="ms" expires_after="2021-07-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Records the execution time to update the display configuration. Emitted when
the update-display-configuration task finishes, successfully or not.
</summary>
</histogram>
<histogram name="DisplayManager.UpdateDisplayConfigurationTask.Success"
enum="BooleanSuccess" expires_after="2021-07-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Records whether or not the display configuration was successfully updated.
Emitted when the update-display-configuration task finishes, successfully or
not.
</summary>
</histogram>
<histogram name="DNS.PrefetchResolution" units="ms" expires_after="M85">
<owner>mgersh@chromium.org</owner>
<summary>
The duration of time used by the DNS pre-resolving threads to resolve a host
name via the network. Any resolutions that are faster than 15ms are
considered to be local cache hits, not requiring network access, and are not
included in this histogram. This histogram is most useful for estimating the
typical cost of a name resolution, but it also estimates the total number of
network-based resolutions induced by this feature. Not all these resolutions
prove helpful (i.e., the user does not always actually visit the resolved
hostnames).
</summary>
</histogram>
<histogram name="DnsProbe.ErrorPageUpdateStatus" enum="DnsProbe.ProbeStatus"
expires_after="2021-06-04">
<owner>ericorth@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
Status of DNS diagnostic probe updates sent to a Chrome net error page.
</summary>
</histogram>
<histogram name="DnsProbe.ProbeDuration2" units="ms" expires_after="2021-10-10">
<owner>ericorth@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
Time ticks between starting and finishing a DNS diagnostics probe.
</summary>
</histogram>
<histogram name="DnsProbe.ProbeResult" enum="DnsProbe.ProbeStatus"
expires_after="2021-10-10">
<owner>ericorth@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>Result of DNS diagnostics probes sent by the probe service.</summary>
</histogram>
<histogram name="Document.BeforeUnloadDialog" enum="BeforeUnloadDialogResult"
expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Records result of invoking beforeunload handler, that determines whether to
show the dialog.
</summary>
</histogram>
<histogram name="Document.OutliveTimeAfterShutdown.DestroyedBeforeProcessDies"
units="units" expires_after="M77">
<obsolete>
Removed in M90.
</obsolete>
<owner>hajimehoshi@chromium.org</owner>
<owner>keishi@chromium.org</owner>
<summary>
Records the GC count between the time when the document is shut down and and
the time when the document is actually destroyed. This only counts documents
that are destroyed before the process dies.
</summary>
</histogram>
<histogram name="Document.OutliveTimeAfterShutdown.GCCount" enum="GCCount"
expires_after="M77">
<obsolete>
Removed in M90.
</obsolete>
<owner>hajimehoshi@chromium.org</owner>
<owner>keishi@chromium.org</owner>
<summary>
Records documents that survives some GCs after the document is shut down.
</summary>
</histogram>
<histogram name="DocumentEventTiming.BeforeUnloadDialogDuration.ByNavigation"
units="ms" expires_after="2020-09-05">
<owner>sullivan@chromium.org</owner>
<summary>
Milliseconds spent in beforeunload dialog. Does not include time to process
beforeunload event in JavaScript (see
DocumentEventTiming.BeforeUnloadDuration). Recorded immediately after
closing dialog, upon user confirmation to navigate away from the page.
</summary>
</histogram>
<histogram name="DocumentEventTiming.BeforeUnloadDuration" units="microseconds"
expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in beforeunload.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.FreezeDuration" units="microseconds"
expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in onfreeze.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.PageHideDuration" units="microseconds"
expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in pagehide.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.PageVibilityHiddenDuration"
units="microseconds" expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in vibilitychange (hidden).
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.ResumeDuration" units="microseconds"
expires_after="M85">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in onresume.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.UnloadDuration" units="microseconds"
expires_after="M85">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in unload.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentScan.ScanFailed" enum="DocumentScanSaneBackend"
expires_after="2021-10-04">
<owner>fletcherw@chromium.org</owner>
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>
Chrome OS document scan metric that tracks which SANE backend (effectively a
scanner driver) was used when a scan failed.
</summary>
</histogram>
<histogram name="DocumentScan.ScanRequested" enum="DocumentScanSaneBackend"
expires_after="2021-09-19">
<owner>fletcherw@chromium.org</owner>
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>
Chrome OS document scan metric that tracks which SANE backend (effectively a
scanner driver) that a user requested to use for a scan.
</summary>
</histogram>
<histogram name="DocumentScan.ScanSucceeded" enum="DocumentScanSaneBackend"
expires_after="2021-10-04">
<owner>fletcherw@chromium.org</owner>
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>
Chrome OS document scan metric that tracks which SANE backend (effectively a
scanner driver) was used when a scan succeeded.
</summary>
</histogram>
<histogram name="DomainMixing.OneDay" units="units" expires_after="M85">
<owner>qfiard@google.com</owner>
<summary>
The distribution over daily active users of Google Search of the ratio of
Google searches in the past day that were issued by the user on a Google
domain that is not the primary one used by the user over the same time
period.
</summary>
</histogram>
<histogram name="DomainMixing.OneMonth" units="units" expires_after="M85">
<owner>qfiard@google.com</owner>
<summary>
The distribution over daily active users of Google Search of the ratio of
Google searches in the past 30 days that were issued by the user on a Google
domain that is not the primary one used by the user over the same time
period.
</summary>
</histogram>
<histogram name="DomainMixing.OneWeek" units="units" expires_after="M85">
<owner>qfiard@google.com</owner>
<summary>
The distribution over daily active users of Google Search of the ratio of
Google searches in the past week that were issued by the user on a Google
domain that is not the primary one used by the user over the same time
period.
</summary>
</histogram>
<histogram name="DomainMixing.TwoWeeks" units="units" expires_after="M85">
<owner>qfiard@google.com</owner>
<summary>
The distribution over daily active users of Google Search of the ratio of
Google searches in the past two weeks that were issued by the user on a
Google domain that is not the primary one used by the user over the same
time period.
</summary>
</histogram>
<histogram name="Downgrade.CacheDirMove.FailureCount" units="count"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<summary>
The number of items within the Cache directory that could not be moved aside
following a downgrade. 0 indicates that the target directory could not be
created.
</summary>
</histogram>
<histogram name="Downgrade.CacheDirMove.Result" enum="BooleanSuccess"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<summary>
Indicates whether or not moving a user's cache dir following a downgrade
succeeded or failed.
</summary>
</histogram>
<histogram name="Downgrade.InvalidSnapshotMove.FailureCount" units="count"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
The number of items within from an invalid snapshot directory that could not
be moved. 0 indicates that the target directory could not be created.
</summary>
</histogram>
<histogram name="Downgrade.InvalidSnapshotMove.Result" enum="BooleanSuccess"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not moving an invalid snapshot directory succeeded or
failed.
</summary>
</histogram>
<histogram name="Downgrade.RestoreSnapshot.CleanupAfterFailure.Result"
enum="BooleanSuccess" expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not cleaning up after a snapshot restoration failure
succeeded or failed.
</summary>
</histogram>
<histogram name="Downgrade.RestoreSnapshot.FailureCount" units="count"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
The number of items within from a snapshot directory that could not be
restored following a downgrade.
</summary>
</histogram>
<histogram name="Downgrade.RestoreSnapshot.Result"
enum="SnapshotOperationResult" expires_after="never">
<!-- expires-never: To monitor snapshot restoration results. -->
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not restoring a snapshot of the user data dir succeeded
or failed.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.FailureCount" units="count"
expires_after="2021-10-10">
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
The number of items within the user data directory that could not be
snapshotted following an upgrade.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.ItemFailure" enum="SnapshotItemId"
expires_after="2021-10-10">
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates the id of an item that failed to be copied when taking a user data
snapshot.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.MoveExistingSnapshot.FailureCount"
units="count" expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
The number of items within an existing snapshot directory that could not be
moved aside before replacing it with a newer snapshot.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.MoveExistingSnapshot.Result"
enum="BooleanSuccess" expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not moving a user data snapshot dir before replacing it
with a newer snapshot succeeded or failed.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.ProfileDirectoryCreation.Result"
enum="BooleanSuccess" expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not creating a profile directory while creating a user
data snapshot succeeded or failed.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.Result" enum="SnapshotOperationResult"
expires_after="2021-10-04">
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not creating a snapshot of the user data dir succeeded
or failed.
</summary>
</histogram>
<histogram name="Downgrade.Type" enum="UserDataDowngradeType"
expires_after="2021-08-09">
<owner>grt@chromium.org</owner>
<summary>
The type of User Data downgrade detected, if any. The &quot;none&quot;
bucket is not reported.
</summary>
</histogram>
<histogram name="Downgrade.UserDataDirMove.FailureCount" units="count"
expires_after="2020-12-31">
<owner>grt@chromium.org</owner>
<summary>
The number of items within User Data that could not be moved aside following
a downgrade.
</summary>
</histogram>
<histogram name="Downgrade.UserDataDirMove.Result" enum="UserDataMoveResult"
expires_after="2020-12-31">
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not moving a user's User Data dir following a downgrade
succeeded or failed.
</summary>
</histogram>
<histogram name="Drive.PushNotificationInitiallyEnabled" enum="BooleanEnabled"
expires_after="2021-08-22">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
Tracks whether the push notification is initially enabled for Drive.
Recorded when the first notification is processed. Notification is emulated
by polling if the push notication is disabled.
</summary>
</histogram>
<histogram name="Drive.PushNotificationRegistered" enum="BooleanRegistered"
expires_after="2021-08-22">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
Tracks whether the push notification request is registered correctly for
Drive. Recorded when the push notification manager is initialized.
</summary>
</histogram>
<histogram name="DriveCommon.Lifecycle.FirstLaunchTime" units="ms"
expires_after="2021-08-09">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to launch Google Drive for the first time.
</summary>
</histogram>
<histogram name="DriveCommon.Lifecycle.Mount" enum="DriveMountStatus"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>Records outcomes of attempts to mount Google Drive.</summary>
</histogram>
<histogram name="DriveCommon.Lifecycle.MountTime" units="ms"
expires_after="2021-08-22">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>How long did it take to mount Google Drive.</summary>
</histogram>
<histogram name="DriveCommon.Lifecycle.Unmount" enum="DriveMountStatus"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>Records outcomes of attempts to unmount Google Drive.</summary>
</histogram>
<histogram name="DriveCommon.LocalSearch.OfflineSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to perform a lookup of pinned files in local Google
Drive cache.
</summary>
</histogram>
<histogram name="DriveCommon.LocalSearch.SharedSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to perform a search of shared files in local Google
Drive cache.
</summary>
</histogram>
<histogram name="DriveCommon.LocalSearch.TextSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to search a title in local Google Drive cache.
</summary>
</histogram>
<histogram name="DriveCommon.RemoteSearch.SharedSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to perform a search of shared files in online Google
Drive.
</summary>
</histogram>
<histogram name="DriveCommon.RemoteSearch.TextSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to perform a search in online Google Drive.
</summary>
</histogram>
<histogram name="DriveOffline.CrosAutoEnableOutcome"
enum="CrosEnableDriveOfflineOutcome" expires_after="2022-02-05">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
Outcome of enabling Google Drive offline mode automatically when a user
first logs into a Chrome OS device. This process involves opening a hidden
web page in the context of the Google Drive hosted app to perform the
initialization of offline mode.
</summary>
</histogram>
<histogram name="DrmUtil.CreateDisplaySnapshot.BitsPerChannel" units="bits"
expires_after="2022-01-03">
<owner>andrescj@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<owner>chromeos-gfx@google.com</owner>
<summary>
Number of bits per channel described by a parsed EDID blob. This UMA is
recorded whenever the color space is extracted from an EDID blob.
</summary>
</histogram>
<histogram name="DrmUtil.CreateDisplaySnapshot.HasEdidBlob" enum="Boolean"
expires_after="2022-01-03">
<owner>andrescj@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<owner>chromeos-gfx@google.com</owner>
<summary>
Whether an EDID blob was detected. This UMA is recorded whenever we attempt
to parse the EDID from a display.
</summary>
</histogram>
<histogram name="DrmUtil.CreateDisplaySnapshot.IsHDR" enum="Boolean"
expires_after="2022-01-03">
<owner>andrescj@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<owner>chromeos-gfx@google.com</owner>
<summary>
Whether a EDID blob contained an HDR transfer function (e.g. SMPT SE2084 or
HLG). This UMA is recorded whenever the color space is extracted from an
EDID blob.
</summary>
</histogram>
<histogram name="DrmUtil.GetColorSpaceFromEdid.ChecksOutcome"
enum="EdidColorSpaceChecksOutcome" expires_after="2022-01-03">
<owner>andrescj@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<owner>chromeos-gfx@google.com</owner>
<summary>
When attempting to get the color space from an EDID blob, whether the sanity
checks passed (and if not, which check failed). This UMA is recorded
whenever the color space is extracted from an EDID blob.
</summary>
</histogram>
<histogram name="EphemeralTab.BottomSheet.CloseReason"
enum="BottomSheet.StateChangeReason" expires_after="M92">
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records the reason that the BottomSheet-based Ephemeral Tab panel was
closed. Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.CloseReason"
enum="OverlayPanel.StateChangeReason" expires_after="M92">
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records the reason that the Ephemeral Tab panel was closed. Recorded when
the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.Ctr" enum="BooleanOpened"
expires_after="2021-10-10">
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records whether the user fully opened the Ephemeral Tab panel when it was
shown. Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.CtrPeek" enum="BooleanOpened"
expires_after="2021-10-10">
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records whether the user opened the Ephemeral Tab panel beyond peeking
state. Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.DurationOpened" units="ms"
expires_after="2021-10-10">
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records the duration in milliseconds that the Ephemeral Tab was left open.
Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.DurationPeeked" units="ms"
expires_after="2021-10-10">
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records the duration in milliseconds that the Ephemeral Tab was peeking.
Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="ExclusiveAccess.BubbleReshowsPerSession.Fullscreen"
units="reshows" expires_after="M77">
<owner>mgiuca@chromium.org</owner>
<summary>
The number of times the fullscreen bubble was re-shown due to inactivity
during a session of fullscreen mode (not including mouse or keyboard lock).
If the mouse or keyboard is also locked while a re-show occurs, both this
and BubbleReshowsPerSession.MouseLock and/or
BubbleReshowsPerSession.KeyboardLock are incremented. Includes all types of
fullscreen (user-triggered, extension-triggered and page-triggered).
Recorded at the end of the session if the simplified-fullscreen-ui flag is
enabled.
</summary>
</histogram>
<histogram name="ExclusiveAccess.BubbleReshowsPerSession.KeyboardLock"
units="reshows" expires_after="M77">
<owner>joedow@chromium.org</owner>
<summary>
The number of times the keyboard lock exit bubble was re-shown during a
session of keyboard lock mode. This occurs when the ExclusiveAccessMode
inactivity timer fires (roughly every 15 minutes). If also in fullscreen
while a re-show occurs both this and BubbleReshowsPerSession.Fullscreen are
incremented in that scenario. Recorded at the end of the session if the
simplified-fullscreen-ui flag is enabled.
</summary>
</histogram>
<histogram name="ExclusiveAccess.BubbleReshowsPerSession.KeyboardLockForced"
units="reshows" expires_after="M77">
<owner>joedow@chromium.org</owner>
<summary>
The number of times the keyboard lock exit bubble was re-shown during a
session of keyboard lock mode due to the user pressing the escape key
repeatedly. This metric does not count reshows due to inactivity. Recorded
at the end of the session if the simplified-fullscreen-ui flag is enabled.
</summary>
</histogram>
<histogram name="ExclusiveAccess.BubbleReshowsPerSession.MouseLock"
units="reshows" expires_after="M77">
<owner>mgiuca@chromium.org</owner>
<summary>
The number of times the mouse lock bubble was re-shown due to inactivity
during a session of mouse lock mode. If also in fullscreen while a re-show
occurs, both this and BubbleReshowsPerSession.Fullscreen are incremented.
Recorded at the end of the session if the simplified-fullscreen-ui flag is
enabled.
</summary>
</histogram>
<histogram name="ExploreSites.CatalogError" enum="ExploreSitesCatalogError"
expires_after="M82">
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<summary>
If we find a bad catalog from the network, report which problems it had.
</summary>
</histogram>
<histogram name="ExploreSites.CatalogRequestResult"
enum="ExploreSitesCatalogUpdateRequestResult" expires_after="2021-10-04">
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<summary>Results of the Explore Sites network request for a catalog.</summary>
</histogram>
<histogram name="ExploreSites.CatalogUpdateRequestSource"
enum="ExploreSitesCatalogUpdateRequestSource" expires_after="2020-03-22">
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<summary>
The Explore Sites catalog can be requested in several code paths. This
identifies which code path was used for the request.
</summary>
</histogram>
<histogram name="ExploreSites.CategoryClick" enum="ExploreSitesCategories"
expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
The number of times the user clicked on a site in a category with the
selected type on the Explore Sites page.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram name="ExploreSites.ClickedNTPCategoryIndex"
enum="MostVisitedTileIndex" expires_after="2020-04-05">
<owner>dimich@chromium.org</owner>
<summary>
0-based index of a category tile on NTP which was clicked by the user.
Indices are assigned by counting category tiles left-to-right, top-to-bottom
as they appear on NTP. Recorded on click.
</summary>
</histogram>
<histogram name="ExploreSites.ExploreSitesStore.StoreEvent"
enum="ExploreSitesStoreEvent" expires_after="M81">
<owner>dewittj@chromium.org</owner>
<summary>Counts when the explore sites store is opened or closed.</summary>
</histogram>
<histogram name="ExploreSites.FetcherHttpResponseCode" enum="HttpResponseCode"
expires_after="M85">
<owner>dimich@chromium.org</owner>
<summary>
Http response code from ExploreSitesFetcher. Recorded every time the fetcher
is finishing without network error and actually has HTTP response code. 2XX
codes also included.
</summary>
</histogram>
<histogram name="ExploreSites.FetcherNetErrorCode" enum="NetErrorCodes"
expires_after="M85">
<owner>dimich@chromium.org</owner>
<summary>
Net error results from ExploreSitesFetcher. Recorded every time the fetcher
is finishing. OK and ABORTED are included.
</summary>
</histogram>
<histogram name="ExploreSites.ImageDecoded" units="Boolean"
expires_after="2020-06-30">
<owner>freedjm@chromium.org</owner>
<owner>chrome-explore-team@google.com</owner>
<summary>Tracks the result of image decoding for the favicons.</summary>
</histogram>
<histogram name="ExploreSites.MonthlyHostCount" units="hosts"
expires_after="2021-08-22">
<owner>dimich@chromium.org</owner>
<summary>
Number of unique hosts visited by the user during the last 30 days. Reported
at most once a week for all users on Android only, with a 5 second delay
after startup. This is different from History.MonthlyHostCount which is
reported for a percentage of startups, to avoid bias toward more active
users.
</summary>
</histogram>
<histogram name="ExploreSites.NavBackTime" units="ms" expires_after="M85">
<owner>chili@chromium.org</owner>
<owner>dewittj@chromium.org</owner>
<summary>
Recorded every time a user navigates out of the explore sites page and comes
back to it within 30 seconds on the same tab. This is used to measure
accidental clicks, where we expect users who navigate to the wrong page will
navigate back to the ExploreSites page immediately afterward.
</summary>
</histogram>
<histogram name="ExploreSites.NTPLoadingCatalogFromNetwork" units="Boolean"
expires_after="2020-02-16">
<owner>dimich@chromium.org</owner>
<summary>
Recorded every time NTP is opened while ExploreSites feature is enabled.
Indicates whether or not the local cached version of ExploreSites catalog
was available or a network request was initiated to load one.
</summary>
</histogram>
<histogram name="ExploreSites.RequestStatus" enum="ExploreSitesRequestStatus"
expires_after="2021-10-10">
<owner>dimich@chromium.org</owner>
<owner>freedjm@chromium.org</owner>
<summary>
Reported each time from the result callback of the ExploreSitesFetcher.
Values include Success and several failure codes.
</summary>
</histogram>
<histogram name="ExploreSites.SiteTilesClickIndex2" units="units"
expires_after="2021-08-09">
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<summary>
The total index of the selected tile on the ExploreSites page. This measures
how far down from the top it is, counting all the other tiles in cards above
it. This assumes 10 tiles per category, which is set to the maximum of the
tile counts of all existing variations of the ExploreSites page.
</summary>
</histogram>
<histogram name="FactoryPingEmbargo.EndDateValidity"
enum="FactoryPingEmbargoEndDateValidity" expires_after="M77">
<owner>pmarko@chromium.org</owner>
<owner>rogerta@chromium.org</owner>
<summary>
Record the validity of |rlz_embargo_end_date| in RW_VPD. This is recorded
when the VPD value is accessed, which may be multiple times in the same
chrome invocation. This is not recorded when the VPD value is missing.
</summary>
</histogram>
<histogram name="FamilyUser.ArcAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.ArcAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used arc apps in the
past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.BorealisAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.BorealisAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used borealis apps in
the past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.ChromeBrowserEngagement.Duration" units="ms"
expires_after="2021-07-14">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user Chrome browser usage in milliseconds. Reports
current daily duration at the first session start on next day. This is only
logged for active foreground time of Chrome browser. Ignores the time when
video or audio is playing in the background, or Chrome browser is invisible.
</summary>
</histogram>
<histogram name="FamilyUser.CrostiniAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.CrostiniAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used crostini apps in
the past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.DeviceOwner" enum="Boolean"
expires_after="2021-10-17">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records whether the current primary user is the owner of device. Reports at
the beginning of the first active session daily.
</summary>
</histogram>
<histogram name="FamilyUser.EnabledExtensionsCount"
units="Number of Extensions" expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.EnabledExtensionsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of non-component enabled regular browser extensions and
themes around once per day, regardless of when they were last used.
</summary>
</histogram>
<histogram name="FamilyUser.ExtensionAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.ExtensionAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used extension apps in
the past 28 days. Compared to FamilyUser.InstalledExtensionsCount, this
metric only includes apps and excludes regular browser extensions.
</summary>
</histogram>
<histogram name="FamilyUser.FamilyLinkUsersCount" units="Number of Users"
expires_after="2021-10-17">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of family link users on a Chrome OS device at the
beginning of the first active session daily.
</summary>
</histogram>
<histogram name="FamilyUser.GaiaUsersCount" units="Number of Users"
expires_after="2022-02-12">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of Gaia users on a Chrome OS device, at the beginning of
the first active session daily for all user types except incognito session.
The user count could be 0 if the managed device has ephemeral user policy.
</summary>
</histogram>
<histogram name="FamilyUser.InstalledExtensionsCount"
units="Number of Extensions" expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.InstalledExtensionsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of non-component installed regular browser extensions and
themes around once per day, regardless of when they were last used.
</summary>
</histogram>
<histogram name="FamilyUser.ManagedSiteList" enum="FamilyLinkManagedSiteList"
expires_after="2021-08-12">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records whether managed sites approved list and blocked list are enabled for
currently active Family Link user. Reports at the beginning of the first
active session daily. Ignores the reports during OOBE and sign out.
</summary>
</histogram>
<histogram name="FamilyUser.NewUserAdded" enum="NewUserAdded"
expires_after="2021-12-12">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Reports NewUserAdded enum when a new Family Link user or regular user is
successfully added to Chrome OS device. Other user types fall into the other
bucket. Reports when the user session starts.
</summary>
</histogram>
<histogram name="FamilyUser.OtherAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with individual app types in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used apps in the past 28
days in a catch-all other category. Includes unknown, built-in, mac native,
plugin vm, lacros, and remote apps.
</summary>
</histogram>
<histogram name="FamilyUser.SessionEngagement.Duration" units="ms"
expires_after="2021-07-14">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user session duration in milliseconds. Reports current
daily duration at the first session start on next day. This is only logged
for active usage time of device, determined by UsageTimeState::ACTIVE.
</summary>
</histogram>
<histogram name="FamilyUser.SessionEngagement.Total" units="Hour of day"
expires_after="2021-07-14">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user engagement hour within the current day (0-23),
total of weekday and weekend. Logged on
UsageTimeStateNotifier::UsageTimeState changes to INACTIVE. Might report the
same hour multiple times.
</summary>
</histogram>
<histogram name="FamilyUser.SessionEngagement.Weekday" units="Hour of day"
expires_after="2021-09-12">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user engagement hour of day (0-23) on weekday. Logged
on UsageTimeStateNotifier::UsageTimeState changes to INACTIVE. Might report
the same hour multiple times.
</summary>
</histogram>
<histogram name="FamilyUser.SessionEngagement.Weekend" units="Hour of day"
expires_after="2021-09-12">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user engagement hour of day (0-23) on weekend. Logged
on UsageTimeStateNotifier::UsageTimeState changes to INACTIVE. Might report
the same hour multiple times.
</summary>
</histogram>
<histogram name="FamilyUser.TimeLimitPolicyTypes" enum="TimeLimitPolicyType"
expires_after="2021-12-12">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records what time limit policy types are enabled for the currently active
Family Link user. Enabling multiple policies would report multiple buckets
to UMA. Reports at the beginning of the first active session daily.
</summary>
</histogram>
<histogram name="FamilyUser.TotalAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
We only know the individual app type totals, not the overall total, after
M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the total number of recently used apps in the
past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.TotalUsersCount" units="Number of Users"
expires_after="M90">
<obsolete>
Removed in M90. Use FamilyUser.GaiaUsersCount instead.
</obsolete>
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of users for all user types on a Chrome OS device at the
beginning of the first active session daily.
</summary>
</histogram>
<histogram name="FamilyUser.WebAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.WebAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used web apps in the
past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.WebFilterType" enum="FamilyLinkWebFilterType"
expires_after="2021-08-12">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the web filter type for currently active Family Link user. Reports
at the beginning of the first active session daily. Ignores the reports
during OOBE and sign out.
</summary>
</histogram>
<histogram name="FamilyUser.{AppType}AppsCount2" units="Number of Apps"
expires_after="2022-02-04">
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used {AppType} apps in
the past day.
</summary>
<token key="AppType">
<variant name="Arc"/>
<variant name="Borealis"/>
<variant name="BuiltIn"/>
<variant name="Crostini"/>
<variant name="Extension"/>
<variant name="Lacros"/>
<variant name="MacOs"/>
<variant name="PluginVm"/>
<variant name="Remote"/>
<variant name="SystemWeb"/>
<variant name="Unknown"/>
<variant name="Web"/>
</token>
</histogram>
<histogram name="FamilyUser.{ExtensionStatus}ExtensionsCount2"
units="Number of Extensions" expires_after="2022-02-04">
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of non-component {ExtensionStatus} regular browser
extensions and themes around once per day, regardless of when they were last
used.
</summary>
<token key="ExtensionStatus">
<variant name="Enabled" summary="enabled"/>
<variant name="Installed" summary="installed"/>
</token>
</histogram>
<histogram name="FaultTolerantHeap" enum="FaultTolerantHeap"
expires_after="M77">
<owner>brucedawson@chromium.org</owner>
<summary>
Records several bits of information about whether the Windows
FaultTolerantHeap might be enabled. This is logged (from a delayed task)
when the browser process starts up.
</summary>
</histogram>
<histogram name="Favicon.OnDemandIconExistsInDb" units="units"
expires_after="2021-07-19">
<owner>victorvianna@google.com</owner>
<owner>jkrcal@chromium.org</owner>
<summary>
Records whether an icon already existed in the thumbnail DB when downloading
an on-demand one. On-demand icons are the ones added to local cache without
the user visiting the corresponding page.
</summary>
</histogram>
<histogram name="Favicons.LargeIconService.BlacklistedURLMismatch"
units="BooleanError" expires_after="M77">
<obsolete>
Removed in M88.
</obsolete>
<owner>mastiz@chromium.org</owner>
<summary>
Records the number of large icons that were fetched from the local cache
(e.g. during NTP impression), where the URL (of the page or the icon)
matches a hardcoded blacklist. Suspicious mismatches are reported as errors.
</summary>
</histogram>
<histogram name="Favicons.LargeIconService.DownloadedSize" units="pixels"
expires_after="never">
<!-- expires-never: This metric is needed for informing future UX decisions on
mobile (how to display favicons / scrabble tiles). -->
<owner>jkrcal@chromium.org</owner>
<owner>mastiz@chromium.org</owner>
<summary>
Records the size (concretely the width) in pixel of the favicon downloaded
from Google favicon server (size 0 denotes that download has failed).
</summary>
</histogram>
<histogram name="Favicons.LargeIconService.FallbackSize" units="pixels"
expires_after="never">
<!-- expires-never: This metric is needed for informing future UX decisions on
mobile (how to display favicons / scrabble tiles). -->
<owner>jkrcal@chromium.org</owner>
<owner>mastiz@chromium.org</owner>
<summary>
Records the size (concretely the width) in pixel of the favicon that is used
to generate a fallback style in the case when large enough favicon is not
available (size 0 denotes that no favicon is available at all).
</summary>
</histogram>
<histogram name="Feedback.HappinessTrackingSurvey.BubbleUsage"
enum="HappinessTrackingSurveyDesktopBubbleUsage" expires_after="M82">
<owner>weili@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Records how user interacts with Happiness Tracking Surveys (HaTS) bubble
prompt which is shown for a subset of users. Each time when the bubble is
shown, there should be one and only one enum type is recorded.
</summary>
</histogram>
<histogram name="Feedback.HappinessTrackingSurvey.ShouldShowSurveyReason"
enum="HappinessTrackingSurveyShouldShowSurveyReasons"
expires_after="2021-09-05">
<owner>sauski@google.com</owner>
<owner>msramek@chromium.org</owner>
<summary>
Records the first reason why the Happiness Tracking Surveys (HaTS) bubble
was or was not shown. While the request to show may not meet multiple
criteria, the first criterion is reported here.
</summary>
</histogram>
<histogram name="Feedback.RequestSource" enum="FeedbackSource"
expires_after="2022-04-05">
<owner>afakhry@chromium.org</owner>
<owner>cros-telemetry@google.com</owner>
<summary>Records the source that requested showing the feedback app.</summary>
</histogram>
<histogram name="FirstRun.IOSFirebaseConfigured" enum="FirebaseConfiguredState"
expires_after="M89">
<owner>ghendel@chromium.org</owner>
<owner>pkl@chromium.org</owner>
<summary>Track whether Firebase is enabled or not at app startup.</summary>
</histogram>
<histogram name="FirstRun.LaunchSource" enum="FirstRunLaunchSource"
expires_after="2021-10-04">
<owner>jlebel@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
Counts the number of times First Run experience was triggered by another
application launching Chrome. This metric measures the effectiveness of
Smart App Banner promotions on installation of Chrome.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.GoogleAppsInteraction"
enum="NuxGoogleAppsInteractions" expires_after="M76">
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records when a user interacted with the Google Apps new user experience. We
record both accept and reject but are not recording when a user ignored the
prompt completely. Users can ignore this prompt by closing the tab or
navigating away, we record when the prompt is shown.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.GoogleAppsSelection"
enum="NuxGoogleAppsSelections" expires_after="M76">
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records what Google apps were selected as part of the Google Apps New User
Experience. Histogram is only recorded when a user accepts the prompt to add
Google Apps.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.LandingPageInteraction"
enum="NuxLandingPageInteractions" expires_after="never">
<!-- expires-never: Captures users' initial interaction with chrome. We will
need to track how the metrics change over time, and how different
acquisition campaigns impact this metric. -->
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records when a user interacted with the landing page of the onboarding
process. We record that the page was seen and what action the user took.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.NtpBackgroundInteraction"
enum="NuxNtpBackgroundInteractions" expires_after="2021-10-04">
<owner>hcarmona@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
Records when a user interacts with the NTP Backgrounds new user experience.
We record the number of times the page is seen, how they interacted with the
page (i.e. interacted with the options and buttons), and through what method
they leave the page (i.e, confirm, cancel, neither). The new user experience
should only be shown once to new profiles.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.NtpBackgroundLoadTime" units="ms"
expires_after="M80">
<owner>hcarmona@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
Records the time taken to load a NTP background image for preview. This is
recorded when a user clicks on a background to preview and the full-size
version of the background finishes loading.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.SetAsDefaultInteraction"
enum="NuxSetAsDefaultInteractions" expires_after="never">
<!-- expires-never: Captures users' initial interaction with chrome. We will
need to track how the metrics change over time, and how different
acquisition campaigns impact this metric. -->
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records when a user interacted with the set default page of the onboarding
process. We record that the page was seen and what action the user took.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.SignInInterstitialInteraction"
enum="NuxSignInInterstitialInteractions" expires_after="M76">
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records when a user interacted with the sign in interstitial of the
onboarding process. We record that the page was seen and what action the
user took.
</summary>
</histogram>
<histogram name="FirstRun.Sentinel.Created" enum="FirstRunSentinelResult"
expires_after="2022-04-01">
<owner>jlebel@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>Result of sentinel file has been written.</summary>
</histogram>
<histogram name="FirstRun.Sentinel.CreatedFileError" enum="PlatformFileError"
expires_after="2022-04-01">
<owner>jlebel@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>File error when the sentinel file was not written.</summary>
</histogram>
<histogram name="FirstRun.SignIn" enum="FirstRunSignInResult"
expires_after="never">
<!-- expires-never: Used to monitor sign-in during the first run experience.
-->
<owner>fernandex@chromium.org</owner>
<owner>jlebel@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>Result of the sign in flow during first run on iOS.</summary>
</histogram>
<histogram name="FirstUserAction.BackgroundTime" units="minutes"
expires_after="2021-08-22">
<!-- Name completed by histogram_suffixes name="FirstUserActionType" and name="FirstUserActionTypeDevice" -->
<owner>justincohen@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
WARNING: The list of actions used to identify new tasks hasn't been
attentively updated for several years (as of 2017). Some actions that should
likely be considered new tasks are probably missing. Take this histogram
with a grain of salt. Was expired for M85, M86.
The amount of time (in seconds) that the app was in the background before
the user started it
</summary>
</histogram>
<histogram name="FirstUserAction.HandsetUserActionType"
enum="FirstUserActionType" expires_after="2021-08-22">
<owner>justincohen@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
WARNING: The list of actions used to identify new tasks hasn't been
attentively updated for several years (as of 2017). Some actions that should
likely be considered new tasks are probably missing. Take this histogram
with a grain of salt. Was expired for M77-M86.
On handsets, the type of the first user action performed after the app was
started or unbackgrounded.
</summary>
</histogram>
<histogram name="FirstUserAction.TabletUserActionType"
enum="FirstUserActionType" expires_after="2021-08-22">
<owner>justincohen@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
WARNING: The list of actions used to identify new tasks hasn't been
attentively updated for several years (as of 2017). Some actions that should
likely be considered new tasks are probably missing. Take this histogram
with a grain of salt. Was expired for M82-M86.
On tablets, the type of the first user action performed after the app was
started or unbackgrounded.
</summary>
</histogram>
<histogram name="FontFallback.GetLinkedFonts.CacheMissTiming" units="ms"
expires_after="2021-01-01">
<owner>drott@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
Time to retrieve the fallback fonts on the system when not found in cache.
</summary>
</histogram>
<histogram name="FontFallback.GetLinkedFonts.FontCount" units="count"
expires_after="2021-01-01">
<owner>drott@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>The amount of font returned for a given font family.</summary>
</histogram>
<histogram name="FontFallback.GetLinkedFonts.Timing" units="ms"
expires_after="2021-01-01">
<owner>drott@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>Time to retrieve the fallback fonts on the system.</summary>
</histogram>
<histogram name="Fonts.AccessAPI.EnumerationCache.DuplicateFontCount"
units="count" expires_after="M90">
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
The number of duplicate fonts returned by system APIs. This is recorded when
fonts are enumerated to be returned to script as a result of a call to the
Font Access API.
</summary>
</histogram>
<histogram name="Fonts.AccessAPI.EnumerationCache.Dwrite.FamilyCount"
units="families" expires_after="M90">
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
Records the number of font families observed by the font enumeration cache
as part of the Font Access API.
</summary>
</histogram>
<histogram
name="Fonts.AccessAPI.EnumerationCache.Dwrite.GetSystemFontCollectionResult"
enum="Hresult" expires_after="M90">
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
Records errors returned when obtaining the list of system fonts from
DirectWrite's GetSystemFontCollection.
</summary>
</histogram>
<histogram
name="Fonts.AccessAPI.EnumerationCache.Dwrite.MostFrequentEnumerationFailure"
enum="Hresult" expires_after="M90">
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
Records the most frequent failure to obtain metadata for a font family when
enumerating fonts as part of the Font Access API. Recorded in
FontEnumerationCacheWin when all fonts have been enumerated. Values are
Windows HRESULT error codes, and also includes custom values specific to
this implementation.
</summary>
</histogram>
<histogram
name="Fonts.AccessAPI.EnumerationCache.Fontconfig.DuplicateFontCount"
units="count" expires_after="M90">
<obsolete>
Removed in M86 in favor of
Fonts.AccessAPI.EnumerationCache.DuplicateFontCount.
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>The number of duplicate fonts returned by fontconfig.</summary>
</histogram>
<histogram name="Fonts.AccessAPI.EnumerationCache.Fontconfig.FontCount"
units="count" expires_after="M90">
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>The number of fonts returned by fontconfig.</summary>
</histogram>
<histogram
name="Fonts.AccessAPI.EnumerationCache.Fontconfig.IncompleteFontCount"
units="count" expires_after="M90">
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
The number of fonts whose name table entries could not be read.
</summary>
</histogram>
<histogram name="Fonts.AccessAPI.EnumerationTime" units="ms"
expires_after="2021-06-20">
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>Time spent enumerating fonts.</summary>
</histogram>
<histogram name="ForceDiceMigration.RevokeTokenAction" enum="RevokeTokenAction"
expires_after="2020-10-04">
<obsolete>
Removed in M88.
</obsolete>
<owner>msalama@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<summary>
Tracks revoke actions taken by the account reconcilior to force Dice
migration. To enforce consistency, the reconcilior may invalidate the
primary account or revoke one or more secondary account tokens, if no
equivalent valid gaia cookie exist for those accounts.
</summary>
</histogram>
<histogram name="Gaia.AuthFetcher.ListAccounts.NetErrorCodes"
enum="NetErrorCodes" expires_after="never">
<!-- expires-never: used to monitor and troubleshoot the signin component -->
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<summary>
Reports the network error code for requests to the ListAccounts Gaia
endpoint.
</summary>
</histogram>
<histogram name="Gaia.BadRequestTypeForOAuth2AccessToken"
enum="OAuth2BadRequestError" expires_after="never">
<!-- expires-never: Used to monitor OAuth code health and debug issues. -->
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Detailed error type in bad requests for OAuth2 access tokens. Recorded when
a HTTP 400 is received in response to a access token request.
</summary>
</histogram>
<histogram name="Gaia.ResponseCodesForOAuth2AccessToken"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="never">
<!-- expires-never: Used to monitor OAuth code health and debug issues. -->
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
URLFetcher response codes for OAuth2AccessToken. Positive values are HTTP
status codes, negative values are network error codes. Recorded on responses
to OAuth access token requests.
</summary>
</histogram>
<histogram name="Gamepad.KnownGamepadConnectedWithId"
enum="GamepadVendorProduct" expires_after="2021-10-10">
<owner>mattreynolds@chromium.org</owner>
<owner>deviceapi-team@google.com</owner>
<summary>
Records an integer value that can be used to identify a connected gamepad
device. The value is constructed from the 16-bit vendor ID in the high-order
bytes and the 16-bit product ID in the low-order bytes, then cast to a
32-bit signed integer. The GamepadVendorProduct enum lists IDs for several
popular gamepads but is incomplete. To identify a device not included in the
enum, convert back to the vendor/product IDs and look up the human-friendly
product name in go/gamepad-ids. This histogram records a new entry when a
device with a vendor and product ID matching a known gaming input device is
detected during Gamepad API enumeration.
</summary>
</histogram>
<histogram name="Gamepad.UnknownGamepadConnected" enum="GamepadSource"
expires_after="2021-09-19">
<owner>mattreynolds@chromium.org</owner>
<owner>deviceapi-team@google.com</owner>
<summary>
Records an enumeration value identifying the active data fetcher when a
fetcher enumerates a device that is not on the list of known gamepads, but
is recognized as a gamepad by the fetcher.
</summary>
</histogram>
<histogram name="GData.AuthSuccess" enum="GDataAuthResult"
expires_after="2018-08-30">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>Result of the authentication for Drive.</summary>
</histogram>
<histogram name="GestureNavigation.Activated" enum="GestureNavigationDirection"
expires_after="2021-12-28">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gesture was made beyond a threshold big enough to regard it as a
valid gesture navigation i.e. at least 1/3 of the arrow puck is visible.
Similar to 'Triggered' but is used in pair with 'Cancelled' on M81 forward
to measure cancellation rate. Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Cancelled" enum="GestureNavigationDirection"
expires_after="2021-12-28">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gestures that were cancelled before they were completed. Similar
to 'Abandoned' but is used in pair with 'Activated' on M81 forward to
measure cancellation rate. Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Completed" enum="GestureNavigationDirection"
expires_after="2021-12-28">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Navigations that were triggered due to completed overscroll gesture.
Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Reversed" enum="GestureNavigationDirection"
expires_after="2021-12-28">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gesture was made to trigger navigation, but within 3 seconds user
used overscroll gesture to navigate back to the page. Implemented for
Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Sheet.Peeked"
enum="GestureNavigationDirection" expires_after="2020-09-23">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gesture was made to trigger navigation bottom sheet to peeked
state. Peek state can be entered and exited more than once in a sequence of
overscroll gesture (until user lifts his finger). They are recorded as just
one event per sequence. Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Sheet.Selected" units="units"
expires_after="2020-09-23">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Index of the entries in the navigation bottom sheet that user tapped.
Negative means navigating backward, positive forward. Zero index means that
the user chose &quot;Show full history&quot;.
</summary>
</histogram>
<histogram name="GestureNavigation.Sheet.Used"
enum="GestureNavigationDirection" expires_after="2020-09-23">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
User tapped one of the entries in the expanded navigation bottom sheet to
navigate to other page. Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Sheet.Viewed"
enum="GestureNavigationDirection" expires_after="2020-09-23">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gesture was made to trigger navigation bottom sheet to expanded
state where the whole list of history items are presented.
</summary>
</histogram>
<histogram name="GestureNavigation.Type" enum="GestureNavigationType"
expires_after="2021-12-28">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Gesture navigation type. It can be either Chrome's own gesture UI that
supports back and forward navigation or OS-provided default system gesture
navigation that supports only back action on both left and right edge. This
is recorded on Chrome startup at the feature component initialization.
</summary>
</histogram>
<histogram name="Gpu.GL.GetErrorDuration.GLImageEGL.BindTexImage"
units="microseconds" expires_after="2022-03-31">
<owner>berlu@chromium.org</owner>
<owner>chromeos-gfx-compositor@google.com</owner>
<summary>
The time that elapsed for a call to glGetError to complete while trying to
bind a GLImageEGL to a texture. The goal is to measure the impact of the
potential sync barrier that glGetError represents. Only reported for
platforms supporting high resolution clocks.
</summary>
</histogram>
<histogram name="Gpu.GL.GetErrorResult.GLImageEGL.BindTexImage"
enum="BooleanError" expires_after="2022-03-31">
<owner>berlu@chromium.org</owner>
<owner>chromeos-gfx-compositor@google.com</owner>
<summary>
Whether glGetError actually returned an error while trying to bind a
GLImageEGL to a texture. The goal is to evaluate how often the call to
glGetError might actually serve its purpose.
</summary>
</histogram>
<histogram name="Gpu.GL.ProgramBuildTime" units="ms" expires_after="M82">
<owner>ccameron@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
The time that elapsed between a call to glCreateProgram and the call to
query GL_LINK_STATUS via glGetProgramiv in Skia's GrGLInterface. This
encompasses the creation of the vertex, fragment, and geometry shaders,
their compilation, and their linking. This is called for every program
created by Skia via the GrGLInterface.
</summary>
</histogram>
<histogram name="Gpu.Mac.Backpressure" units="ms" expires_after="M80">
<owner>ccameron@chromium.org</owner>
<owner>khushalsagar@chromium.org</owner>
<summary>
The time that the GPU's main CPU thread spends waiting for previous frames'
GPU work to complete. Recorded at every frame.
</summary>
</histogram>
<histogram name="Gpu.Metal.TestShaderCompileTime" units="ms"
expires_after="M85">
<owner>ccameron@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Compiling a MTLLibrary will sometimes hang forever. When initializing the
gpu process, a test shader is compiled to see if the MTLCompilerService is
responding or not. This records the time that it took for the compile to
succeeded, up to 1 minute. After 1 minute, a timeout sentinel value of 3
minutes is reported.
</summary>
</histogram>
<histogram name="Gpu.Metal.TestShaderLinkTime" units="ms" expires_after="M85">
<owner>ccameron@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Linking a MTLRenderPipelineState will sometimes hang forever. When
initializing the GPU process, a test shader is compiled to see if the
MTLCompilerService is responding or not. This records the time that it took
for the compile to succeeded, up to 1 minute. After 1 minute, a timeout
sentinel value of 3 minutes is reported.
</summary>
</histogram>
<histogram name="Gpu.MetalProxy.NewLibraryTime" units="ms" expires_after="M82">
<owner>ccameron@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
The time that it takes to create a new MTLLibrary, including all retries.
Recorded after every call to -[MTLDeviceProxy newLibraryWithSource:]
completes.
</summary>
</histogram>
<histogram name="Gpu.MetalProxy.NewRenderPipelineStateTime" units="ms"
expires_after="M82">
<owner>ccameron@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
The time that it takes to create a new MTLRenderPipelineState, including all
retries. Recorded after every call to -[MTLDeviceProxy
newRenderPipelineStateWithDescriptor:] completes.
</summary>
</histogram>
<histogram name="Graphics.PresentationTimestamp.InvalidBeforeSwap" units="ms"
expires_after="2021-09-01">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Presentation timestamp comes from the driver when showing a display frame on
screen. These timestamps could be invalid, and be earlier than the swap
time. This metric records how much time before the swap-time such invalid
timestamps are. If the presentation timestamp is after the swap-time, then
this metric is not recorded.
</summary>
</histogram>
<histogram name="Graphics.PresentationTimestamp.InvalidFromFuture" units="ms"
expires_after="2021-09-01">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Presentation timestamp comes from the driver when showing a display frame on
screen. These timestamps can sometimes be in the future. This metric records
how far in the future these timestamps can be. If the timestamp is not in
the future, then this metric is not recorded.
</summary>
</histogram>
<histogram name="Graphics.PresentationTimestamp.LargePresentationDelta"
units="ms" expires_after="2021-09-01">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Measures very large (more than 3 minutes) delay in presenting display
frames. Presentation timestamp comes from the driver when showing a display
frame on screen. There are times when the presentation can be delayed a long
time. This metric reports how often this can happen. This is reported only
if the presentation takes 3 minutes or more.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.95pctPercentDroppedFrames_1sWindow"
units="%" expires_after="2021-11-12">
<owner>behdadb@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
The percent dropped frame is calculated for each sliding window of 1 second
length and added to a histogram, and then the 95 percentile of that
histogram is reported as 95pctPercentDroppedFrames_1sWindow.
The sliding windows cover the duration of page-load (From start of page-load
until user navigates away, or closes the tab/chrome, or when app goes to
background). Note that this means that this metric will bias toward tabs
that are closed more quickly, and might underreport tabs that remain open
for a long duration.
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.Checkerboarding" units="%"
expires_after="2021-09-12">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the percent of frames that were shown with checkerboards during a
particular sequence of frames (e.g. during scroll, animation, etc.). Note
that this is only recorded for sequences of length &gt; 4.
Checkerboarding is measured by tracking the number of times checkerboard
frames are displayed (as opposed to the number of checkerboard frames
produced), since the same checkerboard frame can be displayed more than
once.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.Diagnostic.DiscardedDependentCount"
units="dependent reporters" expires_after="2022-02-01">
<owner>sadrul@chromium.org</owner>
<owner>behdadb@chromium.org</owner>
<summary>
Diagnostic metric to measure how many dependent reporters have been
discarded.
The reporters might be dependant on another reporter (when having partial
updates) but if the number of dependents go over a limit we would discard
them earlier. This metric count how many of such reporters been discarded
earlier than expected as a result of outstanding number of dependent
reporters. The metric will be reported at the end of each frame if there has
been any discarded dependent reporters.
</summary>
</histogram>
<histogram
name="Graphics.Smoothness.Diagnostic.DroppedFrameAfterScrollStart.Frames"
units="vsyncs" expires_after="2021-09-01">
<owner>sadrul@chromium.org</owner>
<owner>behdadb@chromium.org</owner>
<summary>
Diagnostic metric to measure how long after scroll-start a frame is dropped.
For every frame dropped during a scroll, this metric reports how long after
scroll started the frame dropped (in number of vsyncs).
</summary>
</histogram>
<histogram
name="Graphics.Smoothness.Diagnostic.DroppedFrameAfterScrollStart.Time"
units="ms" expires_after="2021-09-01">
<owner>sadrul@chromium.org</owner>
<owner>behdadb@chromium.org</owner>
<summary>
Diagnostic metric to measure how long after scroll-start a frame is dropped.
For every frame dropped during a scroll, this metric reports how long after
scroll started the frame dropped (in milliseconds).
</summary>
</histogram>
<histogram name="Graphics.Smoothness.Diagnostic.ReadSharedMemoryDuration"
units="microseconds" expires_after="2021-09-01">
<owner>sadrul@chromium.org</owner>
<owner>behdadb@chromium.org</owner>
<summary>
Diagnostic metric to track how long it takes to read the smoothness data
from shared memory.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.Diagnostic.ReadSharedMemoryUKMSuccess"
units="boolean" expires_after="2021-09-01">
<owner>sadrul@chromium.org</owner>
<owner>fangzhoug@chromium.org</owner>
<summary>
Diagnostic metric to track how often reading the smoothness data for UKM
from the shared memory (using atomic memcpy) fails (or succeeds).
</summary>
</histogram>
<histogram name="Graphics.Smoothness.FrameSequenceLength" units="count"
expires_after="2021-08-15">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Counts the number of frames expected during a particular sequence of frames
(e.g. during scroll, animation, etc.).
</summary>
</histogram>
<histogram name="Graphics.Smoothness.Jank" units="%" expires_after="2021-10-04">
<owner>sadrul@chromium.org</owner>
<owner>mjzhang@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the percent of janks for a particular sequence of frames (e.g. during
scroll, animation, etc.). This is reported in various sub-metrics with
suffixes describing the type of the sequence (e.g. TouchScroll etc.).
Jank is measured by tracking the number of abrupt increases in frame
presentation interval, divided by the total number of frames expected to be
produced and displayed. The lower this number is, the less the smoothness
varies over time.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.MaxPercentDroppedFrames_1sWindow"
units="%" expires_after="2021-11-12">
<owner>behdadb@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
Tracks the percent of dropped frames for in a 1 second sliding window.
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.MaxStale" units="ms"
expires_after="2021-11-01">
<owner>sadrul@chromium.org</owner>
<owner>mjzhang@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the maximum staleness value for all presentations for a particular
sequence of frames (e.g. during scroll, animation, etc.). This is reported
in various sub-metrics with suffixes describing the type of the sequence
(e.g. TouchScroll etc.).
Typically, a frame presentation is expected to last at least one vsync
cycle, plus any number of additional vsync cycles if no updates are expected
duration that time. If the presentation interval is prolonged due to reasons
other than listed above, then that prolonged portion will be considered
staleness for that frame.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.PercentDroppedFrames" units="%"
expires_after="2021-09-30">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the percent of dropped frames for a particular sequence of frames
(e.g. during scroll, animation, etc.). This is reported in various
sub-metrics with suffixes describing the type of the sequence (e.g.
TouchScroll etc.).
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.PercentDroppedFrames.AllAnimations"
units="%" expires_after="2021-09-30">
<owner>sadrul@chromium.org</owner>
<owner>ericrk@chromium.org</owner>
<summary>
Tracks the percent of dropped frames for a particular sequence of frames for
all animations. This metric is reported for all animations (e.g.
comositor-driven animations, main-thread driven animations, and raf-driven
animations).
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.PercentDroppedFrames.AllInteractions"
units="%" expires_after="2021-09-30">
<owner>sadrul@chromium.org</owner>
<owner>ericrk@chromium.org</owner>
<summary>
Tracks the percent of dropped frames for a particular sequence of frames
where a user-input (e.g. scroll, pinch) is active. This metric is reported
for all sources of user-input (i.e. both touchscreen and
touchpad/mouse-wheel).
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.PercentDroppedFrames.AllSequences"
units="%" expires_after="2021-09-30">
<owner>sadrul@chromium.org</owner>
<owner>ericrk@chromium.org</owner>
<summary>
Tracks the percent of dropped frames for a particular sequence of frames.
This metric is reported for all animations and all interactions.
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram base="true" name="Graphics.Smoothness.PercentMissedDeadlineFrames"
units="%" expires_after="2021-09-30">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the percent of frames that missed the deadline for a particular
sequence of frames (e.g. during scroll, animation, etc.). This is reported
in various sub-metrics with suffixes describing the type of the sequence
(e.g. TouchScroll etc.).
PercentMissedDeadlineFrames is measured by tracking the number of frames
which were displayed on screen but missed the vsync interval.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.PercentMissedDeadlineFrames.AllAnimations"
units="%" expires_after="2021-09-30">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the percent of frames that missed the deadline for a particular
sequence of frames for all animations. This metric is reported for all
animations (e.g. comositor-driven animations, main-thread driven animations,
and raf-driven animations).
PercentMissedDeadlineFrames is measured by tracking the number of frames
which were displayed on screen but missed the vsync interval.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram
name="Graphics.Smoothness.PercentMissedDeadlineFrames.AllInteractions"
units="%" expires_after="2021-09-30">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the percent of frames that missed the deadline for a particular
sequence of frames where a user-input (e.g. scroll, pinch) is active. This
metric is reported for all sources of user-input (i.e. both touchscreen and
touchpad/mouse-wheel).
PercentMissedDeadlineFrames is measured by tracking the number of frames
which were displayed on screen but missed the vsync interval.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.PercentMissedDeadlineFrames.AllSequences"
units="%" expires_after="2021-09-30">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the percent of frames that missed the deadline for a particular
sequence of frames. This metric is reported for all animations and all
interactions.
PercentMissedDeadlineFrames is measured by tracking the number of frames
which were displayed on screen but missed the vsync interval.
Note that this metric is reported only when there are sufficient number of
frames (&gt;= 100). If there are sequences with fewer frames, then these are
aggregated until there are enough frames to produce the metric.
</summary>
</histogram>
<histogram
name="Graphics.Smoothness.PerSession.95pctPercentDroppedFrames_1sWindow"
units="%" expires_after="2021-11-18">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the 95th percentile of dropped frames percent of a sliding window of
1 second. The metric is reported once per page-load when the page closes. If
there are fewer than 20 sliding windows for calculating 95th percentile, the
max value will be used instead of 95th percentile.
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.PerSession.AveragePercentDroppedFrames"
units="%" expires_after="2021-11-18">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the percent of dropped frames. The metric is reported once per
page-load when the page closes.
AveragePercentDroppedFrames is measured by tracking the number of frames
which were not displayed on screen out of the total number of frames
expected to be produced and displayed. In other words, the lower this number
is, the smoother experience.
</summary>
</histogram>
<histogram
name="Graphics.Smoothness.PerSession.MaxPercentDroppedFrames_1sWindow"
units="%" expires_after="2021-11-18">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the Max of dropped frames percent of a sliding window of 1 second.
The metric is reported once per page-load when the page closes.
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.Stale" units="ms"
expires_after="2021-11-01">
<owner>sadrul@chromium.org</owner>
<owner>mjzhang@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the staleness value for each frame presentation for a particular
sequence of frames (e.g. during scroll, animation, etc.). This is reported
in various sub-metrics with suffixes describing the type of the sequence
(e.g. TouchScroll etc.).
Typically, a frame presentation is expected to last at least one vsync
cycle, plus any number of additional vsync cycles if no updates are expected
duration that time. If the presentation interval is prolonged due to reasons
other than listed above, then that prolonged portion will be considered
staleness.
Note that the reporting of this metric occurs as soon as a frame is
presented, and is not affected by the length of the frame sequence.
</summary>
</histogram>
<histogram name="GraphicsPipeline.ReceivedBeginFrame" units="microseconds"
expires_after="M85">
<obsolete>
Expired in M85.
</obsolete>
<owner>yiyix@chromium.org</owner>
<owner>chrome-gpu-metrics@google.com</owner>
<summary>
The amount of time it takes for the BeginFrame to travel to the Client from
the DisplayCompositor.
Note that this metrics is only recorded on clients on which a
high-resolution clock is available
</summary>
</histogram>
<histogram name="GraphicsPipeline.SubmitCompositorFrameAfterBeginFrame"
units="microseconds" expires_after="M85">
<obsolete>
Expired in M85.
</obsolete>
<owner>yiyix@chromium.org</owner>
<owner>chrome-gpu-metrics@google.com</owner>
<summary>
How long the client takes to prepare a compositor frame after receiving a
BeginFrameArgs.
Note that this is only recorded on clients on which a high-resolution clock
is available.
</summary>
</histogram>
<histogram base="true" name="GridTabSwitcher.DirtySpan" units="ms"
expires_after="2020-11-15">
<owner>yusufo@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
This histogram records the dirty span of the transition animation between
Tab and Grid Tab Switcher. The dirty span is the duration from the start of
the animation to the last View invalidation.
</summary>
</histogram>
<histogram base="true" name="GridTabSwitcher.FramePerSecond" units="frame/sec"
expires_after="2021-10-10">
<owner>yusufo@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
This histogram records the frame rate of the transition animation between
Tab and Grid Tab Switcher.
</summary>
</histogram>
<histogram base="true" name="GridTabSwitcher.MaxFrameInterval" units="ms"
expires_after="2020-05-03">
<owner>yusufo@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
This histogram records the maximum interval between rendered frames during
the transition animation between Tab and Grid Tab Switcher.
</summary>
</histogram>
<histogram name="GridTabSwitcher.ThumbnailFetchingResult"
enum="GridTabSwitcherThumbnailFetchingResult" expires_after="2021-02-14">
<owner>yusufo@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
This histogram records the result of thumbnail fetching in the Grid Tab
Switcher.
</summary>
</histogram>
<histogram name="GwpAsan.CrashAnalysisResult" enum="GwpAsanCrashAnalysisResult"
expires_after="2020-05-17">
<owner>vtsyrklevich@chromium.org</owner>
<owner>dynamic-tools@google.com</owner>
<summary>
Reports the GWP-ASan crash analysis result. That can either be a
determination that the crash was related to GWP-ASan, not related to
GWP-ASan, or an error making that determination. Recorded with every crash.
Deprecated in favor of GwpAsan.CrashAnalysisResult.Malloc and
GwpAsan.CrashAnalysisResult.PartitionAlloc in M76
</summary>
</histogram>
<histogram name="Hardware.Concurrency" units="CPU cores"
expires_after="2021-10-04">
<owner>sadrul@chromium.org</owner>
<owner>zmo@chromium.org</owner>
<summary>
Records the system hardware concurrency collected in the info collection GPU
process, once per UMA ping. For most systems, it is equivalent to the number
of CPU cores.
</summary>
</histogram>
<histogram name="Hardware.Display.Count.OnChange" units="units"
expires_after="2021-08-29">
<owner>sashamcintosh@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
The number of displays present right after the user has attached or detached
a new display. Excludes mirrored displays, but includes sleeping displays.
</summary>
</histogram>
<histogram name="Hardware.Display.Count.OnStartup" units="units"
expires_after="2021-08-29">
<owner>sashamcintosh@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
The number of displays present at start up. Excludes mirrored displays, but
includes sleeping displays.
</summary>
</histogram>
<histogram name="Hardware.TotalDiskSpace" units="GB" expires_after="2021-10-10">
<owner>sadrul@chromium.org</owner>
<owner>zmo@chromium.org</owner>
<summary>
Records a rough estimation of the system total disk space collected in the
info collection GPU process, once per UMA ping.
</summary>
</histogram>
<histogram name="HeapProfiling.ProfiledProcess.Type"
enum="HeapProfilingProcessType" expires_after="2021-10-10">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
One metric is emitted every 24-hours after Chrome is launched for every
process that is being profiled. The timer is reset if Chrome exits.
</summary>
</histogram>
<histogram name="HeapProfiling.ProfilingMode" enum="HeapProfilingMode"
expires_after="2021-02-25">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
One metric is emitted every 24-hours after Chrome is launched for every
Chrome instance that is using out of process heap profiling. The timer is
reset if Chrome exits.
</summary>
</histogram>
<histogram name="HeapProfiling.RecordTrace.Success" enum="BooleanSuccess"
expires_after="2021-02-25">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
The metric is emitted each time Chrome attempts to record a memory-infra
trace to upload an out-of-process heap-profiling memory dump.
</summary>
</histogram>
<histogram name="HeapProfiling.UploadTrace.Size" units="bytes"
expires_after="2021-02-25">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
The metric is emitted each time Chrome uploads a trace. It reflects the
uncompressed size of the trace.
</summary>
</histogram>
<histogram name="HeapProfiling.UploadTrace.Success" enum="BooleanSuccess"
expires_after="2021-02-25">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
The metric is emitted each time Chrome uploads a trace. It reflects whether
the upload was successful.
</summary>
</histogram>
<histogram name="HIDDetection.OOBEDevicesDetectedOnContinuePressed"
enum="HIDContinueScenarioType" expires_after="M94">
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Which HID were detected when user pressed Continue on OOBE dialog. This
metric is specific to Chrome OS.
</summary>
</histogram>
<histogram name="HIDDetection.OOBEDialogShown" units="units"
expires_after="M94">
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Whether HID detection dialog was shown on OOBE. Logged on screen show or on
screen skip respectively. This metric is specific to Chrome OS.
</summary>
</histogram>
<histogram name="HIDDetection.TimesDialogShownPerOOBECompleted" units="units"
expires_after="M97">
<owner>rsorokin@chromium.org</owner>
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Records number of times the dialog was shown by the time OOBE is completed.
This metric is specific to Chrome OS.
</summary>
</histogram>
<histogram name="Histogram.BadConstructionArguments" enum="HistogramNameHash"
expires_after="M87">
<owner>asvitkine@chromium.org</owner>
<owner>bcwhite@chromium.org</owner>
<summary>
The hash codes of histograms that were found to have bad construction
arguments. These would be DCHECK exceptions in debug builds but have simply
been logged and corrected as best as possible rather than crash.
</summary>
</histogram>
<histogram name="Histogram.InconsistentSnapshotBrowser" units="units"
expires_after="M85">
<owner>asvitkine@chromium.org</owner>
<summary>
The amount of discrepancy found when examining a single histogram's data in
the browser process for transmission via UMA. Inconsistent data is NOT
transmitted via UMA.
</summary>
</histogram>
<histogram name="Histogram.InconsistentSnapshotChildProcess" units="units"
expires_after="M85">
<owner>asvitkine@chromium.org</owner>
<summary>
The amount of discrepancy found when examining a single histogram's data in
a child process for transmission via UMA. Inconsistent data is NOT
transmitted via UMA.
</summary>
</histogram>
<histogram name="Histogram.MismatchedConstructionArguments"
enum="HistogramNameHash" expires_after="M87">
<owner>asvitkine@chromium.org</owner>
<owner>bcwhite@chromium.org</owner>
<summary>
The hash codes of histograms that were found to have construction arguments
different from a previous instantiation of the same name. Entries here have
conflicting definitions and should be investigated. Data collected for the
secondary definitions will be silently dropped.
</summary>
</histogram>
<histogram name="Histogram.PendingProcessNotResponding" units="processes"
expires_after="M79">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
When metrics services (UMA) ran an update, the number of child processes
that did not respond, providing histogram updates, before the timeout.
</summary>
</histogram>
<histogram name="Histogram.PermanentNameChanged" enum="HistogramNameHash"
expires_after="M85">
<owner>asvitkine@chromium.org</owner>
<owner>bcwhite@chromium.org</owner>
<summary>
The hash codes of histograms of which the external name storage was altered
after the histogram was created.
</summary>
</histogram>
<histogram name="Histogram.ReceivedProcessGroupCount" enum="BooleanEnabled"
expires_after="M79">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
When metrics services (UMA) ran an update, the number of times the process
groups (renderer processes and plugin/gpu processes) did not respond,
providing histogram updates, before the timeout.
</summary>
</histogram>
<histogram name="Histogram.TooManyBuckets.1000" enum="HistogramNameHash"
expires_after="M78">
<owner>asvitkine@chromium.org</owner>
<owner>bcwhite@chromium.org</owner>
<summary>
The hash codes of histograms that were found to request more than 1000
buckets. These would be DCHECK exceptions in debug builds if the limit is
lowered so are being logged before that change.
</summary>
</histogram>
<histogram name="HostedAppFrame.ContentSettings.ImagePressed"
enum="ContentSettingImageType" expires_after="2021-02-01">
<owner>calamity@chromium.org</owner>
<owner>src/chrome/browser/ui/page_action/OWNERS</owner>
<summary>
Counts which content setting buttons in the hosted app frame are pressed by
the user.
</summary>
</histogram>
<histogram name="HostedAppFrame.WrenchMenu.MenuAction" enum="WrenchMenuAction"
expires_after="M90">
<owner>calamity@chromium.org</owner>
<owner>alancutter@chromium.org</owner>
<summary>
Number of times that each menu item is clicked from the hosted app window
menu button.
</summary>
</histogram>
<histogram name="HttpCache.AccessToDone" units="ms" expires_after="2021-10-10">
<owner>morlovich@chromium.org</owner>
<summary>
For every http cache transaction with a pattern (see HttpCache.Pattern), the
time from the first access to the disk cache until the transaction was done.
</summary>
</histogram>
<histogram base="true" name="HttpCache.AfterSend" units="ms"
expires_after="M81">
<owner>morlovich@chromium.org</owner>
<summary>
For http cache transactions in which a network request was sent, the time
elapsed between sending it over the network until the transaction was done.
</summary>
</histogram>
<histogram name="HttpCache.BeforeSend" units="ms" expires_after="2021-03-15">
<owner>morlovich@chromium.org</owner>
<summary>
For http cache transactions in which a network request was sent, the time
elapsed between beginning the request and sending it over the network; this
is the time spent accessing the disk cache.
</summary>
</histogram>
<histogram name="HttpCache.CantConditionalizeCause"
enum="HttpCacheValidationCause" expires_after="M85">
<owner>jkarlin@chromium.org</owner>
<summary>
For each request that results in an unconditionalizable network request, the
cause for the request.
</summary>
</histogram>
<histogram name="HttpCache.CantConditionalizeZeroFreshnessFromMemHint"
enum="Boolean" expires_after="M81">
<owner>morlovich@chromium.org</owner>
<summary>
For each request with HttpCache.CantConditionalizeCause == Zero Freshness,
this is true iff the zero freshness status was determined by looking at
in-memory hints in disk cache index, rather than by opening the entry and
looking at headers.
</summary>
</histogram>
<histogram name="HttpCache.EntryLockWait" units="ms" expires_after="M87">
<owner>jkarlin@chromium.org</owner>
<owner>morlovich@chromium.org</owner>
<summary>
The time spent waiting for write lock on a disk cache entry.
</summary>
</histogram>
<histogram name="HttpCache.HardReset" enum="Boolean" expires_after="2021-06-15">
<owner>shivanisha@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<summary>
Whether the HttpCache was forced to reset upon creation, effectively
clearing out its previous content. This is recorded when the cache is
created for the browsing session.
</summary>
</histogram>
<histogram name="HttpCache.MaxFileSizeOnInit" units="KB"
expires_after="2021-10-10">
<owner>shivanisha@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<summary>
Max file size allowed to be cached in the http cache. This is logged at the
time the backend is created.
</summary>
</histogram>
<histogram name="HttpCache.NetworkIsolationKeyPresent2"
enum="NetworkIsolationKeyPresent" expires_after="2020-09-10">
<owner>jkarlin@chromium.org</owner>
<owner>shivanisha@chromium.org</owner>
<summary>
Records whether a cache request has a network isolation key set or not,
which is used for double-keying.
</summary>
</histogram>
<histogram name="HttpCache.ParallelWritingPattern"
enum="HttpCacheParallelWritingPattern" expires_after="M77">
<owner>shivanisha@chromium.org</owner>
<summary>
Records whether a transaction either created a Writers object when one
didn't exist, or joined an existing Writers object, or why it failed to do
so (e.g., it's a range request, it's not a GET request, etc.).
</summary>
</histogram>
<histogram name="HttpCache.Pattern" enum="HttpCachePattern"
expires_after="2021-10-17">
<owner>morlovich@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<summary>For each http cache transaction, the recorded pattern.</summary>
</histogram>
<histogram name="HttpCache.ReadErrorNonRestartable" enum="NetErrorCodes"
expires_after="M85">
<owner>morlovich@chromium.org</owner>
<summary>Net error results from non-restartable cache read errors.</summary>
</histogram>
<histogram name="HttpCache.ReadErrorRestartable" enum="NetErrorCodes"
expires_after="M85">
<owner>morlovich@chromium.org</owner>
<summary>Net error results from restartable cache read errors.</summary>
</histogram>
<histogram name="HttpCache.ValidationCause" enum="HttpCacheValidationCause"
expires_after="M77">
<owner>jkarlin@chromium.org</owner>
<summary>For each validation attempt, the cause for the validation.</summary>
</histogram>
<histogram base="true" name="Hwsec.Attestation.Status"
enum="HwsecAttestationOpsStatus" expires_after="2021-08-22">
<!-- Name completed by histogram_suffixes name="AttestationOps" -->
<owner>garryxiao@chromium.org</owner>
<owner>cylai@chromium.org</owner>
<owner>cros-hwsec-userland-eng+uma@chromium.org</owner>
<summary>
The result of attestation-related operations on the Chrome OS side.
</summary>
</histogram>
<histogram name="Hyphenation.Open" units="ms" expires_after="2021-09-12">
<owner>kojii@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>The time it takes to open a hyphenation dictionary.</summary>
</histogram>
<histogram name="Hyphenation.Open.File" units="ms" expires_after="2021-09-12">
<owner>kojii@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>The time it takes to open a hyphenation dictionary file.</summary>
</histogram>
<histogram name="ICU.CreateInstance" enum="ICUCreateInstanceCode"
expires_after="2021-02-21">
<owner>ftang@chromium.org</owner>
<owner>intl-libs-team@google.com</owner>
<summary>
This metric logs the creation of key ICU objects. These object creation
called directly from Chrome code or indirectly from depending library such
as blink and v8.
</summary>
</histogram>
<histogram name="ICU.DataFile" enum="ICUDataFileCode"
expires_after="2021-02-21">
<owner>ftang@chromium.org</owner>
<owner>intl-libs-team@google.com</owner>
<summary>
This metric logs the ICU built-in data file name opened and used by chrome.
These file open calls are perform internally inside ICU while Chrome
directly or indirectly call ICU to create object and cause ICU to load new
data files, such as loading codeset conversion table, create break iterator,
and open dictionary files for word break/line break iterator. It however
does not include the opening of resource bundle files.
</summary>
</histogram>
<histogram name="Import.ImportedHistorySize.AutoImportFromIE" units="urls"
expires_after="M77">
<owner>gcomanici@chromium.org</owner>
<summary>
The size of the history on Auto Import from IE. This measure is only logged
on a succesfull Auto Import.
</summary>
</histogram>
<histogram name="Import.ImporterType.AutoImport" enum="ImporterType"
expires_after="2018-08-30">
<owner>gab@chromium.org</owner>
<summary>The importer used on first run Auto Import.</summary>
</histogram>
<histogram name="Import.ImporterType.BookmarksAPI" enum="ImporterType"
expires_after="M77">
<owner>gab@chromium.org</owner>
<summary>The importer used on import from the bookmarks file API.</summary>
</histogram>
<histogram name="Import.ImporterType.ImportDataHandler" enum="ImporterType"
expires_after="2018-08-30">
<owner>gab@chromium.org</owner>
<summary>
The importer used on import from the chrome://settings/importData UI.
</summary>
</histogram>
<histogram name="ImportantFile.DeleteOnCloseError" enum="PlatformFileError"
expires_after="M89">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error on Windows when ImportantFileWriter fails to mark the temporary
file for deletion upon closure.
</summary>
</histogram>
<histogram name="ImportantFile.FileCreateError" enum="PlatformFileError"
expires_after="2021-09-12">
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error happened upon temporary file creation at ImportantFileWriter.
</summary>
</histogram>
<histogram name="ImportantFile.FileDeleteNoRetryError" enum="PlatformFileError"
expires_after="2021-08-15">
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error happened upon temporary file deletion at ImportantFileWriter when
it was not possible to retry in a delayed task.
</summary>
</histogram>
<histogram name="ImportantFile.FileDeleteRetryExceededError"
enum="PlatformFileError" expires_after="2021-10-17">
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
The final file error when all retries for deleting the temorary file fail.
</summary>
</histogram>
<histogram name="ImportantFile.FileDeleteRetrySuccessCount"
units="attept number" expires_after="2021-10-17">
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
The number of retries needed to successfully delete the temporary file. Only
recorded when at least one retry (two attempts) is needed.
</summary>
</histogram>
<histogram name="ImportantFile.FileRenameError" enum="PlatformFileError"
expires_after="2021-10-04">
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error happened upon temporary file renaming at ImportantFileWriter.
</summary>
</histogram>
<histogram name="ImportantFile.FileReplaceRetryCount" units="attempt count"
expires_after="2021-08-29">
<owner>brucedawson@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>
The number of retries needed to successfully move the temporary file to its
final location. Zero means that ReplaceFile worked the first time. Ten means
that it never succeeded.
</summary>
</histogram>
<histogram name="ImportantFile.FileWriteError" enum="PlatformFileError"
expires_after="2021-10-04">
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error happened upon writing data to temporary file at
ImportantFileWriter.
</summary>
</histogram>
<histogram name="ImportantFile.SerializationDuration" units="ms"
expires_after="2021-10-10">
<owner>battre@chromium.org</owner>
<owner>gab@chromium.org</owner>
<summary>
CPU time used in the foreground thread (usually UI thread) to serialize the
data to be written into an important file (e.g. serialize JSON string for
preferences). For users of ImportantFileWriter that leverage background
serialization (e.g. bookmarks), it excludes the time spent on the background
thread, and only logs the time spent on the foreground thread.
</summary>
</histogram>
<histogram name="ImportantFile.TempFileFailures" enum="TempFileFailure"
expires_after="2021-10-17">
<owner>grt@chromium.org</owner>
<owner>lassey@google.com</owner>
<summary>
Count of various failures in ImportantFileWrite when manipulating a temp
file to write to before moving it into place (replacing another file).
</summary>
</histogram>
<histogram name="IncognitoModePrefs.WindowsParentalControlsInitThread"
enum="ThreadType" expires_after="M77">
<owner>robliao@chromium.org</owner>
<summary>
The thread used to initialize the Windows parental controls.
</summary>
</histogram>
<histogram name="IncognitoModePrefs.WindowsParentalControlsInitTime" units="ms"
expires_after="M77">
<owner>robliao@chromium.org</owner>
<summary>
The amount of time that elapsed during a run of
PlatformParentalControlsValue::IsParentalControlActivityLoggingOnImpl on
Windows 7 and above.
</summary>
</histogram>
<histogram name="IncompatibleApplicationsPage.AddedPostCrash"
enum="BooleanShown" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether the user was automatically shown the
chrome://settings/incompatibleApplications page following a Chrome crash.
</summary>
</histogram>
<histogram name="IncompatibleApplicationsPage.NumApplications"
units="applications" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The number of incompatible applications detected by Chrome at the time the
chrome://settings/incompatibleApplications page was opened.
</summary>
</histogram>
<histogram name="InertialSensor.AccelerometerAndroidAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the Sensor.TYPE_LINEAR_ACCELERATION was available at the start of
Device Motion.
</summary>
</histogram>
<histogram name="InertialSensor.AccelerometerIncGravityAndroidAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the Sensor.TYPE_ACCELEROMETER was available at the start of Device
Motion.
</summary>
</histogram>
<histogram name="InertialSensor.AccelerometerWindowsAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the SENSOR_TYPE_ACCELEROMETER_3D was available at the start of
Device Motion on the Windows platform.
</summary>
</histogram>
<histogram name="InertialSensor.DeviceOrientationSensorAndroid"
enum="DeviceOrientationSensorTypeAndroid" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Provides a histogram of the base sensors (if any) that are used at the start
of the Device Orientation API. Currently Sensor.TYPE_GAME_ROTATION_VECTOR is
the default sensor for orientation, if it's not available fall-back options
are provided by using either Sensor.TYPE_ROTATION_VECTOR or a combination of
Sensor.TYPE_ACCELEROMETER and Sensor.TYPE_MAGNETIC_FIELD.
</summary>
</histogram>
<histogram name="InertialSensor.GyrometerWindowsAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the SENSOR_TYPE_GYROMETER_3D was available at the start of Device
Motion on the Windows platform.
</summary>
</histogram>
<histogram name="InertialSensor.GyroscopeAndroidAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the Sensor.TYPE_GYROSCOPE was available at the start of Device
Motion.
</summary>
</histogram>
<histogram name="InertialSensor.InclinometerWindowsAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the SENSOR_TYPE_INCLINOMETER_3D was available at the start of Device
Orientation on the Windows platform.
</summary>
</histogram>
<histogram name="InertialSensor.MotionDefaultAvailable" enum="BooleanAvailable"
expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
This histogram counts the number of Device Motion API invocations in the
default implementation (Linux and CrOS). The default implementation does not
provide any sensors so the result is always false.
</summary>
</histogram>
<histogram name="InertialSensor.MotionMacAvailable" enum="BooleanAvailable"
expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the sudden motion sensor was available at the start of Device Motion
on the MacOS platform.
</summary>
</histogram>
<histogram name="InertialSensor.OrientationDefaultAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
This histogram counts the number of Device Orientation API invocations in
the default implementation (Linux and CrOS). The default implementation does
not provide any sensors so the result is always false.
</summary>
</histogram>
<histogram name="InertialSensor.OrientationMacAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the sudden motion sensor was available at the start of Device
Orientation on the MacOS platform.
</summary>
</histogram>
<histogram name="InfoBar.Shown" enum="InfoBarIdentifier" expires_after="never">
<!-- expires-never: Required as long as infobars exist. -->
<owner>rkaplow@chromium.org</owner>
<owner>src/components/infobars/OWNERS</owner>
<summary>
Records how many times a particular infobar was shown to the user. On
Android, the infobar may be partially hidden due to stacking. On desktop, a
tab with a visible infobar will increment this histogram every time the user
switches away from the tab and back to it with the infobar still visible.
</summary>
</histogram>
<histogram name="InfoBar.Shown.Hidden" enum="InfoBarIdentifier"
expires_after="never">
<!-- expires-never: Required as long as infobars exist. -->
<owner>mdjones@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
Records how many times a particular infobar was displayed in a hidden state
due to at least one other infobar existing. If there are no existing
infobars, but the user scrolls at the exact moment a new infobar is added,
the infobar may be hidden, but not recorded in this metric. Reliably
triggering and detecting this combination is tricky so it isn't done. Only
recorded on Android.
</summary>
</histogram>
<histogram name="InfoBar.Shown.Hiding" enum="InfoBarIdentifier"
expires_after="never">
<!-- expires-never: Required as long as infobars exist. -->
<owner>mdjones@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
Records how many times a particular infobar was visible and hiding a new
infobar behind it. Only recorded on Android.
</summary>
</histogram>
<histogram name="InfoBar.Shown.Visible" enum="InfoBarIdentifier"
expires_after="never">
<!-- expires-never: Required as long as infobars exist. -->
<owner>mdjones@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
Records how many times a particular infobar was displayed in a visible state
due to no other infobars existing. If there are no existing infobars, but
the user scrolls at the exact moment a new infobar is added, the infobar may
be hidden, but recorded here as visible. Reliably triggering and detecting
this combination is tricky so it isn't done. Only recorded on Android.
</summary>
</histogram>
<histogram name="InProductHelp.Config.ParsingEvent" enum="ConfigParsingEvent"
expires_after="2021-08-22">
<owner>nyquist@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
Records if in-product help configuration is parsed correctly, and the
failure reasons for parsing failures.
</summary>
</histogram>
<histogram base="true" name="InProductHelp.Db.Init" enum="BooleanSuccess"
expires_after="2021-08-22">
<owner>nyquist@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="IPHDatabase" -->
<summary>
Records if database initialization succeeds for in-product help.
</summary>
</histogram>
<histogram base="true" name="InProductHelp.Db.Load" enum="BooleanSuccess"
expires_after="2021-08-22">
<owner>nyquist@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="IPHDatabase" -->
<summary>
Records if database successfully loads the data for in-product help.
</summary>
</histogram>
<histogram name="InProductHelp.Db.TotalEvents" units="events"
expires_after="2021-08-22">
<owner>nyquist@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
Records the total number of event records in the database for in-product
help after the event model is loaded.
</summary>
</histogram>
<histogram base="true" name="InProductHelp.Db.Update" enum="BooleanSuccess"
expires_after="2021-08-22">
<owner>nyquist@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="IPHDatabase" -->
<summary>
Records if each database update succeeds for in-product help.
</summary>
</histogram>
<histogram base="true" name="InProductHelp.NotifyEventReadyState"
enum="BooleanSuccess" expires_after="2021-08-22">
<owner>nyquist@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="IPHFeatures" -->
<summary>
Records if the model is ready when in-product help event happens.
</summary>
</histogram>
<histogram name="InProductHelp.Promos.IPH_ReopenTab.DismissedAt"
enum="ReopenTabPromoStepAtDismissal" expires_after="M76">
<owner>collinbaker@chromium.org</owner>
<summary>
Last step of in-product help (IPH) for reopening tabs that user followed
before finishing the IPH flow or dismissing it early. Recorded when the IPH
flow is dismissed, which is at one of three possible times: when the promo
bubble times out, when the menu is closed after the user opens it for IPH,
or when the user opens the last closed tab. The last is considered a
success.
</summary>
</histogram>
<histogram name="InProductHelp.Promos.Snooze" units="SnoozeType"
expires_after="2021-09-19">
<!-- Name completed by histogram_suffixes name="IPHFeatures" -->
<owner>kerenzhu@chromium.org</owner>
<owner>collinbaker@chromium.org</owner>
<summary>
Record the number of first-time snoozes and repeating snoozes of an
in-product help bubble when the user clicks the snooze button. An snooze of
an IPH that has been snoozed before is a repeating snooze.
</summary>
</histogram>
<histogram name="InProductHelp.Promos.SnoozeCountAtAcknowledge" units="times"
expires_after="2021-09-19">
<!-- Name completed by histogram_suffixes name="IPHFeatures" -->
<owner>kerenzhu@chromium.org</owner>
<owner>collinbaker@chromium.org</owner>
<summary>
Record the number of previous snoozes when an in-product help bubble is
dismissed because the acknowledge button is clicked.
</summary>
</histogram>
<histogram name="InProductHelp.Promos.SnoozeCountAtFollow" units="times"
expires_after="2021-09-19">
<!-- Name completed by histogram_suffixes name="IPHFeatures" -->
<owner>kerenzhu@chromium.org</owner>
<owner>collinbaker@chromium.org</owner>
<summary>
Record the number of previous snoozes when an in-product help bubble is
dismissed because the user follows the promo, e.g. a relevant control is
clicked.
</summary>
</histogram>
<histogram name="InProductHelp.Promos.SnoozeCountAtTrigger" units="times"
expires_after="2021-09-19">
<!-- Name completed by histogram_suffixes name="IPHFeatures" -->
<owner>kerenzhu@chromium.org</owner>
<owner>collinbaker@chromium.org</owner>
<summary>
Record the number of previous snoozes when an in-product help bubble is
triggered.
</summary>
</histogram>
<histogram name="InProductHelp.ShouldTriggerHelpUI" enum="TriggerHelpUIResult"
expires_after="2021-08-22">
<owner>nyquist@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="IPHFeatures" -->
<summary>
Records if in-product help is shown to the user, and the failure reasons if
in-product help is not shown. Recorded on its own across all in-product help
features, in addition to being a base name for feature-specific histograms.
</summary>
</histogram>
<histogram name="InstanceID.DeleteToken.RequestStatus"
enum="GCMUnregistrationRequestStatus" expires_after="M77">
<owner>peter@chromium.org</owner>
<summary>Status code of the outcome of DeleteToken request.</summary>
</histogram>
<histogram name="InstanceID.GetToken.CompleteTime" units="ms"
expires_after="2018-08-30">
<owner>jianli@chromium.org</owner>
<summary>
Length of time taken to complete the GetToken request successfully. If the
request is retried multiple times, the length of time is counted for the
last successful retry.
</summary>
</histogram>
<histogram name="InstanceID.GetToken.NetErrorCode" enum="NetErrorCodes"
expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>platform-capabilities@chromium.org</owner>
<summary>
Net error code from an Instance ID GetToken attempt. Recorded when URL
loading completes.
</summary>
</histogram>
<histogram name="InstanceID.GetToken.OptionsCount" units="options"
expires_after="M89">
<obsolete>
Deprecated as of 11/2020
</obsolete>
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
The number of options provided to the GetToken request. Recorded when the
request has been received by the InstanceID instance.
</summary>
</histogram>
<histogram name="InstanceID.GetToken.RequestStatus"
enum="GCMRegistrationRequestStatus" expires_after="M94">
<owner>peter@chromium.org</owner>
<summary>Status code of the outcome of GetToken request.</summary>
</histogram>
<histogram name="InstanceID.RestoredIDCount" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
Number of Instance IDs restored from the persistent store at startup.
</summary>
</histogram>
<histogram name="InstanceID.RestoredTokenCount" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
Number of InstanceID tokens restored from the persistent store at startup.
</summary>
</histogram>
<histogram name="Invalidations.GCMUpstreamRequest"
enum="GCMUpstreamMessageStatus" expires_after="M76">
<owner>nyquist@chromium.org</owner>
<owner>khushalsagar@chromium.org</owner>
<owner>melandory@chromium.org</owner>
<summary>
Status of sending outgoing invalidation message through GCM upsteam.
</summary>
</histogram>
<histogram name="IPC.AttachmentBrokerPrivileged.BrokerAttachmentError"
enum="IPCAttachmentBrokerPrivilegedBrokerAttachmentError"
expires_after="M85">
<owner>erikchen@chromium.org</owner>
<summary>
Errors that the privileged attachment broker encounters while trying to
broker attachments.
</summary>
</histogram>
<histogram name="IPC.AttachmentBrokerUnprivileged.BrokerAttachmentError"
enum="IPCAttachmentBrokerUnprivilegedBrokerAttachmentError"
expires_after="M85">
<owner>erikchen@chromium.org</owner>
<summary>
Errors that an unprivileged attachment broker encounters while trying to
broker attachments.
</summary>
</histogram>
<histogram name="JSDialogs.OnBeforeUnloadStayVsLeave" enum="StayVsLeave"
expires_after="M77">
<obsolete>
Removed 2020 November.
</obsolete>
<owner>avi@chromium.org</owner>
<summary>
For onbeforeunload dialogs, the user's choice between staying on the page
and leaving it.
</summary>
</histogram>
<histogram base="true" name="JSDialogs.OriginRelationship"
enum="DialogOriginRelationship" expires_after="2021-06-01">
<owner>avi@chromium.org</owner>
<owner>carlosil@chromium.org</owner>
<owner>ericmill@google.com</owner>
<owner>meacer@chromium.org</owner>
<summary>
For dialogs, the relationship of the origins of the main frame vs the
alerting frame.
</summary>
</histogram>
<histogram base="true" name="JSDialogs.Scheme" enum="NavigationScheme"
expires_after="2021-06-01">
<owner>avi@chromium.org</owner>
<owner>carlosil@chromium.org</owner>
<owner>ericmill@google.com</owner>
<owner>meacer@chromium.org</owner>
<summary>The scheme of the URL showing a JavaScript dialog.</summary>
</histogram>
<histogram name="Kerberos.AcquireKerberosTgtTime" units="ms"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Time in milliseconds to acquire a Kerberos ticket. The value is recorded no
matter if the operation was successful or not.
</summary>
</histogram>
<histogram name="Kerberos.DailyActiveUsers" enum="KerberosUserType"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Type of the Chrome OS login user (primary user) who requests Kerberos
tickets. Reported at most once a day by the Kerberos daemon when a Kebreros
ticket is acquired or Kerberos files are requested, which happens e.g. on
Chrome startup.
</summary>
</histogram>
<histogram name="Kerberos.EncryptionTypesAcquireKerberosTgt"
enum="KerberosEncryptionTypes" expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
The Kerberos encryption types used while succesfully creating or refreshing
a Kerberos TGT. This value is derived from the Kerberos configuration
'enctypes' fields.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.Managed" units="units"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Number of managed Kerberos accounts owned by the current Chrome OS user. A
managed account is an account that got added via the KerberosAccounts
policy. Reported at most once a day similar to Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.RememberedPassword" units="units"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Number of Kerberos accounts owned by the current Chrome OS user that use the
'Remember password' feature, i.e. the account password is stored by the
Kerberos daemon. Reported at most once a day similar to
Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.Total" units="units"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Total number of Kerberos accounts owned by the current Chrome OS user.
Reported at most once a day similar to Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.Unmanaged" units="units"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Number of unmanaged Kerberos accounts owned by the current Chrome OS user.
An unmanaged account is an account that was added manually by the user.
Reported at most once a day similar to Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.UseLoginPassword" units="units"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Number of Kerberos accounts owned by the current Chrome OS user that use the
login password for authentication. These accounts were added via the
KerberosAccounts policy, using the '${PASSWORD}' placeholder as password.
Reported at most once a day similar to Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.Result.AcquireKerberosTgt" enum="KerberosErrorType"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to acquire a Kerberos ticket. This happens whenever a
new ticket is added or an existing ticket is reauthenticated.
</summary>
</histogram>
<histogram name="Kerberos.Result.AddAccount" enum="KerberosErrorType"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to add a new Kerberos account, either through the
Kerberos Tickets settings page or via the KerberosAccounts policy.
</summary>
</histogram>
<histogram name="Kerberos.Result.ClearAccounts" enum="KerberosErrorType"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to clear Kerberos accounts, usually through toggling
Kerberos related policies. For instance, disabling the KerberosEnabled
policy clears all accounts.
</summary>
</histogram>
<histogram name="Kerberos.Result.GetKerberosFiles" enum="KerberosErrorType"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to retrieve a Kerberos ticket from the Kerberos
daemon. Systems using Kerberos (Chrome, SMB file shares) perform this action
during startup and when they get notified that the files changed.
</summary>
</histogram>
<histogram name="Kerberos.Result.ListAccounts" enum="KerberosErrorType"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to list Kerberos accounts, usually through opening
the Kerberos Tickets settings page or making changes to accounts.
</summary>
</histogram>
<histogram name="Kerberos.Result.RemoveAccount" enum="KerberosErrorType"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to remove a new Kerberos account through the Kerberos
Tickets settings page.
</summary>
</histogram>
<histogram name="Kerberos.Result.SetConfig" enum="KerberosErrorType"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to set Kerberos configuration. This happens right
before acquiring a Kerberos ticket.
</summary>
</histogram>
<histogram name="Kerberos.Result.ValidateConfig" enum="KerberosErrorType"
expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to validate Kerberos configuration. This happens when
the user tries to set configuration in the Advanced section of the dialog to
add new Kerberos tickets.
</summary>
</histogram>
<histogram name="Kerberos.ValidateConfigErrorCode"
enum="KerberosConfigErrorCode" expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Error code from an attempt validate Kerberos configuration. Contains more
specific information than KerberosErrorType about the result of the
validation.
</summary>
</histogram>
<histogram name="Keyboard.ShortcutViewer.StartupTime" units="ms"
expires_after="2021-10-17">
<owner>jamescook@chromium.org</owner>
<owner>msw@chromium.org</owner>
<owner>wutao@chromium.org</owner>
<summary>
Time delay between the user gesture that triggered the keyboard shortcut
viewer dialog (e.g. pressing Ctrl-Alt-/) and the dialog widget being shown,
including layout time for the views::Views.
</summary>
</histogram>
<histogram name="KeyboardAccessory.AccessoryActionImpression"
enum="AccessoryAction" expires_after="2021-10-04">
<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="2021-10-04">
<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="2021-10-04">
<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="2021-10-04">
<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="2021-07-27">
<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="2021-10-04">
<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="2021-10-04">
<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="2021-10-04">
<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="M95">
<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 &quot;Shown&quot; bucket should contain samples.
</summary>
</histogram>
<histogram name="KeyboardAccessory.GenerationDialogChoice.{GenerationType}"
enum="GenerationDialogChoice" expires_after="M95">
<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="Kiosk.Launch.CryptohomeFailure" enum="LoginFailureReason"
expires_after="2021-09-26">
<owner>xiyuan@chromium.org</owner>
<owner>apotapchuk@chromium.org</owner>
<summary>Tracks cryptohome failure during kiosk launch.</summary>
</histogram>
<histogram name="Kiosk.Launch.Error" enum="KioskLaunchError"
expires_after="2021-10-04">
<owner>xiyuan@chromium.org</owner>
<owner>apotapchuk@chromium.org</owner>
<summary>Tracks kiosk launch errors.</summary>
</histogram>
<histogram name="Kiosk.LaunchType" enum="KioskLaunchType"
expires_after="2021-09-19">
<owner>xiyuan@chromium.org</owner>
<owner>aghuie@chromium.org</owner>
<summary>
Records kiosk launches, whether it is an enterprise or consumer kiosk and
whether it is an auto launch or manual launch.
</summary>
</histogram>
<histogram name="LanguageDetection.TFLiteModel.LanguageDetectionModelState"
enum="LanguageDetectionModelState" expires_after="M94">
<owner>mcrouse@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
The state of the language detection model used by a TranslateAgent. Recorded
once per model load attempt for each renderer process.
</summary>
</histogram>
<histogram name="LanguageDetection.TFLiteModel.WasModelAvailableForDetection"
enum="BooleanAvailable" expires_after="M94">
<owner>mcrouse@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Whether the TFLite-based language detection model was available when page
content was extracted and a language determination was needed. Recorded once
per page load.
</summary>
</histogram>
<histogram name="LanguageSettings.Actions" enum="LanguageSettingsActionType"
expires_after="2021-12-01">
<owner>perrier@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
The actions on the languages settings page that result in a preference
change. This histogram will record every single event that happens
separately. See LanguageSettings.PageImpressions for how often language
settings sections are seen.
</summary>
</histogram>
<histogram name="LanguageSettings.PageImpression"
enum="LanguageSettingsPageType" expires_after="2021-12-01">
<owner>googleo@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Impressions of pages, sections, or dialogs viewed from language settings.
Page impressions do not result in preferences changes. See
LanguageSettings.Actions for preference change counts.
</summary>
</histogram>
<histogram name="LanguageUsage.AcceptLanguage" enum="LanguageCode"
expires_after="2021-12-01">
<owner>perrier@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Accept languages with country codes removed. Recorded once per profile
intitalization. Incognito profiles are ignored.
</summary>
</histogram>
<histogram name="LanguageUsage.AcceptLanguage.Count" units="units"
expires_after="2021-12-01">
<owner>dvallet@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
The number of accepted languages in the user preferences recored once per
profile initialization. Incognito profiles are ignored.
</summary>
</histogram>
<histogram name="LanguageUsage.ApplicationLanguage" enum="LanguageCode"
expires_after="2021-12-01">
<owner>perrier@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Application languages used for UI recorded once per profile initialization.
Incognito profiles are ignored.
</summary>
</histogram>
<histogram name="LanguageUsage.MostFrequentPageLanguages" enum="LanguageCode"
expires_after="2021-12-01">
<owner>perrier@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Records the source page languages from the UrlLanguageHistogram service.
The UrlLanguageHistogram service saves a dict pref of the page language to
frequency for the last 1000 page loads. This histogram is emitted once for
all languages that appear in at least 5% of previous page loads. If a
profile has 10 or fewer page loads no languages are recorded.
This histogram is recorded once per profile per eligible language during
initialization. Incognito profiles are ignored and it is not recorded on
ChromeOS.
</summary>
</histogram>
<histogram name="LanguageUsage.UI.Android.Availability"
enum="LanguageUsage.UI.Android.Availability" expires_after="2021-12-01">
<owner>perrier@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
The availability status of Android system languages for use as the Chromium
UI language. If the Chromium UI language is overridden, it must be
avaliable. The default language is the one used by the JVM for localization.
This will be different from the top Android language if the top Android
language is not available for localization in Chromium. For more info, see
the Android documentation on LocaleList.getDefault().
This histogram is recorded during onForgroundStart() for Android.
</summary>
</histogram>
<histogram name="LanguageUsage.UI.Android.Correctness"
enum="LanguageUsage.UI.Android.Correctness" expires_after="2021-12-01">
<owner>perrier@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
The status of the current Chromium UI. It is correct when the UI matches
what the JVM default language is set to.
This histogram is recorded during onForgroundStart() for Android.
</summary>
</histogram>
<histogram name="LanguageUsage.UI.Android.Correctness.NoOverride"
enum="LanguageUsage.UI.Android.Correctness" expires_after="2021-12-01">
<owner>perrier@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
The status of the current Chromium UI when the UI language is not
overridden. The UI language is correct when it matches the default Android
system language. If no Android language is available as the Chromium
language, then the UI is by definition incorrect.
This histogram is recorded during onForgroundStart() for Android.
</summary>
</histogram>
<histogram name="LanguageUsage.UI.Android.Correctness.Override"
enum="LanguageUsage.UI.Android.Correctness" expires_after="2021-12-01">
<owner>perrier@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
The status of the current Chromium UI when the UI language is overridden.
The UI language is correct when it matches the override UI value set as the
default locale. The Native UI language can be different from the Java UI
language if Play Store daily hygiene has not run since an override language
was set.
This histogram is recorded during onForgroundStart() for Android.
</summary>
</histogram>
<histogram name="Launch.FlagsAtStartup" enum="LoginCustomFlags"
expires_after="never">
<!-- expires-never: monitors use of all flags. -->
<owner>asvitkine@chromium.org</owner>
<owner>ntfschr@chromium.org</owner>
<summary>
Logs which Chrome flags from about:flags were active on start up. Android
WebView supports flags differently than most platforms, see
https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/developer-ui.md
for details.
</summary>
</histogram>
<histogram name="Launch.HomeScreen" enum="LaunchFromHomeScreen"
expires_after="2021-08-22">
<owner>dominickn@chromium.org</owner>
<owner>hartmanng@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
Records how Chrome handled a launch from an Android Home screen shortcut.
</summary>
</histogram>
<histogram name="Launch.HomeScreenSource" enum="LaunchFromHomeScreenSource"
expires_after="2021-10-10">
<owner>dominickn@chromium.org</owner>
<owner>hartmanng@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
Records the source of an Android homescreen launch intent used to launch
Chrome.
The Menu item bucket is deprecated as of M57, and will only contain records
for shortcuts added to the homescreen until M56.
For M57+, the Menu item (standalone) bucket contains all launch intents
originating from the add to homescreen menu item that launch to standalone
mode and *are not* WebAPKs. These are sites which do not meet the PWA
eligibility criteria, but have an app manifest that specifies either
standalone or fullscreen display. This bucket also contains PWA *and*
non-PWA intents that were added to the homescreen *prior* to M57, as we
cannot distinguish between them after they are added.
For M57+, the Menu item (shortcut) bucket contains all launch intents
originating from the add to homescreen menu item that launch to a browser
tab, regardless of when the intent was added.
</summary>
</histogram>
<histogram name="Launch.IntentFlags" enum="LaunchIntentFlags"
expires_after="2020-10-04">
<owner>dfalcantara@chromium.org</owner>
<summary>
Records flags (and combinations of flags) that were attached to the Intent
that started ChromeLauncherActivity.
</summary>
</histogram>
<histogram name="Launch.Modes" enum="LaunchMode" expires_after="never">
<!-- expires-never: used from time to time on Windows to measure the value of the various Chrome shortcuts (grt@) -->
<owner>calamity@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>The different ways Chrome is launched.</summary>
</histogram>
<histogram name="Launch.WebAppDisplayMode" enum="WebAppDisplayMode"
expires_after="M96">
<owner>peter@chromium.org</owner>
<owner>yfriedman@chromium.org</owner>
<summary>
Records the display mode (as defined in the Web App Manifest spec) at the
launch of the Added to Home screen or installed Web App (including WebAPKs).
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerComplexText" units="microseconds"
expires_after="M85">
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
complex text fragments, the average number of microseconds spent laying out
each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerFloat" units="microseconds"
expires_after="M85">
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
floats, the average number of microseconds spent laying out each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerNode" units="microseconds"
expires_after="M85">
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, the average number of
microseconds spent laying out each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerPositioned" units="microseconds"
expires_after="M85">
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
fixed or absolute positioned, the average number of microseconds spent
laying out each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerSimpleText" units="microseconds"
expires_after="M85">
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
simple text fragments, the average number of microseconds spent laying out
each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerTD" units="microseconds"
expires_after="M85">
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
table cells, the average number of microseconds spent laying out each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.AdjustedScrollOffset" enum="BooleanHit"
expires_after="M77">
<obsolete>
Removed in M89.
</obsolete>
<owner>skobes@chromium.org</owner>
<summary>
Records the number of times ScrollAnchor adjusts the scroll offset.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.RestorationStatus"
enum="ScrollAnchorRestorationStatus" expires_after="M77">
<obsolete>
Removed in M89.
</obsolete>
<owner>pnoland@chromium.org</owner>
<summary>
Records the status of attempts to restore a serialized scroll anchor.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.SerializedAnchorSelectorLength"
units="characters" expires_after="M77">
<owner>pnoland@chromium.org</owner>
<summary>
The number of characters in the selector computed for a serialized scroll
anchor. Recorded when a scroll anchor is serialized.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.SuppressedBySanaclap" enum="BooleanHit"
expires_after="M81">
<obsolete>
Removed in M89.
</obsolete>
<owner>ymalik@chromium.org</owner>
<summary>
Records the number of times scroll anchoring is suppressed because of the
SANACLAP bit being set on an ancestor (see bit.ly/sanaclap).
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.TimeToComputeAnchorNodeSelector"
units="microseconds" expires_after="M85">
<owner>pnoland@chromium.org</owner>
<summary>
The time it took to compute the selector of a serialized anchor element.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.TimeToFindAnchor" units="microseconds"
expires_after="M82">
<owner>ymalik@chromium.org</owner>
<summary>
The time it took to find a suitable anchor element.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.TimeToRestoreAnchor" units="microseconds"
expires_after="2020-03-08">
<owner>pnoland@chromium.org</owner>
<summary>
The time it took to restore the scroll anchor using the serialized anchor
element.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Lens.ImageClassification.ClassificationTime" units="ms"
expires_after="M90">
<obsolete>
Replaced with
Lens.ImageClassification.ClassificationTime.SuccessOnQueryResultMs as of
12/2020.
</obsolete>
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the end to end latency of the Lens image classifcation call when the
user completes a long press on an image. Only logged on Android.
</summary>
</histogram>
<histogram name="Lens.ImageClassification.ClassificationTime.EarlyTerminatedMs"
units="ms" expires_after="2021-07-04">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the time between the start of the Lens image classifcation call to
the early termination before the call completes. Only logged on Android.
</summary>
</histogram>
<histogram
name="Lens.ImageClassification.ClassificationTime.SuccessOnQueryResultMs"
units="ms" expires_after="2021-08-22">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the end to end latency of the Lens image classifcation call when the
user completes a long press on an image. Only logged on Android.
</summary>
</histogram>
<histogram name="Lens.ImageClassification.ResultState"
enum="LensClassifyResultState" expires_after="2021-08-22">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the result state of the Lens image classifcation call when the user
completes a long press on an image. Only logged on Android.
</summary>
</histogram>
<histogram name="Lens.ImageClassification.SdkError" enum="LensSdkError"
expires_after="2021-08-22">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the error code when there is a Lens SDK error occurred within the
classification session. The error code is an integer constant defined by the
SDK. Only logged on Android. See http://b/170422682 for more details.
</summary>
</histogram>
<histogram name="LevelDB.ApproximateMemTableMemoryUse" units="bytes"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>salg@google.com</owner>
<summary>
The approximate MemTable memory use of a LevelDB in bytes. Recorded right
after initializing an on-disk database.
</summary>
</histogram>
<histogram name="LevelDBEnv.DeleteTableBackupFile" enum="BooleanSuccess"
expires_after="2020-12-31">
<owner>cmumford@chromium.org</owner>
<owner>chrome-owp-storage@google.com</owner>
<summary>
Tracks the success rate of deleting an unused leveldb table backup file.
</summary>
</histogram>
<histogram name="LevelDBEnv.IOError" enum="LevelDBIOErrorMethods"
expires_after="M95">
<owner>dmurph@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>Methods where leveldb's Chromium environment has IO errors.</summary>
</histogram>
<histogram name="LevelDBEnv.MissingFiles" units="files" expires_after="M95">
<owner>dmurph@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Number of backup files found without corresponding ldb files. As measured by
GetChildren when used in LevelDB clients other than IndexedDB.
</summary>
</histogram>
<histogram name="LevelDBWrapper.CommitDelay" units="ms" expires_after="M95">
<owner>mek@chromium.org</owner>
<summary>
Delay between the browser process receiving changes and those changes being
written to the DB.
</summary>
</histogram>
<histogram name="LibraryLoader.LoadNativeLibraryWindows"
enum="LoadLibraryResultCategory" expires_after="M82">
<owner>chengx@chromium.org</owner>
<summary>
This metric records the LoadLibraryExW and LoadLibraryW Windows API call
results, which are used in native_library_win.cc.
</summary>
</histogram>
<histogram base="true"
name="LibraryLoader.PercentageOfResidentCodeBeforePrefetch" units="%"
expires_after="M81">
<owner>lizeb@chromium.org</owner>
<summary>
Percentage of the native library code pages resident in memory. Recorded
immediately before the library prefetching kicks in, only on Android.
</summary>
</histogram>
<histogram name="Linux.Distro.Debian" enum="LinuxDistroDebianVersion"
expires_after="2021-08-22">
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The Debian version number (eg. 8: Jessie, 9: Stretch). Logged once on
startup if Linux.Distro is Debian.
</summary>
</histogram>
<histogram name="Linux.Distro.Fedora" enum="LinuxDistroFedoraVersion"
expires_after="2021-08-22">
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The Fedora version number (eg. 27, 28) Logged once on startup if
Linux.Distro is Fedora.
</summary>
</histogram>
<histogram name="Linux.Distro.OpenSuseLeap"
enum="LinuxDistroOpenSuseLeapVersion" expires_after="2021-08-22">
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The openSUSE Leap version number, logged as 1000*major + minor (eg. 15001 =
15.1). Logged once on startup if Linux.Distro is openSUSE Leap.
</summary>
</histogram>
<histogram name="Linux.Distro.Ubuntu" enum="LinuxDistroUbuntuVersion"
expires_after="2021-08-22">
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The Ubuntu version number, logged as 1000*year + month (eg. 16004 = 16.04
Xenial). Logged once on startup if Linux.Distro is Ubuntu.
</summary>
</histogram>
<histogram name="Linux.Distro2" enum="LinuxDistro2" expires_after="2021-08-22">
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>The Linux distro used. Logged on each start up.</summary>
</histogram>
<histogram name="Linux.GlibcVersion" enum="LinuxGlibcVersion"
expires_after="2021-08-15">
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The version of glibc used. (Linux only) Logged on each start up.
</summary>
</histogram>
<histogram name="Linux.SandboxStatus" enum="LinuxSandboxStatus"
expires_after="2021-09-19">
<owner>mpdenton@google.com</owner>
<owner>src/sandbox/linux/OWNERS</owner>
<summary>
The Linux sandbox status. This describes what sandboxing features are
enabled (such as the suid/namespace sandboxes, various namespaces, seccomp
bpf, ...). Emitted once at startup.
</summary>
</histogram>
<histogram name="Linux.WindowManager" enum="LinuxWindowManagerName"
expires_after="2021-08-01">
<owner>pkotwicz@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The window manager used. (Linux only) Logged on each start up.
</summary>
</histogram>
<histogram name="Linux.X11.GbmSupportX11CreationTime" units="ms"
expires_after="2020-11-30">
<owner>thomasanderson@chromium.org</owner>
<owner>rjkroege@chromium.org</owner>
<summary>
The amount of time (ms) to construct the GbmSupportX11 singleton.
</summary>
</histogram>
<histogram name="LiteVideo.CanApplyLiteVideo.HintCache.HasHint"
enum="BooleanAvailable" expires_after="2021-08-22">
<owner>mcrouse@chromium.org</owner>
<owner>rajendrant@chromium.org</owner>
<summary>
Whether the LiteVideo hint cache contains hint for the host of the
navigation being considered for the LiteVideo optimization. Recorded for
every HTTP/HTTPS navigation.
</summary>
</histogram>
<histogram name="LiteVideo.CanApplyLiteVideo.UserBlocklist"
enum="LiteVideoBlocklistReason" expires_after="2021-08-22">
<owner>mcrouse@chromium.org</owner>
<owner>rajendrant@chromium.org</owner>
<summary>
When determining whether the LiteVideo should be attempted on a navigation,
the host could be blocklisted for various reasons. This reports the reason
the host of the navigation was blocklisted, or was allowed. Recorded for
every HTTP/HTTPS navigation.
</summary>
</histogram>
<histogram name="LiteVideo.HintAgent.ActiveThrottleSize" units="count"
expires_after="M94">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records the total count of media responses that were currently being
throttled. Recorded whenever a new response gets throttled.
</summary>
</histogram>
<histogram name="LiteVideo.HintAgent.HasHint" units="boolean"
expires_after="2021-08-29">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records whether the LiteVideo hint agent in the renderer process received
hints.
</summary>
</histogram>
<histogram name="LiteVideo.LiteVideoDecider.OptGuideHintCacheSize"
units="count" expires_after="2021-08-22">
<owner>mcrouse@chromium.org</owner>
<owner>rajendrant@chromium.org</owner>
<summary>
Records the total number of LiteVideoHints, keyed by host, cached locally by
the LiteVideoDecider for use when queried by subframes.
</summary>
</histogram>
<histogram name="LiteVideo.NavigationMetrics.FrameRebufferMapSize"
units="count" expires_after="M94">
<owner>mcrouse@chromium.org</owner>
<owner>rajendrant@chromium.org</owner>
<summary>
Records the number of entries in the map that records the number of rebuffer
events within each frame. Recorded once per navigation.
</summary>
</histogram>
<histogram name="LiteVideo.OriginHints.ParseResult" enum="BooleanSuccess"
expires_after="M94">
<owner>mcrouse@chromium.org</owner>
<owner>rajendrant@chromium.org</owner>
<summary>
Indicates whether the hints for configuring LiteVideo throttling provided
via Finch were successfully parsed and loaded for use. Android only,
recorded once per browser startup.
</summary>
</histogram>
<histogram name="LiteVideo.URLLoader.ThrottleLatency" units="ms"
expires_after="2021-08-22">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records how much a media response was throttled by LiteVideo. Recorded once
for each throttled response.
</summary>
</histogram>
<histogram name="LoadingPredictor.OptimizationHintsReceiveStatus"
enum="LoadingPredictorOptimizationHintsReceiveStatus"
expires_after="2021-08-22">
<owner>sophiechang@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
The status of when the optimization hints were received by the Loading
Predictor. This will be recorded on navigations for which predictions from
the Optimization Guide were received.
</summary>
</histogram>
<histogram name="LoadingPredictor.PreconnectCount" units="origins"
expires_after="2021-10-17">
<owner>alexilin@chromium.org</owner>
<summary>
The number of origins that were preconnected for a page load. It includes
preconnect attempts that don't result in new opened connection. Logged after
the preconnect manager completes all jobs attached to the page load.
</summary>
</histogram>
<histogram name="LoadingPredictor.PreconnectHitsPercentage" units="%"
expires_after="2021-10-17">
<owner>alexilin@chromium.org</owner>
<summary>
The percentage of origins that were preconnected and requested by a page
load to the total number of origins that were preconnected for a page load.
Logged after the preconnect manager completes all jobs attached to the page
load.
</summary>
</histogram>
<histogram base="true" name="LoadingPredictor.PreconnectLearningCount"
units="origins" expires_after="2021-08-15">
<owner>alexilin@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
When the loading predictor has origins in the local database for a given
navigation to preconnect and preresolve, the count of predicted origins.
</summary>
</histogram>
<histogram base="true" name="LoadingPredictor.PreconnectLearningPrecision"
units="%" expires_after="2021-08-15">
<owner>alexilin@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
When the loading predictor has origins in the local database for a given
navigation to preconnect and preresolve, the precision of the predictions in
percentage. This is computed as 100 \times \frac{correct
predictions}{predictions}.
</summary>
</histogram>
<histogram base="true" name="LoadingPredictor.PreconnectLearningRecall"
units="%" expires_after="2021-08-09">
<owner>alexilin@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
When the loading predictor has origins in the local database for a given
navigation to preconnect and preresolve, the recall of the predictions, in
percentage. This is computed as 100 \times \frac{correct predictions}{all
prefetchable subresources}.
</summary>
</histogram>
<histogram base="true" name="LoadingPredictor.PreconnectLearningRedirectStatus"
enum="ResourcePrefetchPredictorRedirectStatus" expires_after="M82">
<owner>alexilin@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
When the prefetch predictor has origins in the local database for a given
navigation to preconnect and preresolve, records stats about whether
redirect was predicted correctly or incorrectly.
</summary>
</histogram>
<histogram name="LoadingPredictor.PreresolveCount" units="hosts"
expires_after="2021-10-17">
<owner>alexilin@chromium.org</owner>
<summary>
The number of hosts that were preresolved for a page load. It includes only
successful DNS lookups. Logged after the preconnect manager completes all
jobs attached to the page load.
</summary>
</histogram>
<histogram name="LoadingPredictor.PreresolveHitsPercentage" units="%"
expires_after="M85">
<owner>alexilin@chromium.org</owner>
<summary>
The percentage of hosts that were preresolved and requested by a page load
to the total number of hosts that were preresolved for a page load. Logged
after the preconnect manager completes all jobs attached to the page load.
</summary>
</histogram>
<histogram name="LowPriorityIframes.IframeRequestPriority"
enum="WebURLRequestPriority" expires_after="M77">
<owner>tbansal@chromium.org</owner>
<summary>
Original Blink priority of the request that belongs to an iframe. Recorded
for every request fetched via Blink, but only when the experiment to lower
the priority of iframes is enabled.
</summary>
</histogram>
<histogram name="LowPriorityIframes.MainFrameRequestPriority"
enum="WebURLRequestPriority" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
Original Blink priority of the request that belongs to the main frame.
Recorded for every request fetched via Blink, but only when the experiment
to lower the priority of iframes is enabled.
</summary>
</histogram>
<histogram base="true" name="MachineLearningService.CpuTimeMicrosec"
units="microseconds" expires_after="2021-07-01">
<!-- Name completed by histogram_suffixes
name="MachineLearningServiceRequests" -->
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
CPU time (for one CPU core) of one Chrome OS ML Service request. Reported
for all users; users without high-resolution clocks will report 0 for short
requests.
</summary>
</histogram>
<histogram name="MachineLearningService.CpuUsageMilliPercent"
units="1/1000ths of %" expires_after="2021-08-22">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
Fraction of total CPU resources used by Chrome OS ML Service, sampled every
5 minutes.
</summary>
</histogram>
<histogram base="true"
name="MachineLearningService.CreateGraphExecutorResult.Event"
enum="MachineLearningServiceCreateGraphExecutorResultEvent"
expires_after="2021-09-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of CreateGraphExecutor, which can be OK or some specific error.
</summary>
</histogram>
<histogram base="true" name="MachineLearningService.ExecuteResult.Event"
enum="MachineLearningServiceExecuteResultEvent" expires_after="2021-09-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of Execute, which can be OK or some specific error.
</summary>
</histogram>
<histogram name="MachineLearningService.GrammarChecker.Check.Event"
enum="Boolean" expires_after="2021-12-31">
<owner>jiwan@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>The result of grammar check, which can be OK or ERROR.</summary>
</histogram>
<histogram name="MachineLearningService.GrammarChecker.LoadModelResult.Event"
enum="MachineLearningServiceLoadModelResultEvent"
expires_after="2021-12-31">
<owner>jiwan@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
The result of load grammar model, which can be OK or some specific error.
The error code could be logged in machine learning service in chrome or in
chromeos when grammar model is not loaded successfully.
</summary>
</histogram>
<histogram name="MachineLearningService.HandwritingModel.LoadModelResult.Event"
enum="MachineLearningServiceLoadHandwritingModelResultEvent"
expires_after="2021-08-29">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
The result of load handwriting model, which can be OK or some specific
error. The error code could be logged in machine learning service in chrome
or in chromeos when handwriting model is not loaded successfully.
</summary>
</histogram>
<histogram name="MachineLearningService.HandwritingModel.Recognize.Event"
enum="Boolean" expires_after="2021-09-19">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
The result of handwriting recognition, which can be OK or some specific
error.
</summary>
</histogram>
<histogram name="MachineLearningService.LoadModelResult"
enum="MachineLearningServiceLoadModelResultEvent"
expires_after="2021-09-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The error result of LoadModel in cases when the model name could not be
determined. See MachineLearningService.*.LoadModelResult.Event for the
result broken down by model name when the name is known.
</summary>
</histogram>
<histogram base="true" name="MachineLearningService.LoadModelResult.Event"
enum="MachineLearningServiceLoadModelResultEvent"
expires_after="2021-09-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of LoadModel, which can be OK or some specific error.
</summary>
</histogram>
<histogram name="MachineLearningService.MojoConnectionEvent"
enum="MachineLearningServiceMojoConnectionEvent" expires_after="2021-10-04">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
Events related to the connection and disconnection of the Mojo IPC channel
between Chrome and the Chrome OS ML Service.
</summary>
</histogram>
<histogram name="MachineLearningService.PeakTotalMemoryKb" units="KB"
expires_after="2021-08-22">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<owner>honglinyu@chromium.org</owner>
<summary>
Peak total (shared and non-shared) memory used by Chrome OS ML Service over
the last 24 hours. Sampled every 5 minutes, so may miss short-lived spikes.
</summary>
</histogram>
<histogram base="true" name="MachineLearningService.TotalMemoryDeltaKb"
units="KB" expires_after="2021-07-01">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<owner>honglinyu@chromium.org</owner>
<summary>
Memory usage increase caused by one Chrome OS ML Service request.
</summary>
</histogram>
<histogram name="MachineLearningService.TotalMemoryKb" units="KB"
expires_after="2021-08-22">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<owner>honglinyu@chromium.org</owner>
<summary>
Total (shared and non-shared) memory used by Chrome OS ML Service, sampled
every 5 minutes.
</summary>
</histogram>
<histogram name="ManagedUsers.BlockedIframeCount" units="iframes"
expires_after="2021-07-23">
<owner>yilkal@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The number of blocked iframes per unblocked main frame load. The value is
recorded when the main frame finishes loading.
</summary>
</histogram>
<histogram name="ManagedUsers.FilteringResult"
enum="SupervisedUserSafetyFilterResult" expires_after="2021-08-15">
<owner>agawronska@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The counts of results from supervised user URL filtering. Each entry
includes the outcome of the filter (i.e. allowed, blocked, or unknown) and
the page transition type (how the user got there, e.g. typed URL, clicked
link).
</summary>
</histogram>
<histogram name="ManagedUsers.KidsManagementClassifyUrlFailureDelay" units="ms"
expires_after="M85">
<owner>escordeiro@chromium.org</owner>
<owner>unichrome-eng@google.com</owner>
<summary>
The extra page load delays introduced by network requests due to the
supervised user url filtering feature, measured once per page load, for
failed requests. This is the delay to fetch the token and call the
ClassifyUrl rpc, when there is a cache miss.
</summary>
</histogram>
<histogram name="ManagedUsers.KidsManagementClassifyUrlSuccessDelay" units="ms"
expires_after="M85">
<owner>escordeiro@chromium.org</owner>
<owner>unichrome-eng@google.com</owner>
<summary>
The extra page load delays introduced by network requests due to the
supervised user url filtering feature, measured once per page load. This is
the delay to fetch the token and call the ClassifyUrl rpc, when there is a
cache miss. Only recorded for successful requests.
</summary>
</histogram>
<histogram name="ManagedUsers.KidsManagementUrlCheckerResponseStatus"
enum="KidsManagementURLCheckerResponseStatus" expires_after="M85">
<owner>escordeiro@chromium.org</owner>
<owner>unichrome-eng@google.com</owner>
<summary>
The counts of response status from supervised user
KidsManagementURLCheckerCLient. Each entry includes the outcome of a request
(i.e. success, net error, parsing error).
</summary>
</histogram>
<histogram name="ManagedUsers.RequestPermissionSource"
enum="ManagedUserURLRequestPermissionSource" expires_after="2021-07-23">
<owner>michaelpg@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The counts of request for permission sent from main frame or sub-frame.
</summary>
</histogram>
<histogram name="ManagedUsers.SafeSitesDelay" units="ms"
expires_after="2021-10-15">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The extra page load delays introduced by network requests due to the
supervised user SafeSites feature, measured once per page load.
</summary>
</histogram>
<histogram name="ManagedUsers.SafetyFilter"
enum="SupervisedUserSafetyFilterResult" expires_after="2021-09-27">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The counts of results from the supervised user safety filter. Each entry
includes the outcome of the filter (i.e. allowed, blocked, or unknown) and
the page transition type (how the user got there, e.g. typed URL, clicked
link). This only includes URL requests that were handled by the SafeSites
filter (both online and the static blacklist).
</summary>
</histogram>
<histogram name="ManagedUsers.Whitelist.Count" units="allowlists"
expires_after="M88">
<obsolete>
Removed in M89.
</obsolete>
<owner>agawronska@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The number of allowlists installed for a supervised user. Recorded at every
profile startup.
</summary>
</histogram>
<histogram name="Manifest.FetchResult" enum="ManifestFetchResultType"
expires_after="2020-12-13">
<owner>mgiuca@chromium.org</owner>
<summary>
Tracks whether the Manifest fetch succeed and why it failed if it failed.
</summary>
</histogram>
<histogram name="Manifest.HasProperty" enum="Boolean"
expires_after="2021-10-10">
<owner>mgiuca@chromium.org</owner>
<summary>
Tracks which properties of a Manifest were present when it was parsed. If a
property can't be parsed, it will be recorded as not present. These
histograms will only be used if the Manifest was correctly fetched and
parsed and the parsed manifest is not empty.
</summary>
</histogram>
<histogram name="Manifest.ParseSuccess" enum="Boolean"
expires_after="2020-06-07">
<owner>mgiuca@chromium.org</owner>
<summary>
Tracks the Manifest parsing result. A failure will be recorded if the
Manifest was incorrectly structured. This doesn't take into account parse
failures for each individual properties.
</summary>
</histogram>
<histogram name="Mist.SwitchResult" enum="MistSwitchResult" expires_after="M77">
<owner>akhouderchah@chromium.org</owner>
<owner>benchan@chromium.org</owner>
<summary>
The result (e.g. success or the type of failure) of a modem interface switch
operation performed by mist on Chrome OS.
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.ErrorOrResponseCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<summary>
The net error or HTTP response code of a mixed content resource request that
was autoupgraded to HTTPS
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Failure.IsAd" enum="Boolean"
expires_after="M89">
<owner>carlosil@chromium.org</owner>
<summary>
Whether or not an autoupgrade mixed content request was for a resource we
know to be an ad
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Failure.Type"
enum="ResourceType" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Logs the type of each resource request that is autoupgraded to HTTPS and
fails to load.
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Response.Type"
enum="ResourceType" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Logs the type of each resource request that was autoupgraded to HTTPS and
resulted in a response.
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Start.Type"
enum="ResourceType" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Logs the type of each resource request that is autoupgraded to HTTPS. This
is logged when the request is started.
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Status"
enum="MixedContentAutoupgradeStatus" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<summary>
The status of a mixed content resource request that was autoupgraded to
HTTPS
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.BlacklistPathUpdated"
enum="BooleanSuccess" expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.BlocklistPathUpdated.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
Records the result of writing the path of the module blocklist cache to the
registry so that chrome_elf.dll can use it. A value is emitted every time
the cache is updated because another instance of Chrome with a different
User Data directory could have overwritten the path to point to their own
version of the cache.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.BlacklistStatus"
enum="ModuleBlocklistStatus" expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.BlocklistStatus.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
The status of a blocklisted module in the process. Recorded when the cache
is updated.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.DeleteResult" enum="BooleanSuccess"
expires_after="M82">
<obsolete>
Renamed to ModuleBlocklistCache.DeleteResult.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
The result of deleting the module blocklist cache when third-party module
blocking is disabled. Attempting to delete an empty file is considered a
success.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.ExpectedMD5Digest" enum="Boolean"
expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.ExpectedMD5Digest.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
Records whether the MD5 digest of the module blocklist cache matched the one
recorded in the Local State file.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.ModuleCount" units="modules"
expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.ModuleCount.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
Records the number of modules in the module blocklist cache at the time it
was written to disk.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.ReadResult"
enum="ModuleBlocklistCacheReadResult" expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.ReadResult.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
The result of reading the current module blocklist cache while updating it.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.WriteResult" enum="BooleanSuccess"
expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.WriteResult.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>The result of writing the updated module blocklist cache.</summary>
</histogram>
<histogram name="ModuleBlocklistCache.BlocklistPathUpdated"
enum="BooleanSuccess" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the result of writing the path of the module blocklist cache to the
registry so that chrome_elf.dll can use it. A value is emitted every time
the cache is updated because another instance of Chrome with a different
User Data directory could have overwritten the path to point to their own
version of the cache.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.BlocklistStatus"
enum="ModuleBlocklistStatus" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The status of a blocklisted module in the process. Recorded when the cache
is updated.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.DeleteResult" enum="BooleanSuccess"
expires_after="M82">
<owner>pmonette@chromium.org</owner>
<summary>
The result of deleting the module blocklist cache when third-party module
blocking is disabled. Attempting to delete an empty file is considered a
success.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.ExpectedMD5Digest" enum="Boolean"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether the MD5 digest of the module blocklist cache matched the one
recorded in the Local State file.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.ModuleCount" units="modules"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the number of modules in the module blocklist cache at the time it
was written to disk.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.ReadResult"
enum="ModuleBlocklistCacheReadResult" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The result of reading the current module blocklist cache while updating it.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.WriteResult" enum="BooleanSuccess"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>The result of writing the updated module blocklist cache.</summary>
</histogram>
<histogram name="ModuleIntegrityVerification.BytesModified" units="bytes"
expires_after="M85">
<owner>anthonyvd@chromium.org</owner>
<summary>
Represents the amount of bytes in a module that are different on disk and in
memory. Logged when the ModuleIntegrityVerifier determines that a module is
different on disk and in memory after being triggered by an incident.
</summary>
</histogram>
<histogram name="ModuleIntegrityVerification.RelocationsUnordered"
enum="ModuleIndex" expires_after="M85">
<obsolete>
Removed in M87.
</obsolete>
<owner>grt@chromium.org</owner>
<summary>
Logged when the relocations in a module are not ordered causing the module
verification to abort.
</summary>
</histogram>
<histogram name="Mojo.Channel.Linux.SharedMemWriteBytes" units="bytes"
expires_after="2021-11-01">
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The size in bytes of individual messages written into shared memory.
</summary>
</histogram>
<histogram name="Mojo.Channel.Linux.SharedMemWriteBytes_Fail_NoLock"
units="bytes" expires_after="2021-11-01">
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The size in bytes of individual messages that could not be written due to
lock contention.
</summary>
</histogram>
<histogram name="Mojo.Channel.Linux.SharedMemWriteBytes_Fail_NoSpace"
units="bytes" expires_after="2021-11-01">
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The size in bytes of individual messages that could not be written due to
shared memory buffer exhaustion.
</summary>
</histogram>
<histogram name="Mojo.Channel.Linux.SharedMemWriteBytes_Fail_TooLarge"
units="bytes" expires_after="2021-11-01">
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The size in bytes of individual messages that could not be written due to
message being larger than the shared buffer size.
</summary>
</histogram>
<histogram name="Mojo.Channel.WriteMessageHandles" units="count"
expires_after="2021-09-05">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>The number of handles sent with a channel message.</summary>
</histogram>
<histogram name="Mojo.Channel.WriteMessageLatency" units="ms"
expires_after="2021-09-05">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
Measures the time taken to fully write a channel message to the underlying
channel.
</summary>
</histogram>
<histogram name="Mojo.Channel.WriteMessageSize" units="bytes"
expires_after="2021-09-05">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>The size of a message written to a channel.</summary>
</histogram>
<histogram name="Mojo.Channel.WriteQueued" enum="Boolean"
expires_after="2021-07-01">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
Tracks whether or not a message is written directly to a channel or queued.
</summary>
</histogram>
<histogram name="Mojo.Channel.WriteQueuePendingMessages" units="count"
expires_after="2021-09-05">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The number queued messages waiting to be written, measured when a channel
flush is attempted.
</summary>
</histogram>
<histogram name="Mojo.Channel.WritevBatchedMessages" units="messages"
expires_after="2021-09-05">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>The number of messages batched into a single writev call.</summary>
</histogram>
<histogram name="Mojo.Connector.MaxUnreadMessageQuotaUsed" units="messages"
expires_after="2021-08-22">
<owner>siggi@chromium.org</owner>
<owner>rockot@chromium.org</owner>
<summary>
The maximal unread message quota used for the lifetime of a Connector. This
is sampled for a configurable percentage of Connectors only when the feature
MojoRecordUnreadMessageCount is enabled. By default 1% of Connectors are
sampled, as there's some overhead involved in enabling the unread message
quota on a MessagePipe. See //mojo/public/cpp/bindings/lib/connector.cc.
</summary>
</histogram>
<histogram name="Mojo.InvalidUTF8String" units="BooleanValid"
expires_after="2021-09-23">
<owner>rsesek@chromium.org</owner>
<owner>chrome-mojo@google.com</owner>
<summary>
Emitted any time a Mojo string is deserialized and is not valid UTF-8.
</summary>
</histogram>
<histogram name="MojoLevelDBEnv.IOError" enum="LevelDBIOErrorMethods"
expires_after="M87">
<owner>mek@chromium.org</owner>
<summary>Methods where leveldb's Mojo environment has IO errors.</summary>
</histogram>
<histogram name="Mouse.Acceleration.Changed" enum="BooleanEnabled"
expires_after="M87">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks mouse acceleration setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.Acceleration.Started" enum="BooleanEnabled"
expires_after="M87">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks mouse acceleration setting on startup. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.PointerSensitivity.Changed" enum="PointerSensitivity"
expires_after="2021-07-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks mouse sensitivity setting changes by the user. This replaces the old
Mouse.Sensitivity.Changed metric. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.PointerSensitivity.Started" enum="PointerSensitivity"
expires_after="2021-09-19">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks mouse sensitivity setting on startup. This replaces the old
Mouse.Sensitivity.Started metric. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.ReverseScroll.Changed" enum="BooleanEnabled"
expires_after="M77">
<owner>lannm@chromium.org</owner>
<summary>
Tracks mouse reverse scroll setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.ReverseScroll.Started" enum="BooleanEnabled"
expires_after="M85">
<owner>lannm@chromium.org</owner>
<summary>
Tracks mouse reverse scroll setting on startup. Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="Mouse.ScrollAcceleration" enum="BooleanEnabled"
expires_after="2021-08-09">
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>khorimoto@chromium.org</owner>
<owner>zentaro@chromium.org</owner>
<summary>
Whether mouse scroll acceleration is enabled. Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="Mouse.ScrollSensitivity" enum="PointerSensitivity"
expires_after="2020-12-01">
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>khorimoto@chromium.org</owner>
<owner>zentaro@chromium.org</owner>
<summary>Mouse scroll sensitivity value. Only reported on Chrome OS.</summary>
</histogram>
<histogram name="MPArch.ChildProcessLaunchFirst" units="units"
expires_after="2021-08-22">
<owner>ppi@chromium.org</owner>
<summary>
The time it takes to spawn the first child subprocess (including sandbox
init).
</summary>
</histogram>
<histogram name="MPArch.ChildProcessLaunchSubsequent" units="units"
expires_after="2021-10-17">
<owner>ppi@chromium.org</owner>
<summary>
The time it takes to spawn child sub processes not counting the first one.
</summary>
</histogram>
<histogram name="MPArch.ForkTime" units="ms" expires_after="2020-02-23">
<owner>lizeb@chromium.org</owner>
<summary>
Time to call fork() or clone(), in ms. Recorded at each fork excluding from
the zygote, only on posix platforms.
</summary>
</histogram>
<histogram name="MPArch.RPHCountPerLoad" units="units" expires_after="M77">
<owner>ppi@chromium.org</owner>
<summary>
The number of RenderProcessHosts (i.e. renderer processes) present when each
load completes. This is basically the average number of sub-processes over
time. See also Tabs.TabCountPerLoad.
</summary>
</histogram>
<histogram name="MPArch.RWH_RepaintDelta" units="units"
expires_after="2018-08-30">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>TBD</summary>
</histogram>
<histogram name="MPArch.RWH_TabSwitchPaintDuration" units="ms"
expires_after="M85">
<owner>jbauman@chromium.org</owner>
<summary>
Time from tab switch requested to tab appearing on screen (Aura and Mac
only). Replaced by Browser.Tabs.TotalSwitchDuration.*
</summary>
</histogram>
<histogram name="MultiProfile.SwitchActiveUserUIPath"
enum="MultiProfileSwitchActiveUserAction" expires_after="2020-05-10">
<owner>skuhne@chromium.org</owner>
<summary>
Count the number of times each UI path is taken for switching the active
account in a Chrome OS multiprofile session. UI paths include the system
tray and the keyboard shortcut.
</summary>
</histogram>
<histogram name="MultiProfile.TeleportWindowType"
enum="MultiProfileTeleportWindowType" expires_after="2020-05-31">
<owner>skuhne@chromium.org</owner>
<summary>
Counts the number of teleported windows by types in separated desktop mode.
</summary>
</histogram>
<histogram name="MultiProfile.UsersPerSessionIncremental" units="units"
expires_after="2021-08-22">
<owner>skuhne@chromium.org</owner>
<summary>
The number of users simultaneously signed into a multiprofile session on
Chrome OS. This is recorded whenever a user gets added to the session. To
get the correct count, all following counts must be subtracted. Example: If
100 single user, 20 two user and 5 three user sessions, there were
100-20-5=75 single user sessions, 100-80=20 dual user sessions and so on.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.ConfirmReadDirectoryResult"
enum="PermissionAction" expires_after="2021-10-04">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
Did the user confirm read access to a directory via the Native File System
API.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.FileChooserResult" units="units"
expires_after="2021-10-04">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
The number of files a user picked using the file picker in the Native File
System API. Recorded as 0 if the user cancelled the picker.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.ReadPermissionRequestOutcome"
enum="NativeFileSystemPermissionRequestOutcome" expires_after="2021-10-04">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
The result of an attempt to request write permission to a file or directory
via the Native File System API.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.SensitiveDirectoryAccessResult"
enum="SensitiveDirectoryAccessResult" expires_after="2021-10-04">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
Records if the file or directory selected by the user through the Native
File System API is considered a sensitive directory, and thus was blocked.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.WritePermissionRequestOutcome"
enum="NativeFileSystemPermissionRequestOutcome" expires_after="2021-10-04">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
The result of an attempt to request write permission to a file or directory
via the Native File System API.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.AuthenticationMethod"
enum="NativeSmbFileShare_AuthMethod" expires_after="M94">
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/chromeos/smb_client/OWNERS</owner>
<summary>
The method used to authenticate to a share. This is called on each attempted
mount.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.GetSharesResult"
enum="NativeSmbFileShare_MountResult" expires_after="M94">
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/chromeos/smb_client/OWNERS</owner>
<summary>
The result of the GetShares operation for Native SMB File Share. This is
recorded after the D-Bus call to GetShares returns.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.MountCount" units="units"
expires_after="M94">
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/chromeos/smb_client/OWNERS</owner>
<summary>
The number of active mounts that a user has. This is recorded after a share
has been successfully mounted.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.MountResult"
enum="NativeSmbFileShare_MountResult" expires_after="M94">
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/chromeos/smb_client/OWNERS</owner>
<summary>
The result of the mount operation for Native SMB File Share. This is
recorded after the D-Bus call to Mount returns.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.ReadDirectoryCount" units="units"
expires_after="M85">
<obsolete>
Removed in M87. No longer used with smbfs.
</obsolete>
<owner>zentaro@chromium.org</owner>
<summary>
The number of entries read when calling ReadDirectory. This is recorded
after the D-Bus call to ReadDirectory returns.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.ReadDirectoryDuration" units="ms"
expires_after="M85">
<obsolete>
Removed in M87. No longer used with smbfs.
</obsolete>
<owner>zentaro@chromium.org</owner>
<summary>
The duration of ReadDirectory call to SmbProvider in milliseconds. This is
recorded after the D-Bus call returns.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.RemountResult"
enum="NativeSmbFileShare_MountResult" expires_after="M94">
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/chromeos/smb_client/OWNERS</owner>
<summary>
The result of the Remount operation during startup. This is recorded after
the D-Bus call to Remount returns.
</summary>
</histogram>
<histogram name="NativeTheme.GetSystemColor" units="ms"
expires_after="2021-04-04">
<owner>pkasting@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>Time required to run ui::NativeTheme::GetSystemColor().</summary>
</histogram>
<histogram name="NativeTheme.GetSystemColor.UsesColorProvider" enum="Boolean"
expires_after="2021-08-09">
<owner>pkasting@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>Records if the color provider computed the color.</summary>
</histogram>
<histogram name="NCN.CellularConnectionSubtype" enum="ConnectionSubtype"
expires_after="M77">
<owner>bmcquade@chromium.org</owner>
<summary>
The connection subtype of the network the client is connected to, when the
client is on a cellular connection. This histogram is logged once per UMA
record, if the user is on a cellular connection, at the time the record is
finalized.
</summary>
</histogram>
<histogram name="NCN.NetworkOperatorMCCMNC" units="units"
expires_after="2021-09-12">
<owner>tbansal@chromium.org</owner>
<owner>bengr@google.com</owner>
<summary>
The MCC (mobile country code) and MNC (mobile network code) of the network
operator when a new metrics log is created or when the network connection is
changed. A value of zero means a non-mobile network or the operator code is
unknown.
</summary>
</histogram>
<histogram name="net.HttpIdentSrcURL" units="requests" expires_after="M85">
<owner>tsepez@chromium.org</owner>
<summary>
Count of requests which contained a basic auth username and password
embedded in the URL itself.
</summary>
</histogram>
<histogram name="Networks.RememberedShared" units="units"
expires_after="2020-08-01">
<owner>stevenjb@chromium.org</owner>
<summary>
Number of shared remembered (preferred) networks on Chrome OS. Updated any
time the network list changes.
</summary>
</histogram>
<histogram name="Networks.RememberedUnshared" units="units"
expires_after="2020-08-01">
<owner>stevenjb@chromium.org</owner>
<summary>
Number of private remembered (preferred) networks on Chrome OS. Updated any
time the network list changes.
</summary>
</histogram>
<histogram name="Networks.Visible" units="units" expires_after="2020-08-01">
<owner>stevenjb@chromium.org</owner>
<summary>
Number of visible (in-range) networks on Chrome OS. Updated any time the
network list changes.
</summary>
</histogram>
<histogram name="NQE.CachedNetworkQualityAvailable" enum="BooleanAvailable"
expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Records if the cached network quality (from memory or from a persistent
source) was available. Recorded right after connection change event.
</summary>
</histogram>
<histogram name="NQE.CellularSignalStrength.ECTReduction"
units="ECT level reduction" expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<summary>
Number of buckets by which effective connection type was reduced or capped
due to low cellular signal strength. Recorded only on cellular networks, and
only when the value of the effective connection typed is capped.
</summary>
</histogram>
<histogram name="NQE.CellularSignalStrength.LevelAvailable"
enum="BooleanAvailable" expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Whether the signal strength for the cellular network was available or not.
Recorded right before a connection change event. Recorded only on cellular
connections on Android platform.
</summary>
</histogram>
<histogram name="NQE.ConnectivityMonitor.NetworkChangeEvent"
enum="NQE.ConnectivityMonitor.NetworkChangeType" expires_after="2021-08-29">
<owner>rockot@google.com</owner>
<owner>zhongyi@chromium.org</owner>
<summary>
When ConnectivityMonitor establishes that the current default network may be
failing and is Wi-Fi, it asks the operating system to activate a mobile
network for subsequent use. Whenever the system's default network changes,
this logs the relationship between the new default network and the network
preemptively activated by ConnectivityMonitor, if any.
</summary>
</histogram>
<histogram name="NQE.ConnectivityMonitor.TimeToSwitchNetworks" units="ms"
expires_after="2021-08-29">
<owner>rockot@google.com</owner>
<owner>zhongyi@chromium.org</owner>
<summary>
The Network Quality Estimator (NQE) observes network activity to look for
connectivity issues. If it begins to observe failures on a previously
functioning network, it tracks the time at which the failures were first
observed. If the device subsequently switches its default network to
different network (or offline), this histogram logs the number of
milliseconds elapsed since the original failures were observed.
</summary>
</histogram>
<histogram name="NQE.EffectiveConnectionType.OnECTComputation"
enum="NQEEffectiveConnectionType" expires_after="2021-10-17">
<owner>tbansal@chromium.org</owner>
<owner>src/net/nqe/OWNERS</owner>
<summary>
Effective connection type estimated by the network quality estimator.
Recorded every time the effective connection type is computed.
</summary>
</histogram>
<histogram name="NQE.EndToEndRTT.OnECTComputation" units="ms"
expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>src/net/nqe/OWNERS</owner>
<summary>
Rough estimate of the computed end-to-end round trip time. Recorded by the
network quality estimator every time the effective connection type is
computed.
</summary>
</histogram>
<histogram name="NQE.HttpRttReduction.BasedOnRTTCounts" units="ms"
expires_after="2021-10-01">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Duration by which HTTP RTT was reduced because of low confidence.
</summary>
</histogram>
<histogram name="NQE.Kbps.OnECTComputation" units="Kbps"
expires_after="2021-09-19">
<owner>bengr@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Rough estimate of the downstream peak throughput (in kilobits per second).
Recorded by the network quality estimator every time the effective
connection type is computed.
</summary>
</histogram>
<histogram name="NQE.NetworkIdAvailable" enum="BooleanAvailable"
expires_after="2021-07-22">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Whether the NetworkID (SSID of the Wi-Fi network, or the MCC/MNC operator of
the cellular network) was available or not. Recorded only on Wi-Fi and
cellular networks. Recorded right after the connection type changes.
</summary>
</histogram>
<histogram name="NQE.Prefs.ReadCount" units="count" expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Number of times the network quality prefs were read by the network quality
estimator.
</summary>
</histogram>
<histogram name="NQE.Prefs.ReadSize" units="count" expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Count of the number of network IDs in the prefs read by the network quality
estimator.
</summary>
</histogram>
<histogram name="NQE.Prefs.WriteCount" units="count" expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Number of times the network quality prefs were written by the network
quality estimator.
</summary>
</histogram>
<histogram name="NQE.RTT.ObservationSource" enum="NQEObservationSource"
expires_after="2021-10-17">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Number of RTT observations indexed by the source of the observation.
Recorded by the network quality estimator every time a new observation is
made or synthesized.
</summary>
</histogram>
<histogram name="NQE.RTT.OnECTComputation" units="ms"
expires_after="2021-09-12">
<owner>bengr@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Rough estimate of the round trip time at the URLRequest layer. Recorded by
the network quality estimator every time the effective connection type is
computed.
</summary>
</histogram>
<histogram base="true" name="NQE.SignalStrengthQueried" enum="Boolean"
expires_after="2021-09-14">
<owner>tbansal@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Recorded as true when the signal strength of the current network is queried.
</summary>
</histogram>
<histogram name="NQE.TransportRTT.OnECTComputation" units="ms"
expires_after="2021-09-19">
<owner>bengr@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Rough estimate of the computed round trip time at the transport layer.
Recorded by the network quality estimator every time the effective
connection type is computed.
</summary>
</histogram>
<histogram name="NQE.WifiSignalStrength.LevelAvailable" enum="BooleanAvailable"
expires_after="2020-07-06">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Whether the signal strength for the Wifi network was available or not.
Recorded right before a connection change event. Recorded only on Wifi
connections on Android platform.
</summary>
</histogram>
<histogram name="OAuth2Login.MergeSessionFailure" enum="GoogleServiceAuthError"
expires_after="2021-11-29">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Failure reason of MergeSession call during Chrome OS login, Chrome Signin or
account addition. On all OSes as of M44 (previously CrOS only).
</summary>
</histogram>
<histogram name="OAuth2Login.MergeSessionRetry" enum="GoogleServiceAuthError"
expires_after="2021-11-29">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Retry reason of failed MergeSession call during Chrome OS login, Chrome
Signin or account addition. On all OSes as of M44 (previously CrOS only).
</summary>
</histogram>
<histogram name="OAuth2Login.PostMergeVerification"
enum="PostMergeVerificationOutcome" expires_after="2021-06-17">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Outcome of Chrome OS GAIA cookie post-merge session verification process. It
measures how often /MergeSession request collided with browser session
restore process resulting in partially authenticated primary GAIA session.
</summary>
</histogram>
<histogram name="OAuth2Login.PreMergeVerification"
enum="PostMergeVerificationOutcome" expires_after="2021-06-17">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Outcome of Chrome OS GAIA cookie pre-merge session verification process. It
measures how often we need to perform /MergeSession request to
re-authenticated exisitng user with GAIA.
</summary>
</histogram>
<histogram name="OAuth2Login.SessionRestore" enum="GaiaSessionRestoreOutcome"
expires_after="2021-08-29">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>Outcome of Chrome OS GAIA cookie session restore process.</summary>
</histogram>
<histogram name="OAuth2Login.SessionRestoreTimeToFailure" units="ms"
expires_after="2021-06-17">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>How long it takes for the session restore to fail.</summary>
</histogram>
<histogram name="OAuth2Login.SessionRestoreTimeToSuccess" units="ms"
expires_after="2021-06-17">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
How long it takes for the session restore to finish succeessfully.
</summary>
</histogram>
<histogram name="OccludedWindowMouseEvents" units="events"
expires_after="2021-10-04">
<owner>davidbienvenu@chromium.org</owner>
<owner>fdoray@chromium.org</owner>
<summary>
Incremented each time a mouse event is handled by a window that is marked as
occluded. This number should be 0 or very close to 0. It should be much less
than the number of times a window is mark occluded -
WindowOcclusionChanged.Occluded.
</summary>
</histogram>
<histogram name="OffscreenCanvas.TextMetrics.SetFont" units="microseconds"
expires_after="2022-01-31">
<owner>yiyix@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Time spent in microseconds to perform call SetFont in canvas for
OffscreenCanvas. It's measured each time SetFont is called.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="OriginTrials.ValidationResult" enum="OriginTrialTokenStatus"
expires_after="2021-10-10">
<owner>chasej@chromium.org</owner>
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Counts the results of token validation checks to enable experimental
features. The result for each token validation check is counted once per
token per execution context (e.g. page, worker).
</summary>
</histogram>
<histogram name="OSCrypt.BackendUsage" enum="LinuxPasswordStoreUsage"
expires_after="2021-09-05">
<owner>cfroussios@chromium.org</owner>
<owner>mamir@chromium.org</owner>
<summary>
The backend selected for this user and whether it was initialised
successfully.
</summary>
</histogram>
<histogram name="OSCrypt.Win.KeyDecryptionError" enum="WinGetLastError"
expires_after="2021-08-01">
<owner>wfh@chromium.org</owner>
<owner>forshaw@chromium.org</owner>
<summary>
The Windows GetLastError after a failure from calling into DPAPI to decrypt
the master key for the os_crypt library on Windows. This is recorded during
the OSCrypt::Init each time the decryption fails.
</summary>
</histogram>
<histogram name="OSX.ExceptionHandlerEvents" enum="OSXExceptionHandlerEvents"
expires_after="M85">
<owner>mark@chromium.org</owner>
<summary>Events seen by the OSX NSException swizzle.</summary>
</histogram>
<histogram name="OSX.Fullscreen.Enter.Source" enum="OSXFullscreenSource"
expires_after="M85">
<owner>spqchan@chromium.org</owner>
<summary>
This event is recorded each time a user triggers fullscreen for a browser
window. It indicates if the fullscreen is triggered for the browser or the
tab content.
</summary>
</histogram>
<histogram name="OSX.Fullscreen.Enter.Style" enum="OSXFullscreenStyle"
expires_after="2018-08-30">
<owner>erikchen@chromium.org</owner>
<summary>
This event is recorded each time a user triggers fullscreen for a browser
window. It indicates the mechanism (immersive vs. AppKit) and the type of
AppKit Fullscreen (Presentation Mode vs. Canonical Fullscreen).
</summary>
</histogram>
<histogram name="OSX.Fullscreen.Enter.WindowLocation"
enum="OSXFullscreenWindowLocation" expires_after="2018-08-30">
<owner>erikchen@chromium.org</owner>
<summary>
This event is recorded each time a user triggers fullscreen for a browser
window. It indicates the screen in which the window was fullscreened, and
the number of screens available.
</summary>
</histogram>
<histogram name="OSX.Handoff.Origin" enum="OSXHandoffOrigin"
expires_after="2018-08-30">
<owner>erikchen@chromium.org</owner>
<summary>
This event is recorded each time a Handoff is received by Chrome on OSX. The
enumeration indicates the source of the Handoff.
</summary>
</histogram>
<histogram name="OSX.Installation.OtherChromeInstances"
enum="OSXOtherChromeInstancesResult" expires_after="2020-12-12">
<obsolete>
Removed 11/2020.
</obsolete>
<owner>avi@chromium.org</owner>
<owner>mark@chromium.org</owner>
<summary>
The instances of other copies of Google Chrome on the user's Mac. Logged
once on startup, and only for Chrome Beta and Chrome Dev. Will be used to
determine if/how home directory migration will be done for side-by-side.
</summary>
</histogram>
<histogram name="OSX.NativeShare" units="BooleanSuccess"
expires_after="2021-09-05">
<owner>lgrey@chromium.org</owner>
<summary>
Whether the user successfully shared via a native sharing extensions after
selecting it from the share menu. False can indicate failure or
user-initiated cancellation.
</summary>
</histogram>
<histogram name="OSX.Settings.ScreensHaveSeparateSpaces"
enum="OSXScreensHaveSeparateSpaces" expires_after="M85">
<owner>erikchen@chromium.org</owner>
<summary>
The configuration of the setting &quot;Screens Have Separate Spaces&quot;
available in OSX 10.9+.
</summary>
</histogram>
<histogram name="OSX.SystemHotkeyMap.LoadSuccess" enum="BooleanSuccess"
expires_after="2018-08-30">
<owner>erikchen@chromium.org</owner>
<summary>
Whether an attempt to load the system hotkeys on a Mac was successful.
</summary>
</histogram>
<histogram name="OutdatedUpgradeBubble.NumLaterPerEnableAU" units="units"
expires_after="M85">
<owner>mad@chromium.org</owner>
<summary>
Counts the number of times the user clicked on the later button of the
outdated upgrade bubble, before clicking on the enable updates button in the
same Chrome session.
</summary>
</histogram>
<histogram name="OutdatedUpgradeBubble.NumLaterPerReinstall" units="units"
expires_after="M85">
<owner>mad@chromium.org</owner>
<summary>
Counts the number of times the user clicked on the later button of the
outdated upgrade bubble, before clicking on the reinstall button in the same
Chrome session.
</summary>
</histogram>
<histogram name="Overscroll.Cancelled3" enum="OverscrollNavigationType"
expires_after="2021-02-21">
<owner>nzolghadr@chromium.org</owner>
<summary>
Overscroll gestures that were aborted before they were completed.
</summary>
</histogram>
<histogram name="Overscroll.Navigated3" enum="OverscrollNavigationType"
expires_after="2021-01-10">
<owner>nzolghadr@chromium.org</owner>
<summary>
Navigations that were triggered due to completed overscroll gesture. Note
that not all completed overscroll gestures trigger a navigation.
</summary>
</histogram>
<histogram name="Overscroll.Started3" enum="OverscrollNavigationType"
expires_after="2021-01-10">
<owner>nzolghadr@chromium.org</owner>
<summary>
Overscroll gestures initiated by the user. Note that not all overscroll
gestures started are completed (e.g. the overscroll gesture is aborted if
user clicks or presses a key during the gesture).
</summary>
</histogram>
<histogram name="Ozone.NeuralStylusReport.ActivePalmTouchCount"
units="touch event count" expires_after="2020-09-30">
<owner>napper@chromium.org</owner>
<owner>robsc@chromium.org</owner>
<summary>
When a stylus is touched to screen, the number of palms on the device at
that time.
</summary>
</histogram>
<histogram name="Ozone.NeuralStylusReport.FingerAgeBeforeStylus"
units="duration" expires_after="2020-09-30">
<owner>napper@chromium.org</owner>
<owner>robsc@chromium.org</owner>
<summary>
The time between a finger and a stylus touch. The finger may or may not
still be on the touchscreen.
</summary>
</histogram>
<histogram name="Ozone.NeuralStylusReport.PalmAgeBeforeStylus" units="duration"
expires_after="2020-09-30">
<owner>napper@chromium.org</owner>
<owner>robsc@chromium.org</owner>
<summary>
The time between a palm and a stylus touch. The palm may or may not still be
on the touchscreen.
</summary>
</histogram>
<histogram name="Ozone.TouchEventConverterEvdev.HoldCountAtCancel"
units="touch event" expires_after="2020-12-01">
<owner>robsc@chromium.org</owner>
<summary>
The count of the number of held events cancelled when we decide to finally
cancel a stroke. Only reported if events have been held, and will be
positive. Events are only held from PalmDetectionFilter.
</summary>
</histogram>
<histogram name="Ozone.TouchEventConverterEvdev.HoldCountAtRelease"
units="touch event" expires_after="2020-12-01">
<owner>robsc@chromium.org</owner>
<summary>
The count of the number of held events released at once for a stroke when we
decide to release. Only reported if events have been held, and will be
positive. Events are only held from PalmDetectionFilter.
</summary>
</histogram>
<histogram name="P2P.Client.Canceled.WaitingTimeSeconds" units="seconds"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The wall-clock time spent until a lookup was canceled. This is reported
every time p2p is used to find a candidate but the request was canceled.
</summary>
</histogram>
<histogram name="P2P.Client.Found.CandidateCount" units="count"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of candidates on the LAN, i.e. the number of peers on the LAN
offering at least N bytes of the requested file X. This is reported after
examining responses from all peers on the LAN and picking a candidate.
</summary>
</histogram>
<histogram name="P2P.Client.Found.ConnectionCount" units="count"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of p2p downloads of the peer that the returned URL points to.
This is reported after examining responses from all peers on the LAN and
picking a candidate.
</summary>
</histogram>
<histogram name="P2P.Client.Found.WaitingTimeSeconds" units="seconds"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The wall-clock time spent waiting for the LAN-wide number of p2p downloads
(i.e. the sum of p2p downloads from each peer on the LAN) to drop below the
threshold. This is reported after examining responses from all peers on the
LAN and picking a candidate.
</summary>
</histogram>
<histogram name="P2P.Client.LookupResult" enum="P2PLookupResult"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The result of the lookup. Possible values include &quot;Found&quot; (if a
candidate - i.e. a peer offering at least N bytes of file X - was chosen),
&quot;Not Found&quot; (if no candidate could be found), &quot;Vanished&quot;
(if a candidate was found but vanished while waiting in line),
&quot;Canceled&quot; (if a candidate was found but the request was canceled
while waiting in line), and &quot;Filtered&quot; (if it was detected that
mDNS was filtered). This is reported after examining responses from all
peers on the LAN when p2p is used to find a candidate.
</summary>
</histogram>
<histogram name="P2P.Client.NumPeers" units="count" expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of peers implementing p2p file sharing on the network. This is
reported every time p2p is used to look up a resource on a network where
mDNS is not filtered.
</summary>
</histogram>
<histogram name="P2P.Client.Vanished.WaitingTimeSeconds" units="seconds"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The wall-clock time spent waiting for one or more candidates (i.e. peers
offering at least N bytes of file X) that all vanished before the LAN-wide
number of p2p downloads dropped below the threshold. This is reported every
time candidates were found using p2p but then vanished.
</summary>
</histogram>
<histogram name="P2P.Server.ClientCount" units="count"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of currently connected HTTP clients. This is reported every time
a HTTP client connects.
</summary>
</histogram>
<histogram name="P2P.Server.ContentServedInterruptedMB" units="MB"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
Number of megabytes (1,000,000 bytes) served from the device (via HTTP)
where the client disconnects prematurely. This is reported every time a file
is served and the client disconnects before receiving all data.
</summary>
</histogram>
<histogram name="P2P.Server.ContentServedSuccessfullyMB" units="MB"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
Number of megabytes (1,000,000 bytes) served from the device (via HTTP).
This is reported every time a file have been served successfully.
</summary>
</histogram>
<histogram name="P2P.Server.DownloadSpeedKBps" units="kB/s"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The average speed at which the download was served at, in kB/s. This is
reported every time a file have been served successfully.
</summary>
</histogram>
<histogram name="P2P.Server.FileCount" units="count" expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of files available via p2p. This is reported every time a file is
added or removed to the /var/cache/p2p directory.
</summary>
</histogram>
<histogram name="P2P.Server.RangeBeginPercentage" units="%"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
When a client resumes a download, the HTTP request includes range specifier
to skip the bytes it already has. This metric conveys this as a percentage
of the file size. This is reported every time a file is served, even if the
request does not include a range specifier (in which case 0 is reported).
</summary>
</histogram>
<histogram name="P2P.Server.RequestResult" enum="P2PServerResult"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The result of the HTTP request. Possible values include &quot;Response
Sent&quot; (the resource was found and the response was successfully sent),
&quot;Response Interrupted&quot; (the resource was found but the client
disconnected), &quot;Malformed&quot; (the request was malformed), &quot;Not
Found&quot; (the request was for a resource that was not found), and
&quot;Index&quot; (the request was for the '/' or '/index.html' resource).
This is reported for every HTTP request handled.
</summary>
</histogram>
<histogram name="PaintHolding.CommitTrigger2" enum="PaintHoldingCommitTrigger2"
expires_after="2021-09-19">
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Records the reason that a commit was triggered, to enable research into
which event (non-same-origin, FCP, timeout, etc) led to the first commit.
</summary>
</histogram>
<histogram name="PaintHolding.InputTiming2" enum="PaintHoldingInputTiming"
expires_after="2021-07-15">
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Records whether or not input arrived before the first commit.
</summary>
</histogram>
<histogram name="PartnerBookmark.Count2" units="bookmarks"
expires_after="2021-08-09">
<owner>bttk@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
The number of partner bookmark entries. Logged when using the bookmark, and
at most once per cold start. Note that the distribution is weighted by
bookmark usage.
</summary>
</histogram>
<histogram name="PartnerBookmark.FaviconThrottleFetchResult"
enum="PartnerBookmark.FaviconFetchResult" expires_after="M77">
<owner>tedchoc@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
The response we got back from our favicon fetching throttler, once for each
bookmark at each cold start. Only recorded on Android.
</summary>
</histogram>
<histogram name="PartnerBookmark.LoadingTime" units="ms"
expires_after="2021-07-10">
<owner>bttk@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
The time spent on loading partner bookmarks, from kickOffReading() to
bookmarkModelLoaded() callback.
</summary>
</histogram>
<histogram name="PDF.Actions" enum="ChromePDFViewerActions"
expires_after="2021-10-10">
<owner>hnakashima@chromium.org</owner>
<summary>
Tracks user actions in the PDF viewer. Logged when the document is opened
and when one of the relevant user actions is taken, such as opening the
bookmarks bar or setting the zoom mode to fit-to-page. The enum values that
are named &quot;First&quot; are logged only once per document, so that we
can measure in what percentage of documents a given action was performed at
least once.
</summary>
</histogram>
<histogram name="PDF.FormType" enum="PDFFormTypes" expires_after="2021-10-04">
<owner>rharrison@chromium.org</owner>
<owner>thestig@chromium.org</owner>
<summary>
Tracks what types of forms are present in PDF document, logged when the
document finishes loading.
</summary>
</histogram>
<histogram name="PDF.HasAttachment" enum="Boolean" expires_after="2021-10-17">
<owner>hnakashima@chromium.org</owner>
<owner>thestig@chromium.org</owner>
<summary>
Measures if PDFs opened in the PDF viewer have attachments. This is logged
whenever a document is opened in the PDF viewer.
</summary>
</histogram>
<histogram name="PDF.IsTagged" enum="BooleanIsTagged"
expires_after="2021-10-04">
<owner>dmazzoni@chromium.org</owner>
<owner>thestig@chromium.org</owner>
<summary>
Tracks documents opened in the PDF viewer that are Tagged PDFs.
</summary>
</histogram>
<histogram name="PDF.LinkHighlightOverlapsInPage" units="overlaps"
expires_after="2021-10-04">
<owner>thestig@chromium.org</owner>
<owner>ankk@microsoft.com</owner>
<owner>mohitb@microsoft.com</owner>
<owner>virens@microsoft.com</owner>
<summary>
Records the number of overlapping link and highlight annotations in a PDF
page. This is logged once per page whenever accessibility tree creation is
triggered for that page. It will not be logged on render or scroll
operations.
</summary>
</histogram>
<histogram name="PDF.LoadStatus" enum="ChromePDFViewerLoadStatus"
expires_after="2021-09-12">
<owner>kmoon@chromium.org</owner>
<owner>thestig@chromium.org</owner>
<summary>
Tracks what happens when Chrome tries to load a PDF. This metric tracks all
cases, but is focused on measuring failed PDF embeds, which occur if the
user is on Android, or if PDF plugin is disabled.
</summary>
</histogram>
<histogram name="PDF.PageCount" units="pages" expires_after="2021-09-12">
<owner>hnakashima@chromium.org</owner>
<owner>thestig@chromium.org</owner>
<summary>
Tracks the number of pages in PDF documents opened in the PDF viewer.
</summary>
</histogram>
<histogram name="PDF.Version" enum="PDFVersion" expires_after="2021-10-10">
<owner>dhoss@chromium.org</owner>
<owner>thestig@chromium.org</owner>
<summary>Tracks versions of documents opened in the PDF viewer.</summary>
</histogram>
<histogram name="Pepper.Graphics3DHasShareGroup" units="BooleanShareGroup"
expires_after="M77">
<owner>jbauman@chromium.org</owner>
<summary>
True if a non-flash Pepper Graphics3D context has a share group.
</summary>
</histogram>
<histogram name="Pepper.InterfaceUsed" enum="PepperInterface"
expires_after="2021-10-04">
<owner>bbudge@chromium.org</owner>
<owner>raymes@chromium.org</owner>
<summary>
The number of out-of-process plugin processes that have loaded a particular
PPB interface version.
</summary>
</histogram>
<histogram name="Pepper.PluginContextSecurity.TCPConnect" enum="BooleanSecure"
expires_after="M77">
<owner>raymes@chromium.org</owner>
<owner>rsleevi@chromium.org</owner>
<summary>
Whether a Pepper TCP connect attempt comes from a plugin in a secure or an
insecure origin.
</summary>
</histogram>
<histogram name="Pepper.PluginContextSecurity.UDPBind" enum="BooleanSecure"
expires_after="M77">
<owner>raymes@chromium.org</owner>
<owner>rsleevi@chromium.org</owner>
<summary>
Whether a Pepper UDP bind attempt comes from a plugin in a secure or an
insecure origin.
</summary>
</histogram>
<histogram name="PerformanceHints.Observer.HintForURLResult"
enum="PerformanceHintsObserverHintForURLResult" expires_after="2021-10-04">
<owner>jds@google.com</owner>
<owner>src/chrome/browser/performance_hints/OWNERS</owner>
<summary>
Records the result of querying PerformanceHintsObserver for a URL-specific
performance hint. This enables tracking how often the
OptimizationGuideDecider provides a hint in time for a HintForURL request.
This is recorded once for each surface shown (e.g. once per link context
menu opened).
</summary>
</histogram>
<histogram name="PerformanceHints.Observer.PerformanceClassForURL"
enum="PerformanceHintsPerformanceClass" expires_after="2021-10-04">
<owner>jds@google.com</owner>
<owner>src/chrome/browser/performance_hints/OWNERS</owner>
<summary>
Records the PerformanceClass determined for a given URL. This value
represents the expected loading performance for the URL. This is recorded
before any overrides are performed by the PerformanceHintsObserver.
</summary>
</histogram>
<histogram base="true" name="PerformanceHints.Observer.SourceLookupStatus"
enum="PerformanceHintsObserverSourceLookupStatus"
expires_after="2021-10-04">
<owner>jds@google.com</owner>
<owner>src/chrome/browser/performance_hints/OWNERS</owner>
<summary>
Records the result of a hint lookup in a single source (e.g. link hints of
the current page, the page's OptimizationMetadata, etc). See the
PerformanceHintsSource suffix for name completions. All source suffix
histograms should have the same total count.
This is recorded for each source once per surface shown (e.g. each source is
recorded once per link context menu opened).
</summary>
</histogram>
<histogram name="PerformanceManager.AgentsByTime" units="units"
expires_after="2020-12-04">
<obsolete>
Removed 2020-11.
</obsolete>
<owner>bokan@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<owner>platform-architecture-dev@chromium.org</owner>
<summary>
Tracks the total number of agents hosted by the browser by time. An entry in
bucket N corresponds to N agents being hosted across all live renderer
process for 1 second. Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram name="PerformanceManager.AgentsPerRendererByTime" units="units"
expires_after="2020-12-04">
<obsolete>
Removed 2020-11.
</obsolete>
<owner>bokan@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<owner>platform-architecture-dev@chromium.org</owner>
<summary>
Tracks the number of agents hosted per renderer by time. An entry in bucket
N corresponds to N agents being hosted by a renderer process for 1 second.
Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram name="PerformanceManager.AgentsUniqueByTime" units="units"
expires_after="2020-12-04">
<obsolete>
Removed 2020-11.
</obsolete>
<owner>bokan@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<owner>platform-architecture-dev@chromium.org</owner>
<summary>
Tracks the number of unique agents hosted by the browser by time. An entry
in bucket N corresponds to N unique agents being hosted across all live
renderer process for 1 second. Unique means that the agent count would
remain the same if they were in one process (i.e. they have different
protocol+site). Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram
name="PerformanceManager.FrameSiteInstanceProcessRelationship.ByProcess2"
enum="FrameSiteInstanceProcessRelationship" expires_after="2020-12-31">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Tracks the types of frames that are being hosted by a process over its
entire lifetime. An entry in the
&quot;AllFramesHaveDistinctSiteInstances&quot; means that the process only
ever hosted frames with distinct site instances over its entire lifetime.
Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram
name="PerformanceManager.FrameSiteInstanceProcessRelationship.ByTime2"
enum="FrameSiteInstanceProcessRelationship" expires_after="2020-12-31">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Tracks the types of frames that are being hosted by a process, aggregated
over time. Each entry in each bucket corresponds to a process being in that
state for one second. Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram name="PerformanceManager.FramesPerRendererByTime" units="units"
expires_after="2021-03-07">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Tracks the number of frames hosted per renderer by time. An entry in bucket
N corresponds to N frames being hosted by a renderer process for 1 second.
Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram name="PerformanceManager.SiteInstancesPerRendererByTime"
units="units" expires_after="2020-12-31">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Tracks the number of site instances hosted per renderer by time. An entry in
bucket N corresponds to N site instances being hosted by a renderer process
for 1 second. Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram name="PerformanceManager.WorkerClientFound" enum="BooleanFound"
expires_after="2020-11-30">
<owner>pmonette@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Records a boolean indicating if a worker's client frame node could be found
when trying to connect the worker to a client frame, given its ID. This is
supposed to be always true if the performance manager has perfect coverage
of WebContents objects.
</summary>
</histogram>
<histogram name="PerformanceMonitor.AverageCPU" units="PercentCPUUsage"
expires_after="2021-10-30">
<obsolete>
Replaced in 2021-03 by PerformanceMonitor.AverageCPU2, which reports this
value in permyriad (1/10000) instead of percent and changes the upper bound
of the histogram.
</obsolete>
<owner>fdoray@chromium.org</owner>
<owner>oysteine@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Average CPU utilization of a process, read out at each two-minute interval.
The utilization is in the 0-100% range per CPU, which is then summed up.
I.e. a quadcore system fully loaded would read as 400%.
</summary>
</histogram>
<histogram name="PerformanceMonitor.AverageCPU2" units="hundredth of percent"
expires_after="2022-01-30">
<owner>fdoray@chromium.org</owner>
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Average CPU utilization of a process, read out at each two-minute interval.
The utilization is in the 0-100% range per CPU, which is then summed up and
multiplied by 100. The histogram is capped at 20000 (equivalent to 2 cores
fully loaded). I.e. 4 cores busy at 25% each will read as 25 * 4 * 100 =
10000.
</summary>
</histogram>
<histogram name="PerformanceMonitor.AverageDisk" units="BytesPerSecond"
expires_after="M85">
<obsolete>
Removed 04/2021. Not needed for current investigations.
</obsolete>
<owner>etienneb@chromium.org</owner>
<owner>oysteine@chromium.org</owner>
<summary>
Average disk utilization of a process, recorded at every two-minute
interval. The amount of data transferred (Total I/O bytes per second) for a
given process.
</summary>
</histogram>
<histogram base="true" name="PerformanceMonitor.EnergyImpact"
units="ScaledUnits" expires_after="2021-10-30">
<owner>lgrey@chromium.org</owner>
<owner>markchang@chromium.org</owner>
<summary>
(Mac only) A synthetic power use estimate, as displayed in macOS Activity
Monitor and the battery menu. This incorporates CPU utilization, idle
wakeups, IO, and task QoS level using per-machine-model weights. Divide by
100 to match Activity Monitor's scale. Recorded every two minutes.
</summary>
</histogram>
<histogram name="PerformanceMonitor.HighCPU" enum="BooleanHit"
expires_after="M85">
<obsolete>
Removed 04/2021. PerformanceMonitor.AverageCPU2 has the same data with more
granularity.
</obsolete>
<owner>oysteine@chromium.org</owner>
<summary>
The number of times a process has continuously stayed above a certain
threshold of CPU utilization over a certain time period (currently set to
two minutes).
</summary>
</histogram>
<histogram name="PerformanceMonitor.IdleWakeups" units="WakeupsPerSecond"
expires_after="2021-10-30">
<owner>lgrey@chromium.org</owner>
<owner>markchang@chromium.org</owner>
<summary>
The average CPU idle wakeups per second, sampled every two minutes.
</summary>
</histogram>
<histogram name="PerformanceMonitor.PackageExitIdleWakeups"
units="WakeupsPerSecond" expires_after="2021-10-30">
<owner>lgrey@chromium.org</owner>
<owner>markchang@chromium.org</owner>
<summary>
(Mac only) The average package exit idle wakeups per second, sampled every
two minutes. This is a subset of wakeups that indicate that the processor
complex was taken out of low-power state. For more info, see the
powermetrics man page on macOS.
</summary>
</histogram>
<histogram name="PeriodicBackgroundSync.Event.BatchSize" units="events"
expires_after="2021-07-31">
<owner>nator@chromium.org</owner>
<owner>rayankans@chromium.org</owner>
<summary>
Records the number of `periodicsync` events which were fired in a batch. A
batch is defined as the set of `periodicsync` events dispatched at the same
time by the BackgroundSyncManager. Periodic syncs usually run in a batch.
</summary>
</histogram>
<histogram name="PeriodicBackgroundSync.Event.FromWakeupTask"
enum="BackgroundSyncWakeupTask" expires_after="2021-07-31">
<owner>nator@chromium.org</owner>
<owner>rayankans@chromium.org</owner>
<summary>
Records whether the fired `periodicsync` events upon completion orginated
from a background wakeup task or the foreground.
</summary>
</histogram>
<histogram name="PeriodicBackgroundSync.Event.Time" units="ms"
expires_after="2021-10-04">
<owner>nator@chromium.org</owner>
<owner>rayankans@chromium.org</owner>
<summary>
Time taken to execute a batch of periodicsync events. A batch is defined as
the set of `periodicsync` events dispatched at the same time by the
BackgroundSyncManager. Periodic syncs often run in a batch.
</summary>
</histogram>
<histogram base="true" name="PhoneHub.MultiDeviceFeatureState"
enum="MultiDevice_FeatureState" expires_after="2021-10-04">
<!-- Name completed by histogram_suffixes name="PhoneHubFeature" -->
<owner>khorimoto@chromium.org</owner>
<owner>better-together-dev@google.com</owner>
<summary>
Indicates the feature state of Phone Hub features. This metric is emitted to
at the creation of the user session (when the user logs in), and when
feature state updates occur.
</summary>
</histogram>
<histogram name="PictureInPictureWindow.ButtonPressed"
enum="OverlayWindowControl" expires_after="M85">
<owner>fbeaufort@chromium.org</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Records Picture-in-Picture window control buttons pressed by user (basically
everything except user tap gestures).
</summary>
</histogram>
<histogram name="PictureInPictureWindow.TapGesture" enum="OverlayWindowControl"
expires_after="M85">
<owner>fbeaufort@chromium.org</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Records Picture-in-Picture window control user tap gestures.
</summary>
</histogram>
<histogram name="PLT.iOS.BrowserInitiatedPageLoadTime" units="ms"
expires_after="M92">
<obsolete>
Replaced by PLT.iOS.BrowserInitiatedPageLoadTime2 as of M92, in order to use
more granular buckets above 10 seconds.
</obsolete>
<owner>djean@chromium.org</owner>
<owner>ajuma@chromium.org</owner>
<summary>
Page load time for Browser-initiated navigations.
Browser-initiated navigations include all navigations initiated by
interacting with Chrome's UI elements, except for back/forward navigations.
Specifically, typing a URL into the omnibox, tapping the reload button,
loading a bookmark, and loading a page from the reading list (including when
offline) are all considered browser-initiated. Additionally, background
loads for prerendering and reading-list offline sync are also
browser-initiated, as is a reload triggered by switching to a tab whose
WKWebView renderer process was killed by the OS.
This is recorded for successful main-frame navigations (that is, navigations
that don't result in the browser displaying an error page). The recorded
value measures the time from the navigation request being sent to the
renderer process until all frames have fired their load events. For
background loads, the same interval is measured while the page loads and
fires load events in the background; the metric is not recorded again if the
background-loaed page is later displayed in the foreground.
It is possible for a user to interact with a page before all load events
have been fired, so the recorded value should not be interpreted as the time
before the page becomes interactive.
Any navigation that is not considered browser-initiated is considered to be
renderer-initiated (see PLT.iOS.RendererInitiatedPageLoadTime).
</summary>
</histogram>
<histogram name="PLT.iOS.BrowserInitiatedPageLoadTime2" units="ms"
expires_after="2022-08-09">
<owner>djean@chromium.org</owner>
<owner>ajuma@chromium.org</owner>
<summary>
Page load time for Browser-initiated navigations.
Browser-initiated navigations include all navigations initiated by
interacting with Chrome's UI elements, except for back/forward navigations.
Specifically, typing a URL into the omnibox, tapping the reload button,
loading a bookmark, and loading a page from the reading list (including when
offline) are all considered browser-initiated. Additionally, background
loads for prerendering and reading-list offline sync are also
browser-initiated, as is a reload triggered by switching to a tab whose
WKWebView renderer process was killed by the OS.
This is recorded for successful main-frame navigations (that is, navigations
that don't result in the browser displaying an error page). The recorded
value measures the time from the navigation request being sent to the
renderer process until all frames have fired their load events. For
background loads, the same interval is measured while the page loads and
fires load events in the background; the metric is not recorded again if the
background-loaed page is later displayed in the foreground.
It is possible for a user to interact with a page before all load events
have been fired, so the recorded value should not be interpreted as the time
before the page becomes interactive.
Any navigation that is not considered browser-initiated is considered to be
renderer-initiated (see PLT.iOS.RendererInitiatedPageLoadTime2).
</summary>
</histogram>
<histogram name="PLT.iOS.RendererInitiatedPageLoadTime" units="ms"
expires_after="M92">
<obsolete>
Replaced by PLT.iOS.RendererInitiatedPageLoadTime2 as of M92, in order to
use more granular buckets above 10 seconds.
</obsolete>
<owner>djean@chromium.org</owner>
<owner>ajuma@chromium.org</owner>
<summary>
Page load time for Renderer-initiated navigations.
Renderer-initiated navigations are all main-frame navigations that are not
considered to be browser-initiated (see
PLT.iOS.BrowserInitiatedPageLoadTime). Specificially, tapping on links
within web content, navigations triggered by JavaScript, navigations for
restoring tabs on launch, and back/forward navigations are all considered to
be renderer-initiated.
This is recorded for successful main-frame navigations (that is, navigations
that don't result in the browser displaying an error page). However, this is
not recorded when WebKit handles a navigation using its page cache (that is,
when the DOM representation of the destination is still loaded in memory
from a recent visit). The recorded value measures the time from the browser
process being notified that the navigation has started, to all frames having
fired their load events. The time that the browser process is notified that
the navigation has started is usually just after a network request is sent,
but can be later for back/forward navigations on sites that use pushState to
generate history entries; in the latter case, the navigation may be almost
finished by the time the browser finds out about it.
It is possible for a user to interact with a page before all load events
have been fired, so the recorded value should not be interpreted as the time
before the page becomes interactive.
</summary>
</histogram>
<histogram name="PLT.iOS.RendererInitiatedPageLoadTime2" units="ms"
expires_after="2022-08-09">
<owner>djean@chromium.org</owner>
<owner>ajuma@chromium.org</owner>
<summary>
Page load time for Renderer-initiated navigations.
Renderer-initiated navigations are all main-frame navigations that are not
considered to be browser-initiated (see
PLT.iOS.BrowserInitiatedPageLoadTime2). Specificially, tapping on links
within web content, navigations triggered by JavaScript, navigations for
restoring tabs on launch, and back/forward navigations are all considered to
be renderer-initiated.
This is recorded for successful main-frame navigations (that is, navigations
that don't result in the browser displaying an error page). However, this is
not recorded when WebKit handles a navigation using its page cache (that is,
when the DOM representation of the destination is still loaded in memory
from a recent visit). The recorded value measures the time from the browser
process being notified that the navigation has started, to all frames having
fired their load events. The time that the browser process is notified that
the navigation has started is usually just after a network request is sent,
but can be later for back/forward navigations on sites that use pushState to
generate history entries; in the latter case, the navigation may be almost
finished by the time the browser finds out about it.
It is possible for a user to interact with a page before all load events
have been fired, so the recorded value should not be interpreted as the time
before the page becomes interactive.
</summary>
</histogram>
<histogram name="PLT.PT_RequestToStart" units="ms" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
This time is based on the NavigationTiming spec and is a more accurate
version of PLT.RequestToStart. Start: requestStart. Request:
navigationStart.
</summary>
</histogram>
<histogram name="PLT.PT_StartToCommit" units="ms" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
This time is based on the NavigationTiming spec and is a more accurate
version of PLT.StartToCommit. Start: requestStart. Commit: responseStart.
</summary>
</histogram>
<histogram name="PLT.PT_StartToFinish" units="ms" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
This time is based on the NavigationTiming spec and is a more accurate
version of PLT.StartToFinish. Start: requestStart. Finish: loadEventEnd.
</summary>
</histogram>
<histogram name="PLT.RequestToStart" units="ms" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
Time from &quot;request&quot; to &quot;start.&quot; &quot;Request&quot;==
time when user requested document. &quot;Start&quot;== time when renderer
requested load of document, after any unload of last document.
</summary>
</histogram>
<histogram base="true" name="PointingStick.Acceleration" enum="BooleanEnabled"
expires_after="2021-04-01">
<obsolete>
Removed in 2021-03.
</obsolete>
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>hcutts@chromium.org</owner>
<owner>khorimoto@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Acceleration setting for pointing sticks (typically TrackPoints, the
miniature red joysticks found in some laptop keyboards). Only reported on
Chrome OS.
</summary>
</histogram>
<histogram base="true" name="PointingStick.PointerSensitivity"
enum="PointerSensitivity" expires_after="2021-04-01">
<obsolete>
Removed in 2021-03.
</obsolete>
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>hcutts@chromium.org</owner>
<owner>khorimoto@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Sensitivity value for pointing sticks (typically TrackPoints, the miniature
red joysticks found in some laptop keyboards). Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="PointingStick.PrimaryButtonRight"
enum="PointerPrimaryButton" expires_after="2021-04-01">
<obsolete>
Removed in 2021-03.
</obsolete>
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>hcutts@chromium.org</owner>
<owner>khorimoto@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Setting for the primary button of pointing sticks (typically TrackPoints,
the miniature red joysticks found in some laptop keyboards). Only reported
on Chrome OS.
</summary>
</histogram>
<histogram name="PreferredApps.FileIOAction" enum="PreferredAppsFileIOAction"
expires_after="M89">
<obsolete>
This was used by mistake, add the entry to avoid anyone accidently using
this name. Obsolete in 10/2020. Replaced by Apps.PreferredApps.FileIOAction.
</obsolete>
<owner>dominickn@chromium.org</owner>
<owner>mxcai@chromium.org</owner>
<summary>
Recorded at the time a read/write operation happens for preferred app to
indicate whether the I/O succeeded or not.
</summary>
</histogram>
<histogram name="PreferredApps.UpdateAction" enum="PreferredAppsUpdateAction"
expires_after="M89">
<obsolete>
This was used by mistake, add the entry to avoid anyone accidently using
this name. Obsolete in 10/2020. Replaced by Apps.PreferredApps.UpdateAction.
</obsolete>
<owner>dominickn@chromium.org</owner>
<owner>mxcai@chromium.org</owner>
<summary>
Recorded at the time a update operation happens for preferred apps to
indicate the type of update action.
</summary>
</histogram>
<histogram name="PrefetchedSignedExchangeCache.BodySize" units="bytes"
expires_after="M94">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The body size of each prefetched signed exchanges in
PrefetchedSignedExchangeCache which is attached to a frame. Recorded when
the frame is deleted or is navigated to different document.
</summary>
</histogram>
<histogram name="PrefetchedSignedExchangeCache.BodySizeTotal" units="bytes"
expires_after="M94">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The total body size of prefetched signed exchanges in
PrefetchedSignedExchangeCache which is attached to a frame. This metric is
recorded when the frame is deleted or is navigated to different document.
This is not recorded when there is no prefetched signed exchanges.
</summary>
</histogram>
<histogram name="PrefetchedSignedExchangeCache.Count" units="count"
expires_after="M94">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The number of prefetched signed exchanges in PrefetchedSignedExchangeCache
which is attached to a frame. This metric is recorded when the frame is
deleted or is navigated to different document. This is not recorded when
there is no prefetched signed exchanges.
</summary>
</histogram>
<histogram name="PrefetchedSignedExchangeCache.HeadersSizeTotal" units="bytes"
expires_after="M94">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The total headers size of prefetched signed exchanges including outer
response headers and inner response headers in PrefetchedSignedExchangeCache
which is attached to a frame. This metric is recorded when the frame is
deleted or is navigated to different document. This is not recorded when
there is no prefetched signed exchanges.
</summary>
</histogram>
<histogram name="PrefService.PersistentLogRecallProtobufs"
enum="PersistedLogsLogReadStatus" expires_after="M77">
<obsolete>
Expired in M77, later removed.
</obsolete>
<owner>holte@chromium.org</owner>
<summary>The status when loading PersistedLogs from Prefs.</summary>
</histogram>
<histogram name="PrefService.ReadError" enum="PrefServiceReadError"
expires_after="M81">
<owner>csharp@chromium.org</owner>
<summary>
Enumeration of errors that happened when reading Preferences files.
</summary>
</histogram>
<histogram name="Prerender.Experimental.PrerenderCancelledInterface"
enum="PrerenderCancelledInterface" expires_after="2022-01-27">
<owner>falken@chromium.org</owner>
<owner>nhiroki@chromium.org</owner>
<owner>toyoshim@chromium.org</owner>
<owner>lingqi@chromium.org</owner>
<summary>
Mojo interfaces that cause the cancellation of prerendering. Recorded by
MojoBinderPolicyApplier in the browser process once it receives the binding
request of a kCancel Mojo interface.
</summary>
</histogram>
<histogram name="Prerender.Experimental.PrerenderHostFinalStatus"
enum="PrerenderHostFinalStatus" expires_after="2022-01-27">
<owner>falken@chromium.org</owner>
<owner>nhiroki@chromium.org</owner>
<summary>
Final status for a prerendering attempt. Recorded by PrerenderHost in the
browser process once its final status has been reached.
</summary>
</histogram>
<histogram name="Prerender.FinalStatus" enum="PrerenderFinalStatus"
expires_after="2021-08-29">
<owner>ryansturm@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Final status for prerender pages - either success, or why it was canceled.
</summary>
</histogram>
<histogram name="Prerender.NetworkBytesTotalForProfile" units="bytes"
expires_after="M77">
<owner>hajimehoshi@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<summary>
Number of bytes transferred on the network for URLRequests (not including
HTTP/TLS/TCP/IP overhead). Reported on event of a PrerenderContents
deletion. Includes prerender bytes. Bytes are only counted when prerendering
is enabled and not in a control group. The sum of the distribution for a
single user represents all of that user's network transfers for resource for
that time period while prerendering was enabled.
</summary>
</histogram>
<histogram name="Prerender.NetworkBytesWasted" units="bytes"
expires_after="M77">
<owner>hajimehoshi@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<summary>
Number of bytes transferred on the network for URLRequests (not including
HTTP/TLS/TCP/IP overhead) for a prerender that was not used. All
nostate-prefetch bytes are currently counted as wasted because it is hard to
track byte use in HTTP cache.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchMainResourceRedirects"
units="redirects" expires_after="M85">
<owner>droger@chromium.org</owner>
<owner>mattcary@chromium.org</owner>
<owner>pasko@chromium.org</owner>
<summary>
Length of the redirect chain for main resources loaded by NoStatePrefetch.
Recorded when the final response in the chain is received.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchRendererLifetimeExtension" units="ms"
expires_after="M77">
<owner>jam@chromium.org</owner>
<summary>
Time a prefetch renderer is kept alive after parsing to wait for
subresources to finish loading.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchRendererParseTime" units="ms"
expires_after="M81">
<owner>jam@chromium.org</owner>
<summary>
Time between prefetch renderer startup and when parsing is complete.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchResponseTypes"
enum="NoStatePrefetchResponseType" expires_after="M85">
<owner>droger@chromium.org</owner>
<owner>mattcary@chromium.org</owner>
<owner>pasko@chromium.org</owner>
<summary>
Type of responses received by NoStatePrefetch, distinguishing cacheable
resources from no-store resources, and main resources from sub-resources.
Recorded when a response is received, including on each redirect.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchSubResourceRedirects"
units="redirects" expires_after="M85">
<owner>droger@chromium.org</owner>
<owner>mattcary@chromium.org</owner>
<owner>pasko@chromium.org</owner>
<summary>
Length of the redirect chain for sub-resources loaded by NoStatePrefetch.
Recorded when the final response in the chain is received.
</summary>
</histogram>
<histogram name="Prerender.PrerenderLoadComplete" units="BooleanSuccess"
expires_after="2022-03-30">
<owner>gambard@chromium.org</owner>
<owner>justincohen@chromium.org</owner>
<summary>
Whether the load was completed when the pre-render was used. If the
prerender is cancelled, this is not logged. Only on iOS.
</summary>
</histogram>
<histogram name="Prerender.PrerenderLoadedOnFirstNTP" enum="Boolean"
expires_after="M81">
<owner>justincohen@chromium.org</owner>
<summary>
Whether or not a successful prerender happens on a NTP with no history.
</summary>
</histogram>
<histogram name="Prerender.PrerenderLoadedOnIndex" units="units"
expires_after="M81">
<owner>justincohen@chromium.org</owner>
<summary>
The last comitted index before a successful preload is committed. Recorded
only on iOS.
</summary>
</histogram>
<histogram name="Prerender.PrerendersPerSessionCount" units="units"
expires_after="2021-04-22">
<owner>ryansturm@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
The number of sessions that have at least X successful prerenders. Recorded
only on iOS since 2017-09.
</summary>
</histogram>
<histogram name="Prerender.PrerenderTimeSaved" units="ms"
expires_after="2022-03-30">
<owner>gambard@chromium.org</owner>
<owner>justincohen@chromium.org</owner>
<summary>
This is the time from when a prerendered page begins to load to when it is
swapped in as the main page load or to when the pre-loaded page is fully
loaded, whichever came first. Recorded when the swap occurs, only on iOS.
</summary>
</histogram>
<histogram name="Prerender.TabContentsDeleterTimeout"
enum="BooleanCloseTimeout" expires_after="M85">
<owner>pasko@chromium.org</owner>
<summary>
A boolean that indicates how often we fail to delete an old prerendered tab
before the timeout.
</summary>
</histogram>
<histogram name="Previews.CacheControlNoTransform.BlockedPreview"
enum="PreviewsType" expires_after="2021-08-09">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>sophiechang@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Blocked previews due to Cache-Control:no-transform directive.
</summary>
</histogram>
<histogram name="Previews.ContentLength" units="KB" expires_after="M85">
<obsolete>
Not even logged by code. Obsolete in 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The actual data used for a page load using a preview optimization.
</summary>
</histogram>
<histogram name="Previews.DataInflation" units="KB" expires_after="M85">
<obsolete>
Not even logged by code. Obsolete in 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated amount that the content was inflated for a page load using a
previews optimization. Recorded when a page load using a previews
optimization inflates the data used.
</summary>
</histogram>
<histogram name="Previews.DataInflationPercent" units="%" expires_after="M85">
<obsolete>
Not even logged by code. Obsolete in 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated percent of data used that a page load would have otherwise
cost for a page load using a previews optimization. Recorded when a page
load using a previews optimization inflates the data used.
</summary>
</histogram>
<histogram name="Previews.DataSavings" units="KB" expires_after="M85">
<obsolete>
Obsolete as of 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated data savings for a page load using a previews optimization.
Recorded when a page load using a previews optimization reduces the data
used.
</summary>
</histogram>
<histogram name="Previews.DataSavingsPercent" units="%" expires_after="M85">
<obsolete>
Obsolete as of 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated percent of data savings for a page load using a previews
optimization. Recorded when a page load using a previews optimization
reduces the data used.
</summary>
</histogram>
<histogram name="Previews.DeferAllScript.DenyListMatch" enum="BooleanDetected"
expires_after="2020-10-18">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
Records true when a URL matches the regex of denylist. Recorded at the time
of navigation commit.
</summary>
</histogram>
<histogram name="Previews.DeferAllScript.RedirectLoopDetectedUsingCache"
enum="BooleanDetected" expires_after="2020-09-27">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
Records true when a redirect loop is detected when defer all script is in
use. Recorded at the time of navigation commit.
</summary>
</histogram>
<histogram name="Previews.EligibilityReason" enum="PreviewsEligibilityReason"
expires_after="2021-07-11">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
When evaluating whether to show a user a preview, the preview might be
disallowed for various reasons. If the preview is disallowed, then this
reports the reason for disallowing it. If the preview is allowed, then this
generally reports &quot;Previews Allowed&quot;. It may instead report
&quot;Previews Allowed without server rule check&quot; for a preview that
expects to check server rules but they are not enabled. Recorded throughout
navigation at the beginning of each navigation, after each redirect, and
during commit.
</summary>
</histogram>
<histogram name="Previews.LitePageNotificationInfoBar"
enum="PreviewsLitePageInfoBarAction" expires_after="2021-08-09">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>src/components/data_reduction_proxy/OWNERS</owner>
<summary>
User interactions with the HTTPS Server Previews notification InfoBar.
</summary>
</histogram>
<histogram name="Previews.OmniboxAction" enum="PreviewsUserOmniboxAction"
expires_after="2021-08-09">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<summary>User interactions with the Previews Android Omnibox UI.</summary>
</histogram>
<histogram name="Previews.OptOut.UserOptedOut" enum="PreviewsUserOptedOut"
expires_after="2021-03-31">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>sophiechang@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Whether the user chose to reload the original page when shown a preview.
</summary>
</histogram>
<histogram name="Previews.OriginalContentLength" units="KB" expires_after="M85">
<obsolete>
Not even logged by code. Obsolete in 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated content length of a page load using a preview optimization.
</summary>
</histogram>
<histogram name="Previews.PageEndReason" enum="PageEndReason"
expires_after="2021-08-09">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<summary>Records why the page load ended on a given preview type.</summary>
</histogram>
<histogram name="Previews.Triggered.EffectiveConnectionType2"
enum="NQEEffectiveConnectionType" expires_after="2020-12-12">
<obsolete>
Obsolete as of 11/2020.
</obsolete>
<owner>dougarnett@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the effective connection type of a navigation that triggers a
preview. This is captured at commit time but uses the effective connection
type from the beginning of the navigation.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.CookieDomainCount" units="units"
expires_after="2021-09-19">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
The number of unique cookie domains for which accesses has been recorded for
in the Access Context Audit database. Logged on initialization of the Access
Context Audit DB on 1% of starts.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.DatabaseSize" units="KiB"
expires_after="2021-09-19">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
Size of the Access Context Audit database file in KiB. Determined by
directly inspecting the database file. Logged on initialization of the
Access Context Audit DB on 1% of starts.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.RecordCount" units="units"
expires_after="2021-09-19">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
The total number of access records stored in the Access Context Audit
database. Logged on initialization of the Acceess Context Audit DB on 1% of
starts.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.StorageOriginCount" units="units"
expires_after="2021-09-19">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
The number of unique origins associated with origin keyed storage APIs
recorded in the Access Context Audit database. Logged on initialization of
the Access Context Audit DB on 1% of starts.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.TopFrameOriginCount" units="units"
expires_after="2021-09-19">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
The number of unique top frame origins for which access to storage APIs has
been recorded in the Access Context Audit database. Logged on initialization
of the Acceess Context Audit DB on 1% of starts.
</summary>
</histogram>
<histogram name="Privacy.ConsentAuditor.ConsentGiven.Feature"
enum="ConsentAuditorFeature" expires_after="M85">
<owner>markusheintz@google.com</owner>
<owner>msramek@google.com</owner>
<summary>
Logged each time the user grants a consent for a feature integrated with the
consent auditor. The value indicates which feature.
</summary>
</histogram>
<histogram name="Privacy.ConsentAuditor.ConsentNotGiven.Feature"
enum="ConsentAuditorFeature" expires_after="M85">
<owner>markusheintz@google.com</owner>
<owner>msramek@google.com</owner>
<summary>
Logged each time the user denies or revokes a consent for a feature
integrated with the consent auditor. The value indicates which feature.
</summary>
</histogram>
<histogram name="Privacy.CookieControlsSetting" enum="CookieControlsMode"
expires_after="never">
<!-- expires-never: tracked as an important privacy metric. -->
<owner>dullweber@chromium.org</owner>
<owner>huanzhong@chromium.org</owner>
<summary>
Whether third-party cookies are blocked in incognito mode or completely.
Recorded at the Profile startup.
</summary>
</histogram>
<histogram name="Privacy.DoNotTrackSetting" enum="BooleanEnabled"
expires_after="never">
<!-- expires-never: tracked as an important privacy metric. -->
<owner>mkwst@chromium.org</owner>
<owner>msramek@chromium.org</owner>
<summary>
Whether the Do Not Track setting is enabled. Recorded at the Profile
startup.
</summary>
</histogram>
<histogram name="Privacy.ThirdPartyCookieBlockingEnabledForSite" enum="Boolean"
expires_after="2021-09-19">
<owner>dullweber@chromium.org</owner>
<owner>huanzhong@chromium.org</owner>
<summary>
Records whether third party cookie blocking was enabled for a site on page
load. Only recorded for users who enabled the cookie controls ui.
</summary>
</histogram>
<histogram name="Privacy.ThirdPartyCookieBlockingSetting" enum="BooleanEnabled"
expires_after="never">
<!-- expires-never: tracked as an important privacy metric. -->
<owner>mkwst@chromium.org</owner>
<owner>msramek@chromium.org</owner>
<owner>dullweber@chromium.org</owner>
<summary>
Whether the third party cookie blocking setting is enabled. Recorded at the
Profile startup.
Previously recorded as the &quot;ThirdPartyCookieBlockingEnabled&quot; and
&quot;ThirdPartyCookieBlockingDisabled&quot; actions.
</summary>
</histogram>
<histogram name="Process.Sandbox.Launch.Error" enum="WinGetLastError"
expires_after="2021-10-04">
<owner>forshaw@chromium.org</owner>
<owner>wfh@chromium.org</owner>
<summary>
Errors returned while launching sandboxed process on Windows. For decoding
error code please refer to http://goo.gl/fJJiAv.
</summary>
</histogram>
<histogram name="Process.Sandbox.Launch.Warning" enum="WinGetLastError"
expires_after="2021-01-02">
<owner>forshaw@chromium.org</owner>
<owner>wfh@chromium.org</owner>
<summary>
Warnings returned while launching sandboxed process on Windows. For decoding
error code please refer to http://goo.gl/fJJiAv. This will only be logged
when SpawnTarget succeeds with SBOX_ALL_OK but the last warning result does
not equal SBOX_ALL_OK.
</summary>
</histogram>
<histogram name="Process.Sandbox.Launch.WarningResultCode"
units="LaunchErrorCodes" expires_after="2021-01-02">
<owner>forshaw@chromium.org</owner>
<owner>wfh@chromium.org</owner>
<summary>
The warning launch error returned while launching sandboxed process on
Windows. This will only be logged when SpawnTarget succeeds with SBOX_ALL_OK
but the last warning result does not equal SBOX_ALL_OK.
</summary>
</histogram>
<histogram name="Process.Sandbox.Lowbox.Launch.Error" enum="WinGetLastError"
expires_after="M85">
<owner>shrikant@chromium.org</owner>
<summary>
Errors returned while launching lowbox enabled sandboxed process on Windows.
For decoding error code please refer to http://goo.gl/fJJiAv.
</summary>
</histogram>
<histogram name="ProtoDB.DestroySuccess" enum="BooleanSuccess"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>Whether a ProtoDB Destroy call was successful or not.</summary>
</histogram>
<histogram name="ProtoDB.GetErrorStatus" enum="LevelDBStatus"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>
The LevelDB Status returned from a failed ProtoDatabase Get call.
</summary>
</histogram>
<histogram name="ProtoDB.GetFound" enum="Boolean" expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>Whether a ProtoDB Get call found what was requested.</summary>
</histogram>
<histogram name="ProtoDB.GetSuccess" enum="BooleanSuccess"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>Whether a ProtoDB Get call was successful or not.</summary>
</histogram>
<histogram name="ProtoDB.InitStatus" enum="LevelDBStatus"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>The LevelDB Status from a ProtoDatabase Init call.</summary>
</histogram>
<histogram name="ProtoDB.LoadEntriesSuccess" enum="BooleanSuccess"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>Whether a ProtoDB LoadEntries call was successful or not.</summary>
</histogram>
<histogram name="ProtoDB.LoadKeysAndEntriesSuccess" enum="BooleanSuccess"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>
Whether a ProtoDB LoadKeysAndEntries call was successful or not.
</summary>
</histogram>
<histogram name="ProtoDB.LoadKeysSuccess" enum="BooleanSuccess"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>Whether a ProtoDB LoadKeys call was successful or not.</summary>
</histogram>
<histogram name="ProtoDB.SharedDbInitStatus" enum="ProtoDatabaseInitState"
expires_after="2021-08-24">
<owner>ssid@chromium.org</owner>
<owner>salg@chromium.org</owner>
<summary>
Tracks the init state progress of a proto database. An enum value is
recorded for each state of progression through the initialization process.
Shows the number of users hitting each stage. The enum values starting with
success and failure indicate that the final output of initialization is a
success or failure. See
//components/leveldb_proto/internal/proto_init_state_description.md.
</summary>
</histogram>
<histogram name="ProtoDB.UpdateErrorStatus" enum="LevelDBStatus"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>
The LevelDB Status returned from a failed Protodatabase UpdateEntries call.
</summary>
</histogram>
<histogram name="ProtoDB.UpdateSuccess" enum="BooleanSuccess"
expires_after="2021-08-24">
<owner>nyquist@chromium.org</owner>
<owner>ssid@chromium.org</owner>
<summary>Whether a ProtoDB UpdateEntries call was successful or not.</summary>
</histogram>
<histogram name="ProxyOverriddenBubble.UserSelection"
units="ExtensionBubbleAction" expires_after="2020-12-31">
<owner>rdevlin.cronin@chromium.org</owner>
<summary>
The action taken by the user when the &quot;proxy overridden&quot; extension
warning bubble is shown. Logged immediately after the action is taken.
</summary>
</histogram>
<histogram base="true" name="PurgeAndSuspend.Experimental.MemoryGrowth"
units="KB" expires_after="M81">
<!-- Name completed by histogram_suffixes name="PurgeAndSuspendExperiment" -->
<owner>tasak@google.com</owner>
<summary>
The growth of the background renderer's memory usage after a background
renderer is purged. This is recorded 5, 10 and 15 minutes after the purge.
</summary>
</histogram>
<histogram name="PurgeAndSuspend.Experimental.TimeToFirstActivePaint"
units="ms" expires_after="M81">
<obsolete>
Removed 2020-10.
</obsolete>
<owner>tasak@google.com</owner>
<summary>
Time elapsed from when the backgrounded and purged renderer is foregrounded
until the renderer is painted. This is recorded every time the backgrounded
and purged renderer is foregrounded.
</summary>
</histogram>
<histogram
name="PurgeAndSuspend.Experimental.TimeToFirstActivePaint.AfterBackgrounded.5min"
units="ms" expires_after="M81">
<obsolete>
Removed 2020-10.
</obsolete>
<owner>tasak@google.com</owner>
<summary>
Time elapsed from when the renderer, which is kept backgrounded for more
than 5 minutes, is foregrounded until the renderer is painted. This is
recorded every time such renderer is foregrounded.
</summary>
</histogram>
<histogram name="PushMessaging.BackgroundBudget" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
Whenever a Service Worker receives a push message, this records the budget
available to the service worker, which is an internal Chrome value for the
amount of background processing a service worker is allowed to do without
visibly alerting the user. Scale for the budget is 0 to 100.
</summary>
</histogram>
<histogram name="PushMessaging.DeliveryStatus" enum="PushEventStatus"
expires_after="2021-10-17">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a Service Worker receives a push message, this records whether the
overall operation was successful, or otherwise the type of error
encountered.
</summary>
</histogram>
<histogram name="PushMessaging.DeliveryStatus.FindServiceWorker"
enum="ServiceWorkerStatusCode" expires_after="M96">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When attempting to deliver a push message to a Service Worker, this records
the result of finding the Service Worker registration given its ID and
origin.
</summary>
</histogram>
<histogram name="PushMessaging.DeliveryStatus.ServiceWorkerEvent"
enum="ServiceWorkerStatusCode" expires_after="M96">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a Service Worker receives a push message, this records the precise
result received from the Service Worker code.
</summary>
</histogram>
<histogram name="PushMessaging.GetRegistrationStatus"
enum="PushGetRegistrationStatus" expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a webpage asks for details about its current push messaging
registration, this records whether the request is successful, or otherwise
the type of error encountered.
</summary>
</histogram>
<histogram name="PushMessaging.PushSubscriptionChangeStatus"
enum="PushEventStatus" expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>rayankans@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<owner>viviy@google.com</owner>
<summary>
When a Service Worker receives a pushsubscriptionchange event, this records
whether the overall operation was successful, or otherwise the type of error
encountered.
</summary>
</histogram>
<histogram name="PushMessaging.ReceivedMessageInBackground" enum="Boolean"
expires_after="2021-08-29">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
Whenever a Service Worker receives a push message, this records whether
Chrome is completely running in the background. A successful report means
that the message was received when Chrome was in complete background mode,
without UI, while a failure means it was in some other state: in background
with some apps running, showing browser windows, etc.
</summary>
</histogram>
<histogram name="PushMessaging.RegistrationStatus"
enum="PushRegistrationStatus" expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a webpage registers for push messaging, this records whether the
request is successful, or otherwise the type of error encountered.
</summary>
</histogram>
<histogram name="PushMessaging.SESForLowBudgetOrigin" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
When a Service Worker hits low budget when servicing a push message, this
records what the Site Engagement Service score is at that time.
</summary>
</histogram>
<histogram name="PushMessaging.SESForNoBudgetOrigin" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
When a Service Worker hits zero budget when servicing a push message, this
records what the Site Engagement Service score is at that time.
</summary>
</histogram>
<histogram name="PushMessaging.TimeToReadPersistedMessages" units="ms"
expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a message arrives for a lazy subscription and Chrome isn't in the
foreground, it is persisted on disk until next time Chrome is in the
foreground. This histogram measures the time spent in reading and replaying
persisted messages when Chrome goes to the foreground.
</summary>
</histogram>
<histogram name="PushMessaging.UnregistrationGCMResult" enum="GCMClientResult"
expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When unregistering a legacy non-InstanceID push messaging subscription, this
records the result returned by the GCMDriver (note that exceeding the
maximum number of retries due to network errors is logged as SERVER_ERROR).
</summary>
</histogram>
<histogram name="PushMessaging.UnregistrationIIDResult" enum="InstanceIDResult"
expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When unregistering an InstanceID push messaging subscription, this records
the result returned from deleting the InstanceID (note that exceeding the
maximum number of retries due to network errors is logged as SERVER_ERROR).
</summary>
</histogram>
<histogram name="PushMessaging.UnregistrationReason"
enum="PushUnregistrationReason" expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When unregistering a website from push messaging, this records the reason
why it is being unregistered.
</summary>
</histogram>
<histogram name="PushMessaging.UnregistrationStatus"
enum="PushUnregistrationStatus" expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When unregistering a website from push messaging, this records whether the
request is successful, or otherwise the type of error encountered.
</summary>
</histogram>
<histogram name="PushMessaging.UserVisibleStatus" enum="PushUserVisibleStatus"
expires_after="M96">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a Service Worker receives a push message, this records whether it
showed user-visible UX (like a notification), or whether we showed a forced
notification on its behalf.
</summary>
</histogram>
<histogram name="PushMessaging.VisibleNotificationCount" units="notifications"
expires_after="M94">
<owner>knollr@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Records the number of visible notifications for a Service Worker when it
receives a push message. Counted and recorded after handling the push event.
</summary>
</histogram>
<histogram name="Rappor.DailyEvent.IntervalType" enum="DailyEventIntervalType"
expires_after="M85">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>Counts how often daily interval events were fired.</summary>
</histogram>
<histogram name="Rappor.DiscardReason" enum="RapporDiscardReason"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>
For each Rappor log that is discarded, the reason that it was discarded.
</summary>
</histogram>
<histogram name="Rappor.FailedUploadErrorCode" enum="NetErrorCodes"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>Net error codes for failed Rappor uploads.</summary>
</histogram>
<histogram name="Rappor.LoadCohortResult" enum="RapporLoadResultType"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>
Success or errors encountered when loading Rappor cohort pref.
</summary>
</histogram>
<histogram name="Rappor.LoadSecretResult" enum="RapporLoadResultType"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>
Success or errors encountered when loading Rappor secret pref.
</summary>
</histogram>
<histogram name="Rappor.UploadResponseCode" enum="HttpResponseCode"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>
For each upload to the Rappor server, log the response received from the
server.
</summary>
</histogram>
<histogram name="ReadingList.BookmarkBarState.On{Frequency}AddToReadingList"
enum="BookmarkBarState" expires_after="M92">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The state of the bookmark bar recorded {Frequency} a user adds to the
reading list. (Desktop only).
</summary>
<token key="Frequency">
<variant name="Every" summary="every time"/>
<variant name="First" summary="the first time"/>
</token>
</histogram>
<histogram name="ReadingList.ContextMenu" enum="ReadingListContextMenuActions"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
The action chosen by the user after displaying the reading list context
menu.
</summary>
</histogram>
<histogram name="ReadingList.Download.Failures" units="count"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
Number of tries before the download of the entry is successful.
</summary>
</histogram>
<histogram name="ReadingList.Download.Status" enum="ReadingListDownloadStatus"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>Final status of the download of a reading list entry.</summary>
</histogram>
<histogram name="ReadingList.FirstReadAgeOnDeletion" units="hours"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
Time since the first read of the reading list entry getting deleted. 0 if it
has never been read.
</summary>
</histogram>
<histogram name="ReadingList.OfflineVersionDisplayed" enum="Boolean"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>Whether the displayed version is the offline one.</summary>
</histogram>
<histogram name="ReadingList.Read.AgeOnDeletion" units="hours"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
Time since the creation of the read reading list entry getting deleted.
</summary>
</histogram>
<histogram name="ReadingList.Read.Number" units="count"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>Number of read entries in reading list.</summary>
</histogram>
<histogram name="ReadingList.Unread.AgeOnDeletion" units="hours"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
Time since the creation of the unread reading list entry getting deleted.
</summary>
</histogram>
<histogram name="ReadingList.Unread.Number" units="count"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>Number of unread entries in reading list.</summary>
</histogram>
<histogram name="ReadingList.WebUI.InitialEntriesRenderTime" units="ms"
expires_after="2021-10-17">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
Records the time taken to load the Read Later WebUI and render (at least)
the initial list of entries. This is roughly equivalent to 'time to first
meaningful paint' for the Read Later UI.
</summary>
</histogram>
<histogram name="ReadingList.WebUI.LoadCompletedTime" units="ms"
expires_after="2021-10-17">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The amount of time between the render frame host StartProvisionalLoad event
and the render frame DocumentOnLoadCompleted event for the Read Later WebUI
page.
</summary>
</histogram>
<histogram name="ReadingList.WebUI.LoadDocumentTime" units="ms"
expires_after="2021-10-17">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The amount of time between the render frame host StartProvisionalLoad and
DidFinishDocumentLoad events for the Read Later WebUI page.
</summary>
</histogram>
<histogram name="ReadingList.WebUI.ReadingListDataReceived" units="ms"
expires_after="2021-08-15">
<obsolete>
Deprecated as of 2021/02. Metric is no longer needed.
</obsolete>
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The time taken for the WebUI in the renderer to receive the full list of
entries for the current user profile. This is measured as the time from when
the data was first requested by the WebUI to when the data was received by
the WebUI.
</summary>
</histogram>
<histogram name="ReadingList.WindowDisplayedDuration" units="ms"
expires_after="2021-10-10">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
Records the amount of time between when a reading list bubble is opened and
when it is closed. It does so by recording the difference in time between
when the the hosting WebUIBubbleDialogView's Widget is first created and
when the widget is destroyed. This is logged on Desktop only.
</summary>
</histogram>
<histogram name="ReadingList.{ReadStatus}.Count.{Variation}" units="count"
expires_after="M92">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The number of {ReadStatus} items in the reading list. Recorded {Variation}.
</summary>
<token key="ReadStatus">
<variant name="Read" summary="read"/>
<variant name="Unread" summary="unread"/>
</token>
<token key="Variation">
<variant name="OnModelLoaded"
summary="when the reading list model is loaded"/>
<variant name="OnUMAUpload" summary="every UMA upload"/>
</token>
</histogram>
<histogram name="RecoveryComponent.Event" enum="RecoveryComponentEvent"
expires_after="M77">
<owner>robertshield@chromium.org</owner>
<summary>Log each stage of a recovery component event.</summary>
</histogram>
<histogram base="true" name="RecurrenceRanker.InitializationStatus"
enum="RecurrenceRankerInitializationStatus" expires_after="2021-02-01">
<obsolete>
Removed January 2021.
</obsolete>
<!-- Name completed by histogram_suffixes
name="RecurrenceRankerModel" -->
<owner>tby@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
Records situations that can occur during the configuration and
initialization of a RecurrenceRanker.
</summary>
</histogram>
<histogram base="true" name="RecurrenceRanker.JsonConfigConversionStatus"
enum="BooleanSuccess" expires_after="2021-02-01">
<obsolete>
Removed January 2021.
</obsolete>
<!-- Name completed by histogram_suffixes
name="RecurrenceRankerModel" -->
<owner>tby@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
Whether the conversion of a JSON config for a RecurrenceRanker succeeded for
failed.
</summary>
</histogram>
<histogram base="true" name="RecurrenceRanker.SerializationStatus"
enum="RecurrenceRankerSerializationStatus" expires_after="2021-02-01">
<obsolete>
Removed January 2021.
</obsolete>
<!-- Name completed by histogram_suffixes
name="RecurrenceRankerModel" -->
<owner>tby@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
Reports the result of a save or load of a RecurrenceRanker model.
</summary>
</histogram>
<histogram base="true" name="RecurrenceRanker.Usage"
enum="RecurrenceRankerUsage" expires_after="2021-02-01">
<obsolete>
Removed January 2021.
</obsolete>
<!-- Name completed by histogram_suffixes
name="RecurrenceRankerModel" -->
<owner>tby@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
Reports when the functions of a RecurrenceRanker model are used.
</summary>
</histogram>
<histogram base="true" name="RelaunchNotification.ShowResult"
enum="RelaunchNotificationShowResult" expires_after="2021-06-20">
<obsolete>
Removed in M90.
</obsolete>
<owner>ayaelattar@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>
The result of an attempt to show a relaunch notification dialog.
</summary>
</histogram>
<histogram name="RenderFrameHostImpl.DroppedInterfaceRequestName"
enum="RenderFrameHostImpl.InterfaceNames" expires_after="M85">
<owner>engedy@chromium.org</owner>
<summary>
For each load and dropped Mojo interface request in a frame, records a
sample with a value corresponding to the hash of the interface name,
calculated as the lower 31 bits of the interface name's metric name hash.
Interface requests to RenderFrame::GetRemoteInterfaces are dropped when they
arrive to the RenderFrameHostImpl after the RenderFrameHostImpl had already
committed the next cross-document navigation.
This means that |document_scoped_interface_provider_binding_| was already
unbound at the time from the interface connection that had been used to
service RenderFrame::GetRemoteInterface for the previous load, so those
interface requests are dropped.
</summary>
</histogram>
<histogram name="RenderFrameHostImpl.DroppedInterfaceRequests" units="count"
expires_after="M85">
<owner>engedy@chromium.org</owner>
<summary>
For each load in a frame, records the number of interface requests to
RenderFrame::GetRemoteInterfaces that arrived to the RenderFrameHostImpl
after the RFHI had already committed the next cross-document navigation.
This means that |document_scoped_interface_provider_binding_| was already
unbound at the time from the interface connection that had been used to
service RenderFrame::GetRemoteInterface for the previous load, so those
interface requests are dropped. This histogram measures how often, if at
all, that happens in practice.
</summary>
</histogram>
<histogram name="RenderTextHarfBuzz.GetFallbackFontsTime" units="ms"
expires_after="2021-08-09">
<owner>ccameron@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
Time retrieve the fallback fonts on the system used for
RenderTextHarfBuzz::ShapeRuns. This metric is known to be quite slow on bad
cases.
</summary>
</histogram>
<histogram name="RenderTextHarfBuzz.GetFallbackFontTime" units="ms"
expires_after="2021-10-10">
<owner>ccameron@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
Time retrieve the preferred fallback font on the system used for
RenderTextHarfBuzz::ShapeRuns. Fallback font is determined based on the
input text and locale.
</summary>
</histogram>
<histogram name="RenderTextHarfBuzz.ShapeRunsFallback" enum="ShapeRunFallback"
expires_after="2021-10-10">
<owner>ccameron@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
This metric records the fallback font mechanism required to complete the
shaping of a text.
</summary>
</histogram>
<histogram name="RenderTextHarfBuzz.ShapeRunsWithFallbackFontsTime" units="ms"
expires_after="2021-10-10">
<owner>ccameron@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
Time to perform RenderTextHarfBuzz::ShapeRuns with retrieved the fallback
fonts. This metric is known to be quite slow on bad cases.
</summary>
</histogram>
<histogram name="RenderViewContextMenu.Shown" enum="RenderViewContextMenuItem"
expires_after="M95">
<owner>avi@chromium.org</owner>
<owner>edwardjung@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<summary>Count of renderer view context menu items shown.</summary>
</histogram>
<histogram name="RenderViewContextMenu.Used" enum="RenderViewContextMenuItem"
expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
<owner>avi@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
Count of renderer view context menu items (Only commands now) used.
The user action RenderViewContextMenu.Used.IDC_CONTENT_CONTEXT_SEARCHWEBFOR
is also logged in case that IDC_CONTENT_CONTEXT_SEARCHWEBFOR is logged to
this histogram.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram name="ReportingAndNEL.BackingStoreUpdateOutcome"
enum="NetReportingAndNelBackingStoreUpdateOutcome"
expires_after="2020-09-09">
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
The outcome of updating the backing store. This is recorded whenever a batch
of pending operations is committed to the backing store. Success occurs when
all operations are committed successfully. Trouble is recorded when some
operations are unsuccessful but committing the batch succeeds. Failure is
recorded when the commit fails.
</summary>
</histogram>
<histogram name="ReportingAndNEL.CorruptMetaTable" units="units"
expires_after="2021-06-25">
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
Records the detection of a corrupted meta table for the Reporting and NEL
DB. This is recorded when database migration fails to update the database to
the current version.
</summary>
</histogram>
<histogram name="ReportingAndNEL.CorruptMetaTableRecoveryFailed" units="units"
expires_after="2021-06-25">
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
Records a failure to recover a corrupted meta table for the Reporting and
NEL DB. This is recorded when a corrupt meta table is detected (see
ReportingAndNEL.CorruptMetaTable), and attempting to recover by deleting and
reinitializing the database fails.
</summary>
</histogram>
<histogram name="ReportingAndNEL.InitializeDBOutcome"
enum="NetReportingAndNelInitializeDbOutcome" expires_after="2020-09-09">
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
The outcome of initializing the SQLite database. This is recorded upon the
first load request after startup, which will typically occur upon the first
network request.
</summary>
</histogram>
<histogram name="ReportingAndNEL.KillDatabaseResult" enum="BooleanSuccess"
expires_after="2020-09-09">
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
Whether killing the database because it was corrupted beyond repair
succeeded. This is recorded when a fatal SQLite error is detected.
</summary>
</histogram>
<histogram name="ReportingAndNEL.NumberOfLoadedNELPolicies"
units="policy count" expires_after="2020-09-09">
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
The number of NEL policies loaded from the store. This is recorded when the
NetworkErrorLoggingService requests a load from the backing store, which
typically happens upon the first network request after startup.
</summary>
</histogram>
<histogram name="ReportingAndNEL.NumberOfLoadedReportingEndpointGroups"
units="endpoint group count" expires_after="2020-09-09">
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
The number of Reporting endpoint groups loaded from the store. This is
recorded when the ReportingCache requests a load from the backing store,
which happens upon receipt of the first Report-To header or queued report
after startup.
</summary>
</histogram>
<histogram name="ReportingAndNEL.NumberOfLoadedReportingEndpoints"
units="endpoint count" expires_after="2020-09-09">
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
The number of Reporting endpoints loaded from the store. This is recorded
when the ReportingCache requests a load from the backing store, which
happens upon receipt of the first Report-To header or queued report after
startup.
</summary>
</histogram>
<histogram name="ReportingAndNEL.TimeInitializeDB" units="ms"
expires_after="2020-09-09">
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
The time (ms) taken to initialize the Reporting and NEL DB. This is recorded
when the DB is initialized, which typically occurs upon the first network
request after startup.
</summary>
</histogram>
<histogram name="Reset.ChromeOS.PowerwashDialogShown"
enum="PowerwashDialogViewType" expires_after="M77">
<owner>merkulova@chromium.org</owner>
<summary>
Records the number of times the factory reset dialog was shown. Grouped by
the viewtype.
</summary>
</histogram>
<histogram name="ResourceLoadingHints.ResourceLoadingBlocked"
units="loading blocked" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
Records if the loading of a resource was blocked because the resource URL
matched the resource loading hints. Recorded every time a resource load is
requested.
</summary>
</histogram>
<histogram
name="ResourceLoadingHints.ResourceLoadingBlocked.ResourceLoadPriority.Allowed"
enum="WebURLRequestPriority" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
Records the resource load priority of a resource when its loading is not
blocked due to the resource loading hints. Recorded every time a resource
load is requested, and the load is not blocked due to the resource loading
hints.
</summary>
</histogram>
<histogram
name="ResourceLoadingHints.ResourceLoadingBlocked.ResourceLoadPriority.Blocked"
enum="WebURLRequestPriority" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
Records the resource load priority of a resource when its loading is blocked
due to the resource loading hints. Recorded every time a resource load is
requested and the resource load is blocked because the resource URL matched
the resource loading hints.
</summary>
</histogram>
<histogram
name="ResourceLoadingHints.ResourcePatternsAvailableAtCommitForRedirect"
enum="BooleanAvailable" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
Records if the resource patterns were available at the time of page commit
if the committed previews type was RESOURCE_LOADING_HINTS and the navigation
was redirected. This is a subset of the ResourcePatternsAvailableAtCommit
histogram.
</summary>
</histogram>
<histogram name="ResourceScheduler.ActiveSchedulerClientsCount" units="clients"
expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<summary>
The number of active resource scheduler clients indicates the severity of
system contention. A client is active when it has at least one request
either in the pending request queue owned by the client or in flight. This
is emitted when a new resource scheduler client is created.
</summary>
</histogram>
<histogram
name="ResourceScheduler.BrowserInitiatedHeavyRequest.QueuingDuration"
units="ms" expires_after="M82">
<owner>tbansal@chromium.org</owner>
<summary>
The amount of time the ResourceScheduler queued a browser initiated request
that was expected to be heavy (i.e., has large request/response sizes).
Recorded when the request is dispatched by the resource scheduler to the
network stack. Recorded only when the traffic annotation tag of the request
is present in the set of annotation tags that can be throttled.
</summary>
</histogram>
<histogram
name="ResourceScheduler.DelayableRequests.WaitTimeToAvoidContentionWithNonDelayableRequest"
units="ms" expires_after="M85">
<obsolete>
Obsoleted M85.
</obsolete>
<owner>tbansal@chromium.org</owner>
<summary>
Records how long after the start of a delayable resource request, a
non-delayable resource request arrived. This is the duration of time that
the delayable request should have been queued for so as to avoid any network
contetion with later-arriving non-delayable requests.
</summary>
</histogram>
<histogram name="ResourceScheduler.NonDelayableLastEndToNonDelayableStart"
units="ms" expires_after="M85">
<obsolete>
Obsoleted M85.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the end of a non-delayable resource request to
the start of the next non-delayable resource request. Recorded at the start
of all non-delayable requests that are preceeded by at least one completed
non-delayable request in the same resource scheduler client.
</summary>
</histogram>
<histogram
name="ResourceScheduler.NonDelayableLastEndToNonDelayableStart.NonDelayableNotInFlight"
units="ms" expires_after="2020-12-14">
<obsolete>
Obsoleted M89.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the end of a non-delayable resource request to
the start of the next non-delayable resource request. Recorded at the start
of all non-delayable requests that are preceeded by at least one completed
non-delayable request in the same resource scheduler client. Recorded only
when a non-delayable request is NOT in-flight.
</summary>
</histogram>
<histogram
name="ResourceScheduler.NonDelayableLastStartOrEndToNonDelayableStart"
units="ms" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the start of a non-delayable resource request
or end of a non-delayable request (whichever happened later) to the start of
the next non-delayable resource request. Recorded at the start of all
non-delayable requests that are preceeded by at least one started
non-delayable request in the same resource scheduler client.
</summary>
</histogram>
<histogram name="ResourceScheduler.NonDelayableLastStartToNonDelayableStart"
units="ms" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the start of a non-delayable resource request
to the start of the next non-delayable resource request. Recorded at the
start of all non-delayable requests that are preceeded by at least one
started non-delayable request in the same resource scheduler client.
</summary>
</histogram>
<histogram
name="ResourceScheduler.NonDelayableLastStartToNonDelayableStart.NonDelayableInFlight"
units="ms" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the start of a non-delayable resource request
to the start of the next non-delayable resource request. Recorded at the
start of all non-delayable requests that are preceeded by at least one
started non-delayable request in the same resource scheduler client.
Recorded only when a delayable request is in-flight.
</summary>
</histogram>
<histogram
name="ResourceScheduler.NumDelayableRequestsInFlightAtStart.NonDelayable"
units="requests" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<summary>
Records the number of delayable requests in-flight when a non-delayable
request is started.
</summary>
</histogram>
<histogram name="ResourceScheduler.NumSkippedScans.ScheduleStart"
units="requests" expires_after="M85">
<owner>csharrison@chromium.org</owner>
<summary>
The number of LoadAnyStartablePendingRequests scans that were skipped due to
smarter task scheduling around reprioritization.
</summary>
</histogram>
<histogram name="ResourceScheduler.PeakDelayableRequestsInFlight"
units="requests" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<summary>
Records the highest number of delayable requests that were in-flight when
the given request with higher priority was in-flight.
</summary>
</histogram>
<histogram name="ResourceScheduler.PeakObservedQueueingDelay" units="ms"
expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
Within a request's lifetime, the peak observed queueing delay tells whether
the request was affected by the network congestion. Records the maximum
network queueing delay when the given request was in-flight. This is emitted
when the request is completed.
</summary>
</histogram>
<histogram name="ResourceScheduler.RequestQueuingDuration" units="ms"
expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<summary>
The amount of time the ResourceScheduler queued a request. Recorded in
separate histograms based on the request loading priority at the time the
request was dequeued.
</summary>
</histogram>
<histogram name="ResourceScheduler.RequestsCount" units="requests count"
expires_after="M82">
<owner>jfwang@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the count of number of requests in-flight. Recorded when a request
is started by the resource scheduler.
</summary>
</histogram>
<histogram
name="ResourceScheduler.WeakSignalThrottling.WeakSignalDuration.{NetworkType}"
units="ms" expires_after="2021-12-01">
<owner>eseckler@chromium.org</owner>
<owner>khokhlov@chromium.org</owner>
<owner>skyostil@chromium.org</owner>
<summary>
Records the duration of the period when some low-priority requests were
throttled due to weak radio signal. Only supported on Android.
</summary>
<token key="NetworkType">
<variant name="Cell"/>
<variant name="Wifi"/>
</token>
</histogram>
<histogram name="Rlz.SetRlzPingSent" enum="BooleanSuccess" expires_after="M85">
<owner>wzang@chromium.org</owner>
<summary>
Record if updating |should_send_rlz_ping| in RW_VPD is successful within the
maximum retry counts.
</summary>
</histogram>
<histogram name="Rollback.OobeRestoreResult" enum="Rollback_OobeRestoreResult"
expires_after="2021-06-01">
<owner>mpolzer@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
The result when attempting to restore data during a Chrome OS rollback.
</summary>
</histogram>
<histogram name="Rollback.RollbackSaveResult"
enum="Rollback_RollbackSaveResult" expires_after="2021-06-01">
<owner>mpolzer@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
The result when attempting to save data during a Chrome OS rollback.
</summary>
</histogram>
<histogram name="SB2.DownloadChecks" enum="SB2DownloadChecks"
expires_after="M77">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records results of SafeBrowsing download check, including both url check and
downloaded file hash check.
</summary>
</histogram>
<histogram name="SB2.DownloadUrlCheckDuration" units="ms" expires_after="M77">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>The time it takes for SafeBrowsing to check a download url.</summary>
</histogram>
<histogram name="SB2.GetHashResponseOrErrorCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="M85">
<owner>vakh@google.com</owner>
<summary>
Response or error codes from the SafeBrowsing service. Logged after a
GetHash request finishes to capture the response code or error code for that
call. Split out from SB2.GetHashErrorResponseOrErrorCode in M49.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeClosed" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user navigating away by for example, closing the tab, clicking the browser
back button or typing another URL in the address bar.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeExpandedSeeMore" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user expanding the &quot;see more info&quot; section of the page. (Only
applies to field trial version 2 of the interstitial.)
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeLearnMore" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user clicking on the learn more link.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeProceed" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user clicking on the proceed link.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeReportError" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user clicking on the report error link.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeTakeMeBack" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user clicking on the big green back button.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.CanCheckUrl" enum="BooleanCanCheckUrl"
expires_after="2021-09-12">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Count of how many URLs were actually checked vs skipped via
RemoteSafeBrowsingDatabaseManager because the scheme is not supported by
Safe Browsing. Incremented each time a resource load is initiated.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.CheckDelta" units="microseconds"
expires_after="2021-11-08">
<owner>vakh@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The microseconds between sending the Safe Browsing API call and receiving
the response. Logged in java code and does not include any thread hops or
extra work. Note that this does include task queue time to respond to the
IPC (and that queue time is often non-trivial).
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.Elapsed" units="ms" expires_after="2021-09-05">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Latency of URL-classification API calls from Chrome via
RemoteSafeBrowsingDatabaseManager, logged per-request. This includes the
time to go through JNI, check the URL, and return the result and includes
several thread hops betwetween IO and UI threads. The resource-load will not
necessarily be delayed this much (see SB2.Delay for that).
</summary>
</histogram>
<histogram name="SB2.RemoteCall.InternalErrorStatusCode2"
enum="GooglePlayServicesConnectionResult" expires_after="never">
<!-- expires-never: This tracks the result of connecting to GmsCore for
Safe Browsing lookups, which is critical for security. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The status code provided by GmsCore if it is unable to respond to a URL
check request due to incorrect initialization, not being ready, etc. Logged
on each URL check that hits the internal error condition. The total number
of these should add up to the INTERNAL_ERROR reports under
SB2.RemoteCall.Result.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.Result" enum="SB2RemoteCallResult"
expires_after="2021-09-19">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Result of URL-classification API calls from Chrome via
RemoteSafeBrowsingApiHandler. Logged after each URL is judged safe/not-safe,
or hits a deadline. The INTERNAL_ERROR cases are further classified under
SB2.RemoteCall.InternalErrorStatusCode.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.ThreatSubType.PotentiallyHarmfulApp"
enum="SB2RemoteCallThreatSubType" expires_after="2021-07-28">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The threat sub-type annotated for URLs classified as PHA via remote calls
through RemoteSafeBrowsingApiHandler. &quot;PHA&quot; classifications
generate &quot;malware&quot; interstitials.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.ThreatSubType.SocialEngineering"
enum="SB2RemoteCallThreatSubType" expires_after="2021-07-28">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The threat sub-type annotated returned for URLs classified as social
engineering via remote calls through RemoteSafeBrowsingApiHandler.
&quot;Social engineering&quot; classifications generate &quot;phishing&quot;
interstitials.
</summary>
</histogram>
<histogram name="SB2.RequestDestination" enum="RequestDestination"
expires_after="2021-07-11">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Request destinations of resources that were inspected by Safe Browsing in
the SafeBrowsingResourceThrottle.
</summary>
</histogram>
<histogram name="SB2.ResourceTypes2" enum="ContentResourceType2"
expires_after="2021-09-12">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Resource types of resources that were inspected by Safe Browsing in the
SafeBrowsingResourceThrottle.
Starting M89, this metric is derived from
network::mojom::RequestDestination. kPrefetch, kFavicon, kXhr, kPing,
kNavigationPreloadMainFrame, and kNavigationPreloadSubFrame are all mapped
to kSubResource.
</summary>
</histogram>
<histogram name="SBDownloadFeedback.UploadDuration" units="ms"
expires_after="2020-03-29">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The time it takes for the TwoPhaseUploader to complete. This is logged on
every upload.
</summary>
</histogram>
<histogram name="SBIRS.DiscardedIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident discarded by the safe browsing incident reporting
service as a result of profile or service destruction.
</summary>
</histogram>
<histogram name="SBIRS.DownloadMetadata.DeleteSuccess" enum="BooleanSuccess"
expires_after="2018-08-30">
<owner>caitkp@chromium.org</owner>
<summary>The result of deleting a profile's download metadata file.</summary>
</histogram>
<histogram name="SBIRS.DownloadMetadata.ReadResult" enum="MetadataReadResult"
expires_after="2018-08-30">
<owner>caitkp@chromium.org</owner>
<summary>The result of reading a profile's download metadata file.</summary>
</histogram>
<histogram name="SBIRS.DownloadMetadata.WriteResult" enum="MetadataWriteResult"
expires_after="2018-08-30">
<owner>caitkp@chromium.org</owner>
<summary>The result of writing a profile's download metadata file.</summary>
</histogram>
<histogram name="SBIRS.DroppedIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident given to the safe browsing incident reporting service
but dropped as a result of not participating in safe browsing.
</summary>
</histogram>
<histogram name="SBIRS.EnvCollectionTime" units="ms" expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to collect environmental data for a safe browsing incident
report.
</summary>
</histogram>
<histogram name="SBIRS.FindDownloadedBinaryTime" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to find the most recent binary download from all loaded
profiles when creating a safe browsing incident report.
</summary>
</histogram>
<histogram name="SBIRS.Incident" enum="IncidentType" expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident included in an incident report by the safe browsing
incident reporting service.
</summary>
</histogram>
<histogram name="SBIRS.InterIncidentTime" units="ms" expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time between two successive incidents collated into the same
incident report by the safe browsing incident reporting service.
</summary>
</histogram>
<histogram name="SBIRS.NoDownloadIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident pruned by the safe browsing incident reporting service
as a result of not having a matching binary download.
</summary>
</histogram>
<histogram name="SBIRS.PrunedIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident pruned from a report in the safe browsing incident
reporting service as a result of having previously been reported.
</summary>
</histogram>
<histogram name="SBIRS.ReceivedIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident received by the safe browsing incident reporting
service.
</summary>
</histogram>
<histogram name="SBIRS.ReportPayloadSize" units="bytes" expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>The size, in bytes, of a safe browsing incident report.</summary>
</histogram>
<histogram name="SBIRS.UploadResult" enum="ReportProcessingResult"
expires_after="2021-09-05">
<owner>caitkp@google.com</owner>
<summary>
The result of an attempted report upload by the safe browsing incident
reporting service.
</summary>
</histogram>
<histogram name="SBIRS.VerifyBinaryIntegrity.0" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to verify the binary integrity of chrome.exe.
</summary>
</histogram>
<histogram name="SBIRS.VerifyBinaryIntegrity.1" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to verify the binary integrity of chrome.dll.
</summary>
</histogram>
<histogram name="SBIRS.VerifyBinaryIntegrity.2" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to verify the binary integrity of chrome_child.dll.
</summary>
</histogram>
<histogram name="SBIRS.VerifyBinaryIntegrity.3" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to verify the binary integrity of chrome_elf.dll.
</summary>
</histogram>
<histogram name="SBMultipartUploader.FailedUploadDuration" units="s"
expires_after="M90">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Measures the total duration (including delay due to retries) of a failed
upload request. This is recorded after the last retry on every failed
upload.
</summary>
</histogram>
<histogram name="SBMultipartUploader.NetworkRequestResponseCodeOrError"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="M90">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The HTTP response code or net error from each upload attempt. This is
recorded once for each network request made as part of an upload, i.e. if an
upload fails the first time, but a retry succeeds, this metric is recorded
twice.
</summary>
</histogram>
<histogram name="SBMultipartUploader.RetriesNeeded" units="retries"
expires_after="M90">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Counts how many retries were needed to complete the upload request. This is
emitted for every successful upload.
</summary>
</histogram>
<histogram name="SBMultipartUploader.SuccessfulUploadDuration" units="s"
expires_after="2021-09-19">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Measures the total duration (including delay due to retries) of a successful
upload request. This is recorded for every successful upload.
</summary>
</histogram>
<histogram name="SBMultipartUploader.UploadSize" units="bytes"
expires_after="M90">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The size of the upload request body. This is a combination of the upload
data and metadata. This is recorded once for each upload, regardless of
whether it was successful.
</summary>
</histogram>
<histogram name="SBMultipartUploader.UploadSuccess" enum="BooleanSuccess"
expires_after="M90">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Whether the overall upload request succeeded or not. This is recorded once
for an upload request, regardless of how many retries were needed to
complete the upload.
</summary>
</histogram>
<histogram name="ScreenLocker.AuthenticationFailure" enum="UnlockType"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
What type of authentication was attempted when the user failed to unlock the
lock screen.
</summary>
</histogram>
<histogram name="ScreenLocker.AuthenticationFailureTime" units="ms"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>The time spent for authentication in case of a failure.</summary>
</histogram>
<histogram name="ScreenLocker.AuthenticationSuccess" enum="UnlockType"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
What type of authentication was attempted when the user successfully
unlocked the lock screen.
</summary>
</histogram>
<histogram name="ScreenLocker.AuthenticationSuccessTime" units="ms"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>The time spent for authentication in case of a success.</summary>
</histogram>
<histogram name="ScreenLocker.ScreenLockTime" units="ms" expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>The time spent before the screen locker is ready.</summary>
</histogram>
<histogram name="SendTabToSelf.AndroidShareSheet.ClickResult"
enum="SendTabToSelfClickResult" expires_after="M97">
<owner>jeffreycohen@chromium.org</owner>
<owner>tgupta@chromium.org</owner>
<owner>chrome-sharing-core@google.com</owner>
<summary>Tracks the user flow for sending a tab for SendTabToSelf.</summary>
</histogram>
<histogram base="true" name="SendTabToSelf.ClickResult"
enum="SendTabToSelfClickResult" expires_after="M97">
<owner>jeffreycohen@chromium.org</owner>
<owner>tgupta@chromium.org</owner>
<owner>chrome-sharing-core@google.com</owner>
<summary>
Record whether the user has clicked the item when it is shown.
</summary>
</histogram>
<histogram name="ServicesCustomization.LoadResult"
enum="ServicesCustomizationLoadResult" expires_after="M77">
<owner>alemate@chromium.org</owner>
<summary>
Records result of fetching and parsing OEM customization manifest. See
ServicesCustomizationDocument class for more info. Used only on Chrome OS.
</summary>
</histogram>
<histogram name="Servicification.Startup2" enum="ServicificationStartupMode"
expires_after="2021-09-05">
<owner>hanxi@chromium.org</owner>
<owner>yfriedman@chromium.org</owner>
<owner>hnakashima@chromium.org</owner>
<owner>mheikal@chromium.org</owner>
<summary>
Histogram of how Chrome is launched, either in ServiceManager only mode or
as full browser, as well as either cold start or warm start. See
go/servicification_startup_metrics for more details.
</summary>
</histogram>
<histogram name="Servicification.Startup3" enum="ServicificationStartupMode"
expires_after="2021-09-05">
<owner>hanxi@chromium.org</owner>
<owner>yfriedman@chromium.org</owner>
<owner>hnakashima@chromium.org</owner>
<owner>mheikal@chromium.org</owner>
<summary>
Histogram of how Chrome is launched, either in ServiceManager only mode or
as full browser, as well as either cold start or warm start. See
go/servicification_startup_metrics for more details. The UMA data is cached
in the SharedPreference compared with Servicification.Startup2, which might
lose some data when Chrome is running in the ServiceManager only mode.
</summary>
</histogram>
<histogram name="Setup.Install.AddAppContainerAce" enum="Boolean"
expires_after="M77">
<owner>forshaw@chromium.org</owner>
<summary>
True if the the installer successfully added AppContainer ACEs to the
application directory during installation and updating.
</summary>
</histogram>
<histogram name="Setup.Install.CumulativeDiskUsage2" units="MB"
expires_after="never">
<!-- expires-never: used to monitor memory usage of setup installer. -->
<owner>etiennep@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>
The cumulative disk usage in MB during install or uninstall attempt,
recorded right after the install/uninstall attempt on windows only.
</summary>
</histogram>
<histogram name="Setup.Install.DeleteAppLauncherClientsKey"
enum="BooleanDeletedOrNot" expires_after="2021-03-22">
<owner>grt@chromium.org</owner>
<owner>src/chrome/installer/OWNERS</owner>
<summary>
Hit following a successful install or update when the legacy &quot;app
launcher&quot; Clients key is deleted from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.DeleteBinariesClientsKey"
enum="BooleanDeletedOrNot" expires_after="2021-03-22">
<owner>grt@chromium.org</owner>
<owner>src/chrome/installer/OWNERS</owner>
<summary>
Hit following a successful install or update when the legacy
&quot;binaries&quot; Clients key is deleted from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.DeleteIExecuteCommandClassKey"
enum="BooleanDeletedOrNot" expires_after="2021-03-22">
<owner>grt@chromium.org</owner>
<owner>src/chrome/installer/OWNERS</owner>
<summary>
Hit following a successful install or update when the COM registration for
the legacy &quot;IExecuteCommand&quot; implementation class key is deleted
from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.DeleteInstallExtensionCommand"
enum="BooleanDeletedOrNot" expires_after="2021-03-22">
<owner>grt@chromium.org</owner>
<owner>src/chrome/installer/OWNERS</owner>
<summary>
Hit following a successful install or update when the legacy
&quot;install-extension&quot; app command is deleted from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.LzmaUnPackStatus" enum="UnPackStatus"
expires_after="2022-03-22">
<owner>zmin@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>Record the status of unpacking the contents of a 7z file.</summary>
</histogram>
<histogram name="Setup.Install.PeakPagefileUsage" units="KB"
expires_after="never">
<!-- expires-never: used to monitor memory usage of setup installer. -->
<owner>huangs@chromium.org</owner>
<summary>
The peak page file usage by setup.exe in KB during install or uninstall
attempt.
</summary>
</histogram>
<histogram name="Setup.Install.PeakWorkingSetSize" units="KB"
expires_after="never">
<!-- expires-never: used to monitor memory usage of setup installer. -->
<owner>huangs@chromium.org</owner>
<summary>
The peak working set size of setup.exe in KB during install or uninstall
attempt.
</summary>
</histogram>
<histogram name="Setup.Install.RemoveProfileStatistics"
enum="BooleanDeletedOrNot" expires_after="M87">
<owner>waffles@chromium.org</owner>
<summary>
Hit following a successful install or update when the legacy profile count
keys / values are deleted from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.Result" enum="SetupInstallResult"
expires_after="never">
<!-- expires-never: Fundamental metric used to gague overall failure rates. -->
<owner>grt@chromium.org</owner>
<owner>bcwhite@chromium.org</owner>
<summary>
The final exit-result of the entire run of setup.exe on Windows.
</summary>
</histogram>
<histogram name="Setup.Install.ServiceInstallResult"
enum="SetupInstallServiceInstallResult" expires_after="2020-12-30">
<owner>ganesh@chromium.org</owner>
<owner>sorin@chromium.org</owner>
<owner>xiaolingbao@chromium.org</owner>
<summary>The outcome of attempting to install a service on Windows.</summary>
</histogram>
<histogram name="Setup.Install.ServiceRollbackResult"
enum="SetupInstallServiceRollbackResult" expires_after="2020-12-30">
<owner>ganesh@chromium.org</owner>
<owner>sorin@chromium.org</owner>
<owner>xiaolingbao@chromium.org</owner>
<summary>
The outcome of attempting to rollback an install of a service on Windows.
</summary>
</histogram>
<histogram base="true" name="Setup.Install.Win32ApiError"
enum="WinGetLastError" expires_after="2020-12-30">
<!-- Name completed by histogram_suffixes name="SetupInstallWin32Apis". -->
<owner>ganesh@chromium.org</owner>
<owner>sorin@chromium.org</owner>
<owner>xiaolingbao@chromium.org</owner>
<summary>Win32 APIs that error out during setup.</summary>
</histogram>
<histogram name="SharedHighlights.AsyncTask.Iterations" units="iterations"
expires_after="2021-07-11">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Indicates number of iterations it took for AsyncFindBuffer to finish the
search. AsyncFindBuffer is used only for validating generated text fragment
selectors for Shared Highlighting.
</summary>
</histogram>
<histogram name="SharedHighlights.AsyncTask.SearchDuration" units="ms"
expires_after="2021-07-11">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Time it took in milliseconds for AsyncFindBuffer to finish the search.
AsyncFindBuffer is used only for validating generated text fragment
selectors for Shared Highlighting.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated.Error"
enum="LinkGenerationError" expires_after="2021-09-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Records errors that caused text fragment selector generation to fail.
Recorded for all the failed link generation runs. This histogram is a
superset of |SharedHighlights.LinkGenerated.Error.Requested|.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated.Error.Iterations"
units="iterations" expires_after="2021-09-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Indicates number of iterations it took for the unsuccessful text fragment
selector generation run.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated.Error.Requested"
enum="LinkGenerationError" expires_after="2021-07-11">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Records errors that caused text fragment selector generation to fail.
Recorded only for failure cases that were requested by users.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated.Error.TimeToGenerate"
units="ms" expires_after="2021-09-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Time it took in millisecons for a failed text fragment selector generation
attempt.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated.Iterations" units="iterations"
expires_after="2021-09-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Indicates number of iterations it took to successfully generate text
fragment selector.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated.ParamLength" units="characters"
expires_after="2021-09-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Number of charaters in successfully generated text fragment selector. For
example, for #:=:text=sample%20text, it would be the
len(&quot;sample%20text&quot;) which is 13. Recorded only when selector
generation was successful.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated.SelectionLength"
units="characters" expires_after="2021-09-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Number of characters in the user selected text, that text fragment selector
is generated for. Recorded regardless of generation success.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated.SelectorParameters"
enum="TextFragmentAnchorParameters" expires_after="2021-09-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Indicates which parameters were specified in a text fragment selector.
Recorded only when selector generation was successful.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated.TimeToGenerate" units="ms"
expires_after="2021-09-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
How long it took in milliseconds to successfully generate text fragment
selector.
</summary>
</histogram>
<histogram name="SharedHighlights.LinkGenerated{Requested}"
units="BooleanSuccess" expires_after="2021-07-11">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Indicates whether text fragment selector generation was successful for
{Requested}.
</summary>
<token key="Requested">
<variant name="" summary="all cases"/>
<variant name=".RequestedAfterReady"
summary="cases when selector is requested after its ready."/>
<variant name=".RequestedBeforeReady"
summary="cases when selector is requested before its ready."/>
</token>
</histogram>
<histogram name="SharedMemory.MapBlockedForSecurity" enum="BooleanBlocked"
expires_after="M85">
<owner>dcheng@chromium.org</owner>
<owner>rsesek@chromium.org</owner>
<summary>
Tracks whether an attempt to map shared memory was blocked due to too much
shared memory already being mapped into the address space.
</summary>
</histogram>
<histogram name="ShortcutsProvider.DatabaseSize" units="units"
expires_after="2018-08-30">
<owner>mpearson@chromium.org</owner>
<summary>
The number of entries in shortcuts backend's database when initialized,
which happens during profile load.
</summary>
</histogram>
<histogram name="Shutdown.browser_exit.time2" units="units" expires_after="M81">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by the browser exit menu command.
</summary>
</histogram>
<histogram name="Shutdown.browser_exit.time_per_process" units="units"
expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by the browser exit menu command per renderer
process.
</summary>
</histogram>
<histogram name="Shutdown.end_session.time2" units="units" expires_after="M78">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by an end session (user logs off, shuts down or
reboots without explicitly exiting).
</summary>
</histogram>
<histogram name="Shutdown.end_session.time_per_process" units="units"
expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by an end session (user logs off, shuts down or
reboots without explicitly exiting) per renderer process.
</summary>
</histogram>
<histogram name="Shutdown.renderers.slow" units="units" expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
The number of renderer processes that couldn't be shutdown quickly due to
onbeforeunload or onunload listeners.
</summary>
</histogram>
<histogram name="Shutdown.renderers.total" units="units" expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
The number of renderer processes running when shutdown was called.
</summary>
</histogram>
<histogram name="Shutdown.ShutdownType" enum="ShutdownType"
expires_after="2020-04-19">
<owner>hashimoto@chromium.org</owner>
<summary>The type of the last shutdown.</summary>
</histogram>
<histogram name="Shutdown.window_close.time2" units="ms" expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by the last browser window being closed.
</summary>
</histogram>
<histogram name="Shutdown.window_close.time_per_process" units="units"
expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by the last browser window being closed per
renderer process.
</summary>
</histogram>
<histogram name="SignedExchange.CertificateFetch.CacheHit"
enum="BooleanCacheHit" expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Records if the fetched Signed Exchange certchain was served from HTTP cache
or not.
</summary>
</histogram>
<histogram name="SignedExchange.CertVerificationResult" enum="NetErrorCodes"
expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Reports the result of Signed Exchange cert verification, including success.
</summary>
</histogram>
<histogram name="SignedExchange.CTVerificationResult" enum="CTComplianceStatus"
expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Reports the result of Signed Exchange CT verification, including success.
</summary>
</histogram>
<histogram name="SignedExchange.FallbackRedirectLoop" enum="BooleanDetected"
expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Records true when a fallback redirect of Signed Exchange has failed with
ERR_TO_MANY_REDIRECTS.
Total count of SignedExchange.LoadResult2 should be used as a baseline of
this histogram.
</summary>
</histogram>
<histogram name="SignedExchange.LoadResult2" enum="SignedExchangeLoadResult"
expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Records the result of loading a resource from Signed HTTP Exchange. Emitted
each time a response is handled as Signed Exchange.
</summary>
</histogram>
<histogram name="SignedExchange.OCSPResponseStatus" enum="OCSPResponseStatus"
expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
The status of OCSP response in Signed Exchange certificates. Reported each
time Signed Exchange's OCSP check is performed.
</summary>
</histogram>
<histogram name="SignedExchange.OCSPRevocationStatus"
enum="OCSPRevocationStatus" expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Reports the revocation status of OCSP response in Signed Exchange
certificates. Emitted when Signed Exchange's OCSP check is performed, but
only when an up-to-date OCSP response was stapled.
</summary>
</histogram>
<histogram name="SignedExchange.Prefetch.LoadResult2"
enum="SignedExchangeLoadResult" expires_after="M94">
<owner>kinuko@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Records if the prefetched Signed Exchange was properly formatted and passed
verification steps. Reported for each completed SignedExchange prefetch.
</summary>
</histogram>
<histogram name="SignedExchange.Prefetch.Precision.30Seconds"
enum="BooleanUsage" expires_after="M94">
<owner>kinuko@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Records if the prefetched Signed Exchange was actually the target of a
navigation which happened within 30 seconds. Reported when a corresponding
navigation is observed, or from an periodic timer event which cleans up the
unmatched prefetch entries.
</summary>
</histogram>
<histogram name="SignedExchange.Prefetch.Recall.30Seconds" enum="BooleanUsage"
expires_after="M94">
<owner>kinuko@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Records how much Signed Exchange navigations were prefetched and not
prefetched. Matched against 30 seconds window. Reported for each Signed
Exchange navigations.
</summary>
</histogram>
<histogram name="SignedExchange.SignatureVerificationError.Expired"
units="seconds" expires_after="M94">
<owner>kinuko@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Recorded when Signed Exchange signature was expired. Records the time delta
between current time and signature's &quot;expires&quot; value.
</summary>
</histogram>
<histogram name="SignedExchange.SignatureVerificationError.NotYetValid"
units="seconds" expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Recorded when Signed Exchange signature was not yet valid. Records the time
delta between current time and signature's &quot;date&quot; value.
</summary>
</histogram>
<histogram name="SignedExchange.SignatureVerificationResult"
enum="SignedExchangeSignatureVerificationResult" expires_after="M94">
<owner>kinuko@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Reports the result of Signed Exchange signature verification, including
success.
</summary>
</histogram>
<histogram name="SignedExchange.Time.CertificateFetch.Failure" units="ms"
expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
The amount of time elapsed to fetch certificate chain from certUrl, for
which the fetch has failed.
</summary>
</histogram>
<histogram name="SignedExchange.Time.CertificateFetch.Success" units="ms"
expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
The amount of time elapsed to fetch certificate chain from certUrl, for
which the fetch has succeeded.
</summary>
</histogram>
<histogram name="SignedExchange.Time.SignatureVerify" units="ms"
expires_after="M94">
<owner>ksakamoto@chromium.org</owner>
<owner>kinuko@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
The amount of time that elapsed during
SignedExchangeSignatureVerifier::Verify.
</summary>
</histogram>
<histogram name="SignedExchange.TimeUntilExpiration" units="seconds"
expires_after="M94">
<owner>kinuko@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
Number of seconds until the Signed Exchange's expiration time. Recorded when
Signed Exchange signature verification is performed, and emitted only for
Signed Exchanges within the validity period.
</summary>
</histogram>
<histogram name="SignedExchange.ValidityPingDuration" units="ms"
expires_after="M94">
<owner>kinuko@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>
The amount of time elapsed to ping the original publisher of the Signed
Exchanges.
</summary>
</histogram>
<histogram name="SignedExchange.ValidityPingResult"
enum="SignedExchangeValidityPingResult" expires_after="M94">
<owner>kinuko@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<owner>horo@chromium.org</owner>
<summary>Reports the result of the Signed Exchange validity ping.</summary>
</histogram>
<histogram name="SingleWebsitePreferences.NavigatedFromToReset"
enum="SettingsNavigationSources" expires_after="M92">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Logs which way had the user navigated into settings screens when they press
&quot;Clear and Reset&quot; button in settings of a single website.
</summary>
</histogram>
<histogram name="SiteEngagementService.DaysSinceLastShortcutLaunch"
units="days" expires_after="2021-01-01">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The number of days between launches of an origin saved to homescreen or as a
bookmark app shortcut. Recorded at the second and each following launch of a
specific origin from a shortcut, independently per origin.
</summary>
</histogram>
<histogram name="SiteEngagementService.EngagementScore" units="units"
expires_after="2021-09-12">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
Distribution of the engagement scores accumulated by a user, recorded at
startup per non-incognito profile, and then upon the first
engagement-increasing event every hour thereafter.
</summary>
</histogram>
<histogram name="SiteEngagementService.EngagementScoreBucket" units="%"
expires_after="2021-08-22">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The percentage of sites on a user's profile that have engagement scores that
fall in these buckets, recorded at startup per non-incognito profile, and
then upon the first engagement-increasing event every hour thereafter.
</summary>
</histogram>
<histogram name="SiteEngagementService.EngagementType"
enum="SiteEngagementServiceEngagementType" expires_after="2021-09-12">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The type of engagement (navigation, user input, etc.) which led to an
accumulation in site engagement.
</summary>
</histogram>
<histogram name="SiteEngagementService.MeanEngagement" units="units"
expires_after="2021-08-22">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The mean site engagement per origin accumulated by this profile, recorded at
startup per non-incognito profile, and then upon the first
engagement-increasing event every hour thereafter.
</summary>
</histogram>
<histogram name="SiteEngagementService.MedianEngagement" units="units"
expires_after="2021-09-12">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The median site engagement per origin accumulated by this profile, recorded
at startup per non-incognito profile, and then upon the first
engagement-increasing event every hour thereafter.
</summary>
</histogram>
<histogram name="SiteEngagementService.OriginsEngaged" units="units"
expires_after="2021-09-19">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The total number of origins with a non-zero site engagement score for this
profile, recorded at startup per non-incognito profile, and then upon the
first engagement-increasing event every hour thereafter.
</summary>
</histogram>
<histogram name="SiteEngagementService.OriginsWithMaxDailyEngagement"
units="units" expires_after="2021-01-01">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The number of origins which have reached the daily site engagement point
cap, recorded at startup per non-incognito profile, and then upon the first
engagement-increasing event every hour thereafter. Thus, each bin N contains
the number of clients where at least N origins have reached the maximum
daily site engagement point cap.
</summary>
</histogram>
<histogram name="SiteEngagementService.OriginsWithMaxEngagement" units="units"
expires_after="2021-01-01">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The number of origins which have reached the absolute site engagement point
cap, recorded at startup per non-incognito profile, and then upon the first
engagement-increasing event every hour thereafter. Thus, each bin N contains
the number of clients where at least N origins have reached the maximum
absolute site engagement point cap.
</summary>
</histogram>
<histogram name="SiteEngagementService.TotalEngagement" units="units"
expires_after="2021-09-12">
<owner>calamity@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
The total site engagement accumulated by this profile, recorded at startup
per non-incognito profile, and then upon the first engagement-increasing
event every hour thereafter.
</summary>
</histogram>
<histogram name="SiteIsolatedCodeCache.JS.Behaviour"
enum="SiteIsolatedCodeCacheJSBehaviour" expires_after="2021-09-12">
<owner>mythria@chromium.org</owner>
<owner>v8-team@google.com</owner>
<summary>
The behaviour of site isolated javascript code cache recorded for each cache
transaction. It records if the request was serviced and if serviced how it
was serviced for ex: hit, miss, update.
</summary>
</histogram>
<histogram name="SiteIsolatedCodeCache.WASM.Behaviour"
enum="SiteIsolatedCodeCacheWASMBehaviour" expires_after="2020-04-19">
<owner>bbudge@chromium.org</owner>
<summary>
The behaviour of site isolated web assembly code cache recorded for each
cache transaction during WASM compilation. It records if the request was
serviced and if serviced how it was serviced for ex: hit, miss, update.
</summary>
</histogram>
<histogram name="SiteIsolation.BrowsingInstance.MaxCountPerProcess"
units="units" expires_after="2021-10-15">
<owner>wjmaclean@chromium.org</owner>
<owner>creis@chromium.org</owner>
<summary>
The maximum number of BrowsingInstances seen in a RenderProcessHost over its
lifetime. Recorded once when
ChildProcessImpl::SecurityState::~SecurityState() is invoked.
</summary>
</histogram>
<histogram name="SiteIsolation.BrowsingInstanceCount" units="units"
expires_after="2021-09-30">
<owner>alexmos@chromium.org</owner>
<owner>creis@chromium.org</owner>
<summary>
The count of all current BrowsingInstances. Recorded once per UMA ping.
</summary>
</histogram>
<histogram base="true" name="SiteIsolation.CORBProtection.CacheHeuristic"
enum="CrossOriginProtectionDecision" expires_after="M83">
<owner>krstnmnlsn@chromium.org</owner>
<owner>creis@chromium.org</owner>
<summary>
The blocking decision CORB would have made on the response, if the request
was cross-origin. Reported if the response looked sensitive under the cache
heuristic (i.e. had Cache-Control: Private and Vary: Origin response
headers).
</summary>
</histogram>
<histogram base="true"
name="SiteIsolation.CORBProtection.CacheHeuristic.ProtectedMimeType"
enum="BooleanSupported" expires_after="M83">
<!-- suffixed with Block*WithRangeSupport -->
<owner>krstnmnlsn@chromium.org</owner>
<owner>creis@chromium.org</owner>
<summary>
True if the response has an Accept-Ranges header, which indicates the server
supports range requests on the resource and could be used to bypass CORB.
Only reported if the resource looked sensitive under the Cache heuristic and
was a protected MIME type.
</summary>
</histogram>
<histogram base="true" name="SiteIsolation.CORBProtection.CORSHeuristic"
enum="CrossOriginProtectionDecision" expires_after="M83">
<owner>krstnmnlsn@chromium.org</owner>
<owner>creis@chromium.org</owner>
<summary>
The blocking decision CORB would have made on the response, if the request
was cross-origin. Reported if the response looked sensitive under the CORS
heuristic (i.e. had the Access-Control-Allow-Origin header with a value
other than * or null).
</summary>
</histogram>
<histogram base="true"
name="SiteIsolation.CORBProtection.CORSHeuristic.ProtectedMimeType"
enum="BooleanSupported" expires_after="M83">
<!-- suffixed with Block*WithRangeSupport -->
<owner>krstnmnlsn@chromium.org</owner>
<owner>creis@chromium.org</owner>
<summary>
True if the response has an Accept-Ranges header, which indicates the server
supports range requests on the resource and could be used to bypass CORB.
Only reported if the resource looked sensitive under the CORS heuristic and
was a protected MIME type.
</summary>
</histogram>
<histogram base="true"
name="SiteIsolation.CORBProtection.ProtectedMimeType.BlockedWithoutSniffing.HasNoSniff"
enum="BooleanHasNoSniff" expires_after="M83">
<owner>krstnmnlsn@chromium.org</owner>
<owner>creis@chromium.org</owner>
<summary>
True if the response has a nosniff header. If the nosniff header is not
present, then CORB must have decided to block without sniffing due to a
partial response, or because the MIME type was a never sniff type. Only
reported on resources CORB would have blocked/protected without sniffing
that have a protected MIME type.
</summary>
</histogram>
<histogram name="SiteIsolation.CORBProtection.SensitiveResource"
enum="BooleanSensitive" expires_after="M83">
<owner>krstnmnlsn@chromium.org</owner>
<owner>creis@chromium.org</owner>
<summary>
True if the resource was found to be sensitive by either the CORS or Cache
heuristics. Recorded for every resource CORB sees.
</summary>
</histogram>
<histogram name="SiteIsolation.CORBProtection.SensitiveWithRangeSupport"
enum="BooleanSupported" expires_after="M83">
<owner>krstnmnlsn@chromium.org</owner>
<owner>creis@chromium.org</owner>
<summary>
True if the response has an Accept-Ranges header, which indicates the server
supports range requests on the resource. Only reported if the response
looked sensitive under the cache or CORS heuristics.
</summary>
</histogram>
<histogram
name="SiteIsolation.FileSystemApi.CanAccessDataForOriginFailure.IsHttpBasedScheme"
enum="BooleanHttpBasedOrOtherScheme" expires_after="2020-12-21">
<obsolete>
Removed in Dec 2020 / M89.
</obsolete>
<owner>lukasza@chromium.org</owner>
<owner>nasko@chromium.org</owner>
<summary>
Logged when FileSystemManagerImpl::Open fails CanAccessDataForOrigin check.
The value indicates whether the requested origin came from a http/https
origin VS from another origin (possibly from a Chrome App).
</summary>
</histogram>
<histogram name="SiteIsolation.IsPasswordFormSubmittedInDedicatedProcess"
enum="SiteIsolationIsDedicatedProcess" expires_after="2021-09-30">
<owner>alexmos@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<summary>
Logs whether or not a password form was submitted from a site-isolated
process that's dedicated to a single site. Recorded when a password form is
submitted.
</summary>
</histogram>
<histogram name="SiteIsolation.ORB.ResponseHeadersHeuristic.Decision"
enum="OpaqueResponseBlocking_ResponseHeadersHeuristic" expires_after="M92">
<owner>creis@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<summary>
The approximation of a route that Opaque Response Blocking (ORB) algorithm
would have taken to decide whether to block the response or not. The logged
value is based on heuristics that only look at the HTTP response headers,
and attempt to approximate if the full ORB algorithm would need to parse the
response body as Javascript (vs also reaching a decision purely based on the
HTTP response headers).
Note that only partial ORB algorithm is used for logging the UMA (e.g. no
multimedia sniffing and/or 206-response processing is done). This means that
the results overestimate how many responses need Javascript parsing.
Logged for each final HTTP/HTTPS response processed by the NetworkService.
</summary>
</histogram>
<histogram name="SiteIsolation.ORB.ResponseHeadersHeuristic.{OrbDecision}"
enum="RequestDestination" expires_after="M92">
<owner>creis@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<summary>
The request destination (e.g. script vs image) of a response that Opaque
Response Blocking (ORB) algorithm processed {OrbDecision}.
Note that only partial ORB algorithm is used for logging the UMA (e.g. no
multimedia sniffing and/or 206-response processing is done). This means that
the results overestimate how many responses need Javascript parsing.
Logged for each final HTTP/HTTPS response processed by the NetworkService.
</summary>
<token key="OrbDecision">
<variant name="ProcessedBasedOnHeaders"
summary="based on HTTP response headers"/>
<variant name="RequiresJavascriptParsing"
summary="with required Javascript parsing"/>
</token>
</histogram>
<histogram name="SiteIsolation.OutOfProcessIframes" units="units"
expires_after="2021-09-30">
<owner>alexmos@chromium.org</owner>
<owner>creis@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<owner>nasko@chromium.org</owner>
<summary>
The count of all out-of-process iframes. Recorded once per UMA ping.
</summary>
</histogram>
<histogram name="SiteIsolation.ProxyCount" units="units"
expires_after="2021-09-30">
<owner>alexmos@chromium.org</owner>
<owner>creis@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<summary>
The count of all RenderFrameProxyHosts. Recorded once per UMA ping.
</summary>
</histogram>
<histogram name="SiteIsolation.ProxyCountPerBrowsingInstance" units="units"
expires_after="2021-09-30">
<owner>alexmos@chromium.org</owner>
<owner>creis@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<summary>
The count of RenderFrameProxyHosts in each BrowsingInstance. Recorded each
UMA ping, once per BrowsingInstance.
</summary>
</histogram>
<histogram name="SiteIsolation.ReusePendingOrCommittedSite.CouldReuse"
enum="ReusePendingOrCommittedSiteEnum" expires_after="M77">
<owner>clamy@chromium.org</owner>
<summary>
Whether SiteInstances with a ProcessReusePolicy of
REUSE_PENDING_OR_COMMITTED_SITE could reuse an existing RenderProcessHost or
they had to create a new one. True when they reused an existing process,
false when they created a new one.
</summary>
</histogram>
<histogram
name="SiteIsolation.ReusePendingOrCommittedSite.TimeSinceReusableProcessDestroyed"
units="ms" expires_after="2021-09-05">
<owner>jessemckenna@google.com</owner>
<owner>olivierli@chromium.org</owner>
<summary>
Recorded on navigations with a ProcessReusePolicy of
REUSE_PENDING_OR_COMMITTED_SITE (mostly subframe navigations). Measures the
time since a RenderProcessHost hosting the destination URL was last
destroyed, up to 10 seconds. If no host matching the destination was
recently destroyed, a sentinel value of 20 seconds is used.
</summary>
</histogram>
<histogram name="SiteIsolation.SavedUserTriggeredIsolatedOrigins.Size"
units="origins" expires_after="2021-09-30">
<owner>alexmos@chromium.org</owner>
<owner>creis@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<summary>
The number of currently saved user-triggered isolated sites. This includes
sites where the user has entered a password while using Site Isolation for
password sites (which is the target Site Isolation mode for Android).
Recorded once on browser startup.
</summary>
</histogram>
<histogram name="SiteIsolation.SiteInstancesPerBrowsingInstance" units="units"
expires_after="2021-09-30">
<owner>alexmos@chromium.org</owner>
<owner>creis@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<owner>nasko@chromium.org</owner>
<summary>
The count of SiteInstances in a single BrowsingInstance. Recorded each UMA
ping, once per BrowsingInstance.
</summary>
</histogram>
<histogram name="SiteIsolation.XSD.Browser.Action"
enum="SiteIsolationResponseAction" expires_after="2020-06-01">
<owner>creis@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<summary>
Various actions related to cross-site document blocking in the browser
process, indicating whether the response was blocked from the renderer.
Recorded as the response is processed in the network stack.
</summary>
</histogram>
<histogram name="SiteIsolation.XSD.Browser.Blocked.CanonicalMimeType"
enum="CorbCanonicalMimeType" expires_after="M81">
<owner>creis@chromium.org</owner>
<owner>lukasza@chromium.org</owner>
<summary>
The total count of responses that were blocked by the cross-site document
blocking logic in the browser process. Recorded with a canonical MIME type
when the response is blocked.
</summary>
</histogram>
<histogram name="Skia.DrawScaleFactor" enum="SkiaScaleFactor"
expires_after="M85">
<obsolete>
Removed in Oct 2020.
</obsolete>
<owner>ericrk@chromium.org</owner>
<summary>The scale factor of any images drawn by Skia.</summary>
</histogram>
<histogram name="Skia.DrawTiled" enum="BooleanTiled" expires_after="M85">
<obsolete>
Removed in Oct 2020.
</obsolete>
<owner>ericrk@chromium.org</owner>
<summary>
Whether a call to drawBitmap(Rect) or drawImage(Rect) used the tiled or
non-tiled rasterization path.
</summary>
</histogram>
<histogram name="Skia.FilterQuality" enum="SkiaFilterQuality"
expires_after="M85">
<obsolete>
Removed in Oct 2020.
</obsolete>
<owner>ericrk@chromium.org</owner>
<summary>
The count of images drawn by Skia with a given filter quality.
</summary>
</histogram>
<histogram name="Skia.LockTexturePath" enum="SkiaLockTexturePath"
expires_after="M85">
<obsolete>
Removed in Oct 2020.
</obsolete>
<owner>ericrk@chromium.org</owner>
<summary>
The path taken by Skia when it attempts to lock a texture for use.
</summary>
</histogram>
<histogram name="Skia.SubmitRenderPasses" units="renderpasses"
expires_after="2021-09-05">
<owner>egdaniel@google.com</owner>
<owner>bsalomon@google.com</owner>
<summary>
The number of Skia render passes sent to the GPU during a GrContext::submit
call. The max value that is sent here is 100 so anything in the 100 bucket
actually includes render pass counts of 100+. Though we don't expect to be
reaching 100 render passes often. This is collected each time we submit to
the GPU in Skia.
</summary>
</histogram>
<histogram name="Skia.VulkanMemoryAllocator.AmountAllocated" units="KB"
expires_after="2021-09-05">
<owner>egdaniel@google.com</owner>
<owner>bsalomon@google.com</owner>
<summary>
The total amount of memory that the GrVkMemoryAllocator used by Skia's
Vulkan backend has allocated. This is GPU memory for VkImages and VkBuffers.
Note that the allocator may be shared with other users outside of Skia and
this amount includes their uses as well. This is collected each time we
request an allocation from Skia.
</summary>
</histogram>
<histogram name="Skia.VulkanMemoryAllocator.PercentUsed" units="%"
expires_after="2021-09-05">
<owner>egdaniel@google.com</owner>
<owner>bsalomon@google.com</owner>
<summary>
The percent of allocated memory that is in use by the GrVkMemoryAllocator
used by Skia's Vulkan backend. This is GPU memory for VkImages and
VkBuffers. Note that the allocator may be shared with other users outside of
Skia and this includes their allocations as well. This is collected each
time we request an allocation from Skia.
</summary>
</histogram>
<histogram name="Snackbar.Shown" enum="SnackbarIdentifier"
expires_after="never">
<!-- expires-never: Required as long as snackbars exist. -->
<owner>pavely@chromium.org</owner>
<owner>src/chrome/browser/ui/messages/OWNERS</owner>
<summary>
Records the identifier of a snackbar every time one is shown.
</summary>
</histogram>
<histogram name="SpecialLocale.PromotionDialog" enum="SpecialLocalePromoAction"
expires_after="M81">
<owner>ianwen@chromium.org</owner>
<summary>
Records how users interact with the special locale promotion dialog.
</summary>
</histogram>
<histogram name="Spellcheck.Android.Available" enum="BooleanAvailable"
expires_after="2021-10-10">
<owner>timvolodine@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Whether the Android spellchecking service was available at the start of a
new spellchecking session. Note that the user can disable the Android
spellchecking service in settings, in which case it will show up as not
available in the histogram.
Warning: for chrome versions 78-88 this histogram was listed as expired, so
for that period the data might be missing or incomplete.
</summary>
</histogram>
<histogram name="SpellCheck.Android.Latency" units="ms" expires_after="M77">
<owner>timvolodine@chromium.org</owner>
<summary>
Measures the amount of time it takes to receive results from the
spellchecking service on Android. More precisely this is the
SystemClock.elapsedRealtime() between the
SpellCheckerSession.getSentenceSuggestions() and the invocation of the
onGetSentenceSuggestions() callback.
</summary>
</histogram>
<histogram name="SpellCheck.MisspellRatio" units="%" expires_after="M90">
<obsolete>
Removed 2021/01: the relevant code path isn't used anymore.
</obsolete>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>The percentage of misspelled words within checked words.</summary>
</histogram>
<histogram name="SpellCheck.ReplaceRatio" units="%" expires_after="M90">
<obsolete>
Removed 2021/01: the relevant code path isn't used anymore.
</obsolete>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>The percentage of replaced words within misspelled words.</summary>
</histogram>
<histogram name="SpellCheck.SpellingService.Enabled" enum="BooleanEnabled"
expires_after="2021-10-10">
<owner>groby@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Whether the user has opted in to asking Google for spelling suggestions.
Recorded both when spelling is initialized and when the preference is
changed.
</summary>
</histogram>
<histogram name="SpellCheck.SpellingService.RequestDuration" units="ms"
expires_after="2021-09-12">
<owner>yyushkina@google.com</owner>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
The elapsed time, in ms, between the moment the SimpleURLLoader starts
downloading the request and the moment the SimpleURLLoader callback is
invoked after the request finishes, whether an error or a success.
</summary>
</histogram>
<histogram name="SpellCheck.SpellingService.RequestHttpResponseCode"
enum="HttpResponseCode" expires_after="2021-09-05">
<owner>yyushkina@google.com</owner>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>The HTTP code of Spelling service responses.</summary>
</histogram>
<histogram name="SpellCheck.SpellingService.RequestResultType"
enum="ServiceRequestResultType" expires_after="2021-09-05">
<owner>yyushkina@google.com</owner>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Describes the results returned by the Spelling service by assigning them to
one of three high-level buckets: request/service error, success with no
suggestions, and success with spelling suggestions.
</summary>
</histogram>
<histogram name="SpellCheck.SuggestionHitRatio" units="%"
expires_after="2021-08-22">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
The percentage of replacement executions within suggestion occurrences.
</summary>
</histogram>
<histogram base="true" name="Spellcheck.Windows.ChromeLocalesSupport"
units="locales" expires_after="2021-10-04">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Counts how many languages are added to Chrome by the user but are not
supported for spell check (today Chrome only supports a hard-coded list of
locales for spell check).
This is a measure of the potential impact of adding support for non-Hunspell
locales in the spell check settings. This also helps answer the following
question: should the Chrome spell check settings raise awareness of Windows
language packs and / or link to documentation describing how to install a
Windows language pack?
This is recorded once during spell check initialization, and then once each
time the user changes their Chrome languages.
</summary>
</histogram>
<histogram base="true" name="Spellcheck.Windows.SpellcheckLocalesSupport"
units="locales" expires_after="2021-10-04">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Of all the currently enabled spell check languages, counts how many are
supported by the different spell checkers (Hunspell and the Windows OS).
This helps measure the impact and reach of the native spell checker
integration.
This is recorded once during spell check initialization, and then once each
time the user changes their enabled spell check languages.
</summary>
</histogram>
<histogram base="true" name="Spellcheck.Windows.SpellcheckRequestDuration"
units="ms" expires_after="2021-10-04">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Measures the time it takes to perform one spell check end to end. The start
time is taken just before invoking Hunspell or the native spell checker (via
Mojo), and the end time is taken just before invoking the Blink spell check
callback.
This is recorded every time a spell check is performed.
</summary>
</histogram>
<histogram base="true" name="Spellcheck.Windows.SuggestionGatheringDuration"
units="ms" expires_after="2021-10-04">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Measures the time it takes to generate spelling suggestions when a user
right clicks a misspelled word. The start time is taken just before invoking
Hunspell for the suggestions, and the end time is taken just after the final
suggestion list is constructed.
This is recorded every time the user opens the context menu on a misspelled
word, but only if the suggestions hadn't been pre-generated (which happens
when all spell check locales are supported by the OS spell checker).
</summary>
</histogram>
<histogram name="Sqlite.CloseFailure" enum="SqliteErrorCode"
expires_after="M85">
<owner>costan@google.com</owner>
<summary>Error which prevented database close.</summary>
</histogram>
<histogram name="Sqlite.DeprecationVersionResult"
enum="SqliteVersionDeprecation" expires_after="M77">
<owner>costan@google.com</owner>
<summary>
Annotations for which bits of sql::MetaTable::CheckDeprecated() fire.
</summary>
</histogram>
<histogram name="Sqlite.Error" enum="SqliteErrorCode"
expires_after="2020-02-16">
<owner>costan@google.com</owner>
<summary>SQLite extended error codes.</summary>
</histogram>
<histogram name="Sqlite.MemoryKB.OneDay" units="KB" expires_after="M81">
<owner>costan@google.com</owner>
<summary>
SQLite memory footprint from sqlite3_memory_used() recorded 1 day after
first database is opened by sql::Database.
</summary>
</histogram>
<histogram name="Sqlite.MemoryKB.OneHour" units="KB" expires_after="M81">
<owner>costan@google.com</owner>
<summary>
SQLite memory footprint from sqlite3_memory_used() recorded 1 hour after
first database is opened by sql::Database.
</summary>
</histogram>
<histogram name="Sqlite.MemoryKB.OneWeek" units="KB" expires_after="M81">
<owner>costan@google.com</owner>
<summary>
SQLite memory footprint from sqlite3_memory_used() recorded 1 week after
first database is opened by sql::Database.
</summary>
</histogram>
<histogram name="Sqlite.MemoryKB.TenMinutes" units="KB" expires_after="M81">
<owner>costan@google.com</owner>
<summary>
SQLite memory footprint from sqlite3_memory_used() recorded 10 minutes after
first database is opened by sql::Database.
</summary>
</histogram>
<histogram name="Sqlite.Migration.History" units="ms" expires_after="M85">
<owner>costan@google.com</owner>
<summary>
Time used to migrate History database schema to a new version.
</summary>
</histogram>
<histogram name="Sqlite.OpenFailure" enum="SqliteErrorCode" expires_after="M95">
<owner>pwnall@chromium.org</owner>
<owner>src/storage/OWNERS</owner>
<summary>Error which prevented database open.</summary>
</histogram>
<histogram name="Sqlite.OpenProbeFailure" enum="SqliteErrorCode"
expires_after="M77">
<owner>costan@google.com</owner>
<summary>Error from first read of the database.</summary>
</histogram>
<histogram name="Sqlite.RazeDatabase" enum="SqliteErrorCode"
expires_after="M77">
<owner>costan@google.com</owner>
<summary>Errors attempting to Raze() database.</summary>
</histogram>
<histogram name="Sqlite.RazeDatabase2" enum="SqliteErrorCode"
expires_after="M77">
<owner>costan@google.com</owner>
<summary>Errors on second attempt to Raze() database.</summary>
</histogram>
<histogram name="Sqlite.RazeDatabaseTruncate" enum="SqliteErrorCode"
expires_after="M85">
<owner>costan@google.com</owner>
<summary>Errors truncating database for Raze().</summary>
</histogram>
<histogram name="Sqlite.RecoveryAttachError" enum="SqliteErrorCode"
expires_after="M77">
<owner>costan@google.com</owner>
<summary>
SQLite error code from failed ATTACH in sql::Recovery::Init().
</summary>
</histogram>
<histogram name="Sqlite.RecoveryEvents" enum="SqliteRecoveryEventEnum"
expires_after="M81">
<owner>costan@google.com</owner>
<summary>
Records specific failure and success cases in sql::Recovery implementation,
to determine which cases warrant further development. This histogram tracks
detected errors, some of which may cause multiple results. See recovery.cc
for details.
</summary>
</histogram>
<histogram name="Sqlite.RecoveryHandle" enum="SqliteErrorCode"
expires_after="M85">
<owner>costan@google.com</owner>
<summary>Error from sqlite3_backup_init() in sql::Recovery.</summary>
</histogram>
<histogram name="Sqlite.RecoveryStep" enum="SqliteErrorCode"
expires_after="M77">
<owner>costan@google.com</owner>
<summary>Error from sqlite3_backup_step() in sql::Recovery.</summary>
</histogram>
<histogram name="Sqlite.Stats2" enum="SqliteStats2Enum" expires_after="M81">
<owner>pwnall@chromium.org</owner>
<summary>
SQLite failures encountered by //sql code. Intended to be viewed using
unique user counts. SQLite errors should be caused by media failures (random
variable with fairly low probability) or bad A/V software (not random, but
hopefully low enough that we can pretend it is).
</summary>
</histogram>
<histogram name="Sqlite.Version" units="units" expires_after="M81">
<owner>costan@google.com</owner>
<summary>Version of pre-existing database at startup.</summary>
</histogram>
<histogram name="SSL.CertificateErrorReportEvent"
enum="CertificateErrorReportEvent" expires_after="M81">
<owner>meacer@chromium.org</owner>
<summary>
Users can opt in to send reports of certificate validation errors to Google.
This records the outcome whenever Chrome sends such a report.
Some certificate validation reports might not be received because proxies,
firewalls or other content filters might filter report uploads.
</summary>
</histogram>
<histogram name="SSL.CertificateErrorReportFailure" enum="NetErrorCodes"
expires_after="M81">
<owner>estark@chromium.org</owner>
<summary>
Users can opt in to send reports of certificate validation errors to Google.
This records the error code whenever Chrome fails to send such a report.
</summary>
</histogram>
<histogram name="SSL.ExpectCTReportFailure2" enum="NetErrorCodes"
expires_after="M77">
<owner>estark@chromium.org</owner>
<summary>
Sites can opt in to Expect CT, a reporting feature that sends a report
whenever a TLS connection does not have valid Certificate Transparency
information associated with it. This records the error code when Chrome
fails to send an Expect CT report.
</summary>
</histogram>
<histogram name="SSL.ExpectCTReportSendingAttempt" units="units"
expires_after="M77">
<owner>estark@chromium.org</owner>
<summary>
Sites can opt in to Expect CT, a reporting feature that sends a report
whenever a TLS connection does not have valid Certificate Transparency
information associated with it. This metric fires whenever Chrome attempts
to send an Expect CT report.
</summary>
</histogram>
<histogram name="SSL.InsecureContent" enum="InsecureContentType"
expires_after="2020-02-23">
<owner>estark@chromium.org</owner>
<summary>
Keeps track of various insecure content events, such as loading an HTTP
script from an HTTPS page.
</summary>
</histogram>
<histogram name="SSL.MixedContentShown" enum="MixedContentType"
expires_after="2021-08-22">
<obsolete>
Replaced by SSL.MixedContentShown2, which does not log the *WithCertErrors
buckets when the main frame load also has certificate errors. Removed in
03/2021.
</obsolete>
<owner>carlosil@chromium.org</owner>
<summary>Tracks when mixed content is displayed or run.</summary>
</histogram>
<histogram name="SSL.MixedContentShown2" enum="MixedContentType"
expires_after="2021-08-22">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Tracks when mixed content is loaded, differentiated by blockable,
optionally-blockable mixed content, and mixed forms. Also tracks when a site
with a valid certificate loads a subresource with an invalid certificate.
Replaced SSL.MixedContentShown.
</summary>
</histogram>
<histogram name="SSL.NonWebbyMixedContentLoaded" enum="Boolean"
expires_after="2020-12-01">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Tracks when mixed content is loaded from a &quot;non-webby&quot; URL, e.g.
an external protocol. The security of such URLs is unknown, but they are
exempt from mixed content UI treatment because they don't usually return
data to the browser. This histogram tracks how often such content is loaded
so that we can decide whether to block such resources unless an enterprise
policy is enabled.
</summary>
</histogram>
<histogram name="SSORecallPromo.AccountsAvailable" units="units"
expires_after="2022-04-20">
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Number of accounts available for Single Sign On with the current device,
recorded at the time the SSO Promo is shown.
</summary>
</histogram>
<histogram name="SSORecallPromo.PromoAction" enum="SSOPromoUserAction"
expires_after="2022-04-20">
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Action the user takes when the Single Sign On promotion is shown.
</summary>
</histogram>
<histogram name="SSORecallPromo.PromoSeenCount" units="units"
expires_after="2022-04-20">
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Number of times the promotion has been seen on the current device.
</summary>
</histogram>
<histogram name="StackSamplingProfiler.MetadataSlotsUsed" units="counts"
expires_after="2021-01-12">
<owner>charliea@chromium.org</owner>
<owner>wittman@chromium.org</owner>
<summary>
The number of sample metadata item slots used after successfully setting a
metadata item. This count reflects both active and inactive metadata items.
</summary>
</histogram>
<histogram name="Style.InvalidationTime" units="microseconds"
expires_after="2021-10-10">
<owner>futhark@chromium.org</owner>
<summary>
Microseconds spent in StyleEngine::InvalidateStyle. Only samples from high
resolution timers are recorded.
</summary>
</histogram>
<histogram name="Style.RebuildLayoutTreeTime" units="microseconds"
expires_after="2021-10-10">
<owner>futhark@chromium.org</owner>
<summary>
Microseconds spent in RebuildLayoutTree called from Document::UpdateStyle.
</summary>
</histogram>
<histogram name="Style.RecalcTime" units="microseconds"
expires_after="2021-10-10">
<owner>futhark@chromium.org</owner>
<summary>
Microseconds spent in RecalcStyle called from Document::UpdateStyle.
</summary>
</histogram>
<histogram name="SubresourceWebBundles.ContentLength" units="bytes"
expires_after="M94">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The value of content length header of a subresource web bundle, or zero if
the content-length header is missing.
</summary>
</histogram>
<histogram name="SubresourceWebBundles.LoadResult"
enum="SubresourceWebBundleLoadResult" expires_after="M94">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>The result of loading subresource web bundles.</summary>
</histogram>
<histogram name="SubresourceWebBundles.MaxMemoryUsagePerProcess" units="bytes"
expires_after="M94">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The max memory usage per renderer process for subresource web bundles which
are kept in the network process's memory. Recorded when all the subresource
web bundles for the renderer process are released.
</summary>
</histogram>
<histogram name="SubresourceWebBundles.ReceivedSize" units="bytes"
expires_after="M94">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The received data size of a subresource web bundle. Recorded when received
all the body of the subresource web bundle.
</summary>
</histogram>
<histogram name="Suggestions.FailedRequestErrorCode" enum="NetErrorCodes"
expires_after="2020-02-23">
<owner>mathp@chromium.org</owner>
<summary>
The counts of network error codes encountered by SuggestionsService when an
attempt to fetch suggestions from the server fails.
</summary>
</histogram>
<histogram name="Suggestions.FetchResponseCode" enum="HttpResponseCode"
expires_after="2020-05-31">
<owner>mathp@chromium.org</owner>
<summary>
The counts of HTTP response codes encountered by SuggestionsService when
attempting to fetch suggestions from the server.
</summary>
</histogram>
<histogram name="Suggestions.FetchSuccessLatency" units="ms"
expires_after="M81">
<owner>mathp@chromium.org</owner>
<summary>
The latency of a SuggestionsService fetch that results in a success
response.
</summary>
</histogram>
<histogram name="Suggestions.LocalBlacklistSize" units="URLcount"
expires_after="M77">
<obsolete>
Removed some time before 10/2020.
</obsolete>
<owner>siggi@chromium.org</owner>
<summary>
Number of URLs present in the Suggestions local blacklist when the
Suggestions service is created.
</summary>
</histogram>
<histogram name="Suggestions.ResponseState" enum="SuggestionsResponseState"
expires_after="M77">
<owner>mathp@chromium.org</owner>
<summary>
The counts of response states (such as empty or invalid) encountered by
SuggestionsService when attempting to fetch suggestions from the server.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionEnablement"
enum="SupervisedUserExtensionEnablement" expires_after="2021-09-19">
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records supervised users trying to enable or disable extensions. Enabled
count increments when the supervised user successfully enables an extension.
Disabled count increments when the supervised user successfully disables an
extension. Enable attempt failed count increments when the parent has turned
off the &quot;Permissions for sites, apps and extensions&quot; toggle and
the supervised user tries to enable an extension that requires custodian
approval or has a permissions increase.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionInstallDialog"
enum="SupervisedUserExtensionInstallDialog" expires_after="2021-09-05">
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records the actions of supervised users on the Extension Install Dialog.
Opened count increments when the supervised user tries to install an
extension from the Chrome Web Store and launches the Extension Install
Dialog. Asked Parent count increments when the supervised user clicks
&quot;Ask a parent&quot;. Child Canceled count increments when the
supervised user clicks &quot;Cancel&quot;.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionInstallDialog.AskedParentUserTime"
units="ms" expires_after="2021-09-05">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds for the child user to click the
&quot;Ask a parent&quot; button on the Extension Install Dialog.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionInstallDialog.ChildCanceledUserTime"
units="ms" expires_after="2021-09-05">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds for the child user to click the
&quot;Cancel&quot; button on the Extension Install Dialog.
</summary>
</histogram>
<histogram name="SupervisedUsers.Extensions2" enum="SupervisedUserExtension2"
expires_after="2022-05-02">
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records the progress of supervised users as they try to install Chrome
extensions. Extension Approval Granted count increments when the custodian
initially grants approval to install the extension. Permissions Increase
Granted count increments when the supervised user approves a newer version
of an existing extension with increased permissions. Extension Approval
Removed count increments when the supervised user removes an extension.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionsMayRequestPermissions"
enum="BooleanEnabled" expires_after="2021-09-12">
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records the state of the &quot;Permissions for sites, apps and
extensions&quot; toggle. When parents/custodians have the toggle enabled,
supervised users may install extensions with parent/custodian approval, and
can approve permission updates by themselves. Otherwise, supervised users
cannot install extensions and cannot approve permission updates. If the
toggle is disabled and an extension has permissions updates, the extension
would remain force-disabled. The Disabled count increments when the parent
flips the toggle off, and increments twice if the supervised user logs in
while the toggle is in the off state. The Enabled count increments when the
parent flips the toggle on, and increments twice if the supervised user logs
in while the toggle is in the on state. While the double counting upon
logging in is less than ideal, at least the counts are balanced relative to
each other.
</summary>
</histogram>
<histogram name="SupervisedUsers.ParentPermissionDialog"
enum="SupervisedUserParentPermissionDialog" expires_after="2021-09-05">
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records the actions of parents on the Parent Permission Dialog. Opened count
increments when the Parent Permission Dialog first opens. Parent Approved
count increments when the parent successfully types their password and
approves the extension. Parent Canceled count increments when the parent
cancels the dialog, denying the supervised user's attempt to enable the
extension. Failed count increments when there was some sort of failure in
the Parent Permission Dialog. No Parent Error count increments when the
supervised user doesn't have any associated parent email addresses for
asking approval. Note that this error also increments the Failed count.
</summary>
</histogram>
<histogram name="SupervisedUsers.ParentPermissionDialog.FailedUserTime"
units="ms" expires_after="2021-05-02">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds after opening for the Parent
Permission Dialog to fail due to various reasons.
</summary>
</histogram>
<histogram name="SupervisedUsers.ParentPermissionDialog.ParentApprovedUserTime"
units="ms" expires_after="2021-05-02">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds for the parent to successfully
type their password and approve the extension.
</summary>
</histogram>
<histogram name="SupervisedUsers.ParentPermissionDialog.ParentCanceledUserTime"
units="ms" expires_after="2021-08-01">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds for the parent to cancel the
Parent Permission Dialog.
</summary>
</histogram>
<histogram name="SupervisedUsers.PerAppTimeLimits.AppsWithTimeLimit"
units="Apps" expires_after="2021-09-19">
<owner>agawronska@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The count of applications with time limit set by parents. Recorded once per
PerAppTimeLimit policy change.
</summary>
</histogram>
<histogram name="SupervisedUsers.PerAppTimeLimits.BlockedAppsCount"
units="Apps" expires_after="2021-09-12">
<owner>agawronska@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The count of applications blocked by parents. It only applies to ARC++
applications. Recorded once per PerAppTimeLimit policy change.
</summary>
</histogram>
<histogram name="SupervisedUsers.PerAppTimeLimits.Engagement" units="Apps"
expires_after="2021-09-19">
<owner>agawronska@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Per-App Time Limits feature engagement measured by the number of apps with
time limits set for child user. Reported at the beginning of each user
session.
</summary>
</histogram>
<histogram name="SupervisedUsers.PerAppTimeLimits.PolicyChangeCount"
units="Changes" expires_after="2021-09-19">
<owner>agawronska@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The total number of PerAppTimeLimits policy changes seen in a session.
Recorded once at the end of the session.
</summary>
</histogram>
<histogram name="Supervision.ParentAccessCode.Action"
enum="ParentAccessCodeAction" expires_after="2021-10-15">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Action originated in parent access code dialog. Logged every time the action
happens.
</summary>
</histogram>
<histogram name="Supervision.ParentAccessCode.Usage"
enum="ParentAccessCodeUsage" expires_after="2021-10-15">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The context in which parent access code was used. Logged every time the new
parent access dialog is shown.
</summary>
</histogram>
<histogram name="Supervision.ParentAccessCode.ValidationResult.{Action}"
enum="ParentAccessCodeValidationResult" expires_after="2022-03-17">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The result of the parent access code validation for {Action} action. Logged
every time the code is validated from the parent access dialog.
</summary>
<token key="Action">
<variant name="AddUser"/>
<variant name="All"/>
<variant name="ClockChange"/>
<variant name="Reauth"/>
<variant name="TimeLimits"/>
<variant name="TimezoneChange"/>
</token>
</histogram>
<histogram name="Supervision.StatusReport.Event"
enum="SupervisionStatusReportEvent" expires_after="M85">
<owner>escordeiro@google.com</owner>
<owner>brunoad@google.com</owner>
<owner>ldaguilar@google.com</owner>
<summary>
The event that triggered status report for supervised account.
</summary>
</histogram>
<histogram name="SyncFileSystem.ConflictResolutionPolicy"
enum="SyncFSConflictResolutionPolicy" expires_after="M85">
<owner>tzik@chromium.org</owner>
<summary>
Overridden conflict resolution policy of Sync FileSystem API. Recorded for
each API call to override the policy.
</summary>
</histogram>
<histogram name="SyncFileSystem.Database.Open" enum="LevelDBStatus"
expires_after="M77">
<owner>tzik@chromium.org</owner>
<summary>The result of opening the Sync FileSystem backend database.</summary>
</histogram>
<histogram name="SyncFileSystem.MetadataNumber" units="units"
expires_after="M85">
<owner>tzik@chromium.org</owner>
<summary>
The number of cached backing remote file metadata in the Sync FileSystem
database. Recorded at the initialization phase of Sync FileSystem.
</summary>
</histogram>
<histogram name="SyncFileSystem.RegisteredAppNumber" units="units"
expires_after="M85">
<owner>tzik@chromium.org</owner>
<summary>
The number of Chrome Apps that uses Sync FileSystem with V2 backend.
Recorded at the initialization phase of Sync FileSystem.
</summary>
</histogram>
<histogram name="SyncFileSystem.RegisterOriginResult"
enum="SyncFSRemoteServiceState" expires_after="2018-08-30">
<owner>tzik@chromium.org</owner>
<summary>
The result of the registration of Chrome App to Sync FileSystem.
</summary>
</histogram>
<histogram name="SyncFileSystem.RegisterOriginTime" units="ms"
expires_after="M77">
<owner>peria@chromium.org</owner>
<owner>tzik@chromium.org</owner>
<summary>
Time elapsed to register a Chrome App to SyncFilesystem. Recorded for each
registration request by apps.
</summary>
</histogram>
<histogram name="SyncFileSystem.TrackerDB.Open" enum="LevelDBStatus"
expires_after="2018-08-30">
<owner>tzik@chromium.org</owner>
<summary>The result of opening the Sync FileSystem tracker database.</summary>
</histogram>
<histogram name="SyncFileSystem.TrackerNumber" units="units"
expires_after="M85">
<owner>tzik@chromium.org</owner>
<summary>
The number of the directory tree node that maps backing files to local files
in the Sync FileSystem database. Recorded at the initialization phase of
SyncFileSystem.
</summary>
</histogram>
<histogram name="Tablet.AppDrag.EndWindowState"
enum="AppWindowDragEndWindowState" expires_after="2021-10-10">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
Drag an app window from top in tablet mode will result in different window
states. Logged when the app drag ended to record the window end state.
</summary>
</histogram>
<histogram name="Tablet.AppWindowDrag.CountOfPerUserSession" units="times"
expires_after="2021-06-01">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of the action that drag an app window from top in tablet mode.
Logged when the TabletModeController is destructed, which means the user
session is ended.
</summary>
</histogram>
<histogram name="Tablet.AppWindowDrag.InSplitView.CountOfPerUserSession"
units="times" expires_after="2021-10-04">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of the action that drag an app window from top in tablet mode
when splitview is active. Logged when the TabletModeController is
destructed, which means the user session is ended.
</summary>
</histogram>
<histogram name="Tablet.CountOfVolumeAdjustType" units="numbers"
expires_after="2021-12-20">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of each volume adjust type in tablet mode. Logged when starts
volume adjust while in tablet mode.
</summary>
</histogram>
<histogram name="Tablet.TabDrag.CountOfPerUserSession" units="times"
expires_after="2021-10-04">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of the action that drag a tab of the browser window in tablet
mode. Logged when the TabletModeController is destructed, which means the
user session is ended.
</summary>
</histogram>
<histogram name="Tablet.TabDrag.DragType" enum="TabDragType"
expires_after="2021-10-04">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The type of a tab drag done in tablet mode. Logged when start to drag a tab
of the browser window in tablet mode.
</summary>
</histogram>
<histogram name="Tablet.TabDrag.InSplitView.CountOfPerUserSession"
units="times" expires_after="2021-10-04">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of the action that drag a tab of the browser window in tablet
mode when splitview is active. Logged when the TabletModeController is
destructed, which means the user session is ended.
</summary>
</histogram>
<histogram name="Tablet.WindowDrag.DragEndEventType"
enum="WindowDragEndEventType" expires_after="2021-10-04">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The type of the window (app window or tab strip) drag end event in tablet
mode. Logged when the window drag in tablet mode ended.
</summary>
</histogram>
<histogram name="Tablet.WindowDrag.OpenedWindowsNumber" units="numbers"
expires_after="2021-06-01">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of windows in overview when dragging a window from top in tablet
mode. Logged when start the window drag and overview has been opened behind.
</summary>
</histogram>
<histogram name="TaskQueueManager.ActiveQueuesCount" units="units"
expires_after="M85">
<owner>altimin@chromium.org</owner>
<owner>farahcharab@chromium.org</owner>
<summary>
Used to track the number of active task queues in the task queue manager.
Reported every time a task is selected for execution.
</summary>
</histogram>
<histogram name="TaskQueueSelector.TaskServicedPerSelectorLogic"
enum="TaskQueueSelectorLogic" expires_after="M85">
<owner>altimin@chromium.org</owner>
<owner>farahcharab@chromium.org</owner>
<summary>
Used to track the number of tasks serviced due to starvation versus the
number of tasks serviced due to priroity. Incremented whenever a task queue
is selected to service.
</summary>
</histogram>
<histogram name="TextFragmentAnchor.ElementIdFragmentFound" enum="Boolean"
expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
Whether an element-id based fragment was found in the document. Counted only
when a fragment was specified and it wasn't parsed into a |targetText| style
anchor.
</summary>
</histogram>
<histogram name="TextFragmentAnchor.LinkOpenSource"
enum="TextFragmentLinkOpenSource" expires_after="2021-09-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Recorded for every navigation to a link with a valid text fragment selector
(e.g. #:=:text=SELECTOR). Indicates source type that navigation originated
from. It only know about search engines that come from the pre-populated
list installed with Chrome. If the user uses a search engine not on the
list, it will be recorded as Unknown. This is even true if the user have a
custom search engine. These custom search engines can be created by hand or
auto-generated. In either case, it's not going to count as a search engine.
Also, it only checks to see if the *referrer* is from a domain associated
with search engine. If someone posts a link somewhere on a web site that
happens to have a search engine known to Google and that links includes the
fragment tokens, then if a user clicks that link, it'll look like it came
from a search engine even thought they did not.
</summary>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.AmbiguousMatch"
enum="Boolean" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
Whether we found multiple matches for a selector. Recorded when
TextFragmentAnchor finishes searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.DidScrollIntoView"
enum="Boolean" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
Whether the page did a non-zero scroll in order to scroll the match into
view. Only recorded if we found a match and scrolled it into view. Recorded
when TextFragmentAnchor finishes searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.DirectiveLength"
units="characters" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
The raw length of the directive in the URL (e.g. spaces count as the three
characters '%20'), regardless of how many text= terms there are. Recorded if
there was a text directive, regardless of whether a match was found.
Recorded when TextFragmentAnchor finishes searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.EndTextLength"
units="characters" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
The length of the end parameter, in the case of a range match. Only recorded
if a match was found. Recorded when TextFragmentAnchor finishes searching
once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.ExactTextLength"
units="characters" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
The length of the matched text, in the case of an exact match. Only recorded
if a match was found. Recorded when TextFragmentAnchor finishes searching
once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.ListItemMatch"
units="Boolean" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
Whether the match was within a list item. Only recorded for exact text
fragments and only if a match was found. Recorded when TextFragmentAnchor
finishes searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.MatchRate" units="%"
expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
The percentage of selectors for which a match was found in the document.
Recorded when TextFragmentAnchor finishes searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.Parameters"
enum="TextFragmentAnchorParameters" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
An enum indicating which parameters were specified in the text fragment
anchor. Only recorded if a match was found. Recorded when TextFragmentAnchor
finishes searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.RangeMatchLength"
units="characters" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
The length of the matched text, in the case of a range match. Only recorded
if a match was found. Recorded when TextFragmentAnchor finishes searching
once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.ScrollCancelled"
enum="Boolean" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
Whether the scroll into view was cancelled by a user gesture or programmatic
scroll. Recorded when TextFragmentAnchor finishes searching once the page is
loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.SelectorCount"
units="selectors" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
The number of selectors in the text fragment anchor if it is present.
Recorded when TextFragmentAnchor finishes searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.SpansMultipleBlocks"
units="Boolean" expires_after="2021-12-31">
<owner>bokan@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Whether or not a range-based text fragment match crosses any block
boundaries. That is, the start and end of the range are in different blocks
or in the same block but contain an intervening block. Only recorded for
range-based (start,end) text fragments. Only recorded on successful match.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.StartTextLength"
units="characters" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
The length of the start parameter, in the case of a range match. Only
recorded if a match was found. Recorded when TextFragmentAnchor finishes
searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.TableCellMatch"
units="Boolean" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
Whether the match was within a table cell. Only recorded for exact text
fragments and only if a match was found. Recorded when TextFragmentAnchor
finishes searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.TimeToScrollIntoView"
units="ms" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
The time between creating the TextFragmentAnchor (i.e. when it is parsed)
and scrolling the target into view. Only recorded if there is a match and we
scroll it into view. Recorded when TextFragmentAnchor finishes searching
once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="TextFragmentAnchor{TextFragmentSource}.TimeToScrollToTop"
units="ms" expires_after="2021-12-31">
<owner>nburris@chromium.org</owner>
<owner>bokan@chromium.org</owner>
<summary>
The time between scrolling a match into view and the user scrolling back to
the top of the page. Used as a signal for whether a match was useful. Only
recorded if a match is scrolled into view and the user subsequently scrolled
back to the top of the page. Recorded when TextFragmentAnchor finishes
searching once the page is loaded.
Recorded from text fragment links followed from {TextFragmentSource}.
</summary>
<token key="TextFragmentSource" variants="TextFragmentSource"/>
</histogram>
<histogram name="ThirdPartyModules.Certificates.Microsoft" units="certificates"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of certificates for modules loaded (or potentially loaded)
into the browser process that are signed by Microsoft. A catalog counts as a
single certificate, and may refer to many modules. Measured shortly after
startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Certificates.Total" units="certificates"
expires_after="2019-12-31">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of certificates for modules loaded (or potentially loaded)
into the browser process. A catalog counts as a single certificate, and may
refer to many modules. Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.GetDriveLetterPathFound" enum="BooleanFound"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether an equivalent driver letter path was found for a device
path.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Heartbeat.BlockedModulesCount"
units="modules" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the number of modules that were blocked from loading into the
browser process by the third-party DLL blocking feature. This is recorded
every 5 minutes.
</summary>
</histogram>
<histogram
name="ThirdPartyModules.Heartbeat.PrintingWorkaround.BlockingEnabled"
enum="BooleanEnabled" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether or not Chrome is still blocking third-party DLLs. This is a
bit that turns to false when the in-process printing is invoked. Recorded
every 5 minutes.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Heartbeat.UniqueBlockedModulesCount"
units="modules" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the number of unique modules that were blocked from loading into the
browser process by the third-party DLL blocking feature. This is recorded
every 5 minutes.
</summary>
</histogram>
<histogram name="ThirdPartyModules.InputMethodEditorsCount" units="counts"
expires_after="M77">
<owner>pmonette@chromium.org</owner>
<summary>
The number of registered input method editors found on the user's machine.
This is emitted shortly after startup when the IME enumeration takes place.
</summary>
</histogram>
<histogram name="ThirdPartyModules.InstalledApplications.GetDataTime"
units="ms" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the time it took to gather the list of installed third-party
programs and their install location or components.
</summary>
</histogram>
<histogram name="ThirdPartyModules.InstalledApplications.GotUserSidString"
enum="BooleanSuccess" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether retrieving the current user SID was successful.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Loaded" units="modules"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of third-party modules (neither Microsoft nor Google) that
are loaded in the browser process. Measured shortly after startup. Windows
only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.NotLoaded" units="modules"
expires_after="2019-12-31">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of third-party modules (neither Microsoft nor Google) that
are not yet loaded in the browser process, but may potentially be (shell
extensions, for example). Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Signed" units="modules"
expires_after="2019-12-31">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of signed modules loaded (or potentially loaded) into the
browser process. Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Signed.Catalog" units="modules"
expires_after="2019-12-31">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of modules loaded (or potentially loaded) into the browser
process that are signed via a catalog. Measured shortly after startup.
Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Signed.Microsoft" units="modules"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of modules loaded (or potentially loaded) into the browser
process that are signed by Microsoft. Measured shortly after startup.
Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Total" units="modules"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of modules loaded (or potentially loaded) into the browser
process. Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Unsigned" units="modules"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of unsigned modules loaded (or potentially loaded) into the
browser process. Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.ShellExtensionsCount3" units="counts"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The number of registered shell extensions found on the user's machine. This
is emitted shortly after startup when the shell extensions enumeration is
done. Doesn't count duplicates.
</summary>
</histogram>
<histogram name="ThirdPartyModules.TimeDateStampObtained" enum="BooleanSuccess"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Indicates whether the TimeDateStamp for a loaded module was successfully
obtained.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Uninstallable" enum="BooleanUninstallable"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether or not a loaded third party module could be uninstalled
using the Windows Apps &amp; Features page.
</summary>
</histogram>
<histogram name="ThreadWatcher.ResponseTime" units="ms"
expires_after="2022-05-11">
<owner>dschinazi@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
The time it takes indicated thread to respond with a pong message for a ping
message from WatchDog thread.
</summary>
</histogram>
<histogram name="ThreadWatcher.ResponsiveThreads" units="units"
expires_after="2022-05-11">
<owner>dschinazi@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
This is the total number of watched threads that are responding when we got
no response from the watched thread.
</summary>
</histogram>
<histogram name="ThreadWatcher.Unresponsive" units="ms"
expires_after="2022-05-11">
<owner>dschinazi@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
This is the total unresponsive time since last pong message for the
indicated thread when we got no response from the watched thread.
</summary>
</histogram>
<histogram name="ThreadWatcher.UnresponsiveThreads" units="units"
expires_after="2022-05-11">
<owner>dschinazi@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
This is the total number of watched threads that are not responding when we
got no response from the watched thread.
</summary>
</histogram>
<histogram name="Thumbnails.CopyFromSurfaceTime" units="ms" expires_after="M90">
<obsolete>
Removed 01/2021.
</obsolete>
<owner>dfried@chromium.org</owner>
<owner>pbos@chromium.org</owner>
<summary>
While taking a screenshot of the current tab for use as a thumbnail, the
time it took to copy the tab's contents into a bitmap.
</summary>
</histogram>
<histogram name="Thumbnails.Gradient.ImageDetectionTime" units="ms"
expires_after="M84">
<owner>carlosk@chromium.org</owner>
<owner>skym@chromium.org</owner>
<summary>
The time it takes to detect whether a thumbnail requires a gradient overlay.
This is run when thumbnails are downloaded for content suggestions, as they
load and the result is cached for future use. It is Android specific.
</summary>
</histogram>
<histogram name="Thumbnails.Gradient.ImageRequiresGradient" enum="Boolean"
expires_after="M84">
<owner>carlosk@chromium.org</owner>
<owner>skym@chromium.org</owner>
<summary>
Whether a thumbnail used for a suggestions image requires a gradient to be
overlaid to not fade into the background. It applies to the thumbnails used
for content suggestions and is Android specific.
</summary>
</histogram>
<histogram name="Thumbnails.ProcessBitmapTime" units="ms" expires_after="M90">
<obsolete>
Removed 01/2021.
</obsolete>
<owner>dfried@chromium.org</owner>
<owner>pbos@chromium.org</owner>
<summary>
While taking a screenshot of the current tab for use as a thumbnail, the
time it took to post-process the captured bitmap.
</summary>
</histogram>
<histogram name="TileManager.ExceededMemoryBudget" enum="TileMemoryBudget"
expires_after="2021-08-22">
<owner>pdr@chromium.org</owner>
<owner>vmpstr@chromium.org</owner>
<summary>
Measures whether the tile manager exceeded the hard GPU memory budget
(OOMed). Recorded each time the tile manager assigns GPU memory to tiles.
</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.Event" enum="TimeZoneRequestEvent"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>Events in TimeZoneRequest.</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.ResponseCode" enum="HttpResponseCode"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>Http response codes in TimeZoneRequest.</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.ResponseFailureTime" units="ms"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>
The time elapsed between the sending of the first API request and the time
the final (failed) response was recorded. Includes all retries.
</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.ResponseSuccessTime" units="ms"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>
The time elapsed between the sending of the first API request and the time
the final (successfull) response was recorded. Includes all retries.
</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.Result" enum="TimeZoneRequestResult"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>Result of TimeZoneRequest.</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.Retries" units="units"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>Number of retries until the final response was recorded.</summary>
</histogram>
<histogram name="Toolbar.ChromeLabs.{State}LabAction"
enum="ChromeLabsSelectedLab" expires_after="M96">
<owner>elainechien@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Chrome Labs features user-facing experiments through a button in the
toolbar.
This metric tracks which experiment (also called lab in the context of
Chrome Labs) a user selects {State} for. This histogram is emitted to when
{State} is selected in the combobox of the ChromeLabs dialog.
</summary>
<token key="State">
<variant name="Default" summary="Default state selected for lab"/>
<variant name="Disable" summary="Disabled state selected for lab"/>
<variant name="Enable" summary="Enabled state selected for lab"/>
</token>
</histogram>
<histogram name="Toolbar.Menu.NewIncognitoTabPresentationDuration" units="ms"
expires_after="M85">
<owner>peterlaurens@chromium.org</owner>
<summary>
The number of millseconds between the user requesting a new incognito tab,
e.g. by tapping the New Incognito Tab entry in the main tools menu, and it
completing its animation on screen.
</summary>
</histogram>
<histogram name="Toolbar.ShowToolsMenuResponsiveness" units="ms"
expires_after="M77">
<owner>peterlaurens@chromium.org</owner>
<summary>
Number of milliseconds passed between the event that triggers the
presentation of the tools menu (the main menu of actions accessed from the
toolbar), and the actual appearance of the menu on screen. Includes the
animation duration.
</summary>
</histogram>
<histogram name="Toolbar.TabSwitcher.NewIncognitoTabPresentationDuration"
units="ms" expires_after="M85">
<owner>peterlaurens@chromium.org</owner>
<summary>
The number of millseconds between the user requesting a new incognito tab,
from within the tab switcher, e.g. by tapping the New Tab button from the
tab switcher UI, and it completing its animation on screen.
</summary>
</histogram>
<histogram name="Toolbar.TabSwitcher.NewTabPresentationDuration" units="ms"
expires_after="M85">
<owner>peterlaurens@chromium.org</owner>
<summary>
The number of millseconds between the user requesting a new tab, from within
the tab switcher UI, e.g. by tapping the New Tab button from the tab
switcher UI, and it completing its animation on screen.
</summary>
</histogram>
<histogram name="TouchBar.Default.Metrics" enum="DefaultTouchBarActions"
expires_after="2021-08-22">
<owner>ellyjones@chromium.org</owner>
<owner>chrome-mac-dev@google.com</owner>
<summary>Tracks the usage of the default touch bar buttons.</summary>
</histogram>
<histogram name="Touchpad.Acceleration.Changed" enum="BooleanEnabled"
expires_after="M87">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks touchpad acceleration setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.Acceleration.Started" enum="BooleanEnabled"
expires_after="M87">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks touchpad acceleration setting on startup. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.Device" enum="TouchpadDeviceState"
expires_after="M85">
<owner>jhawkins@chromium.org</owner>
<summary>Tracks touchpad device state.</summary>
</histogram>
<histogram name="Touchpad.NaturalScroll.Changed" enum="BooleanEnabled"
expires_after="2021-09-19">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad natural scroll setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.NaturalScroll.Started" enum="BooleanEnabled"
expires_after="2021-09-19">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad natural scroll setting on startup. Only reported on Chrome
OS.
</summary>
</histogram>
<histogram name="Touchpad.PointerSensitivity.Changed" enum="PointerSensitivity"
expires_after="2021-07-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad sensitivity setting changes by the user. This replaces the
old Touchpad.Sensitivity.Changed metric. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.PointerSensitivity.Started" enum="PointerSensitivity"
expires_after="2021-09-19">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad sensitivity setting on startup. This replaces the old
Touchpad.Sensitivity.Started metric. Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="Touchpad.ScrollAcceleration" enum="BooleanEnabled"
expires_after="2020-12-01">
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>khorimoto@chromium.org</owner>
<owner>zentaro@chromium.org</owner>
<summary>
Whether touchpad scroll acceleration is enabled. Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="Touchpad.ScrollSensitivity"
enum="PointerSensitivity" expires_after="2020-12-01">
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>khorimoto@chromium.org</owner>
<owner>zentaro@chromium.org</owner>
<summary>
Touchpad scroll sensitivity value. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.TapDragging.Changed" enum="BooleanEnabled"
expires_after="2021-07-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad TapDragging setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.TapDragging.Started" enum="BooleanEnabled"
expires_after="2021-07-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad TapDragging setting on startup. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.TapToClick.Changed" enum="BooleanEnabled"
expires_after="2021-09-19">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad TapToClick setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.TapToClick.Started" enum="BooleanEnabled"
expires_after="2021-09-19">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad TapToClick setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="TouchScreen.MissedTOUCHEVENTF_UP" enum="BooleanHit"
expires_after="M95">
<owner>girard@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Recorded when a touch event excludes an active touch (a touch-id/dwId that
previously generated a TOUCHEVENTF_DOWN, and has not since generated a
TOUCHEVENTF_UP). Chromium generates a simulated event to maintain
consistency/correctness. Only recorded on Windows.
This workaround will be removed once usage drops off. See
https://crbug.com/811273 for details.
</summary>
</histogram>
<histogram name="Touchscreen.TouchEventsEnabled"
enum="TouchEventFeatureDetectionState" expires_after="M77">
<owner>flackr@chromium.org</owner>
<summary>
Tracks whether Touch Event Feature Detection is enabled. This is based on
the touch events enabled flag and the presence of a touchscreen.
Team: input-dev@chromium.org.
</summary>
<details>
NOTE: This metric was incorrectly recorded on Chrome OS for versions 42
through 45, see http://crbug.com/499476 for more details. As of
http://crbug.com/644318, we changed the internal name to
TouchEventFeatureDetection, but we still keep the old histogram name here to
keep consistensy.
</details>
</histogram>
<histogram name="TPM.EarlyResetDuringCommand" units="count"
expires_after="2021-12-21">
<owner>apronin@chromium.org</owner>
<owner>mnissler@chromium.org</owner>
<owner>cros-hwsec+uma@chromium.org</owner>
<summary>
Reported at boot if the previous boot session was interrupted in the middle
of a TPM command during the first 30 seconds of uptime.
</summary>
</histogram>
<histogram name="Tracing.Background.FinalizationDisallowedReason"
enum="TracingFinalizationDisallowedReason" expires_after="2021-10-10">
<owner>ssid@chromium.org</owner>
<summary>
Reason why background tracing finalization was not allowed. Also see
&quot;Tracing.Background.ScenarioState&quot; metric, which records the total
number of times finalization was allowed and not allowed.
</summary>
</histogram>
<histogram name="Tracing.Background.FinalizingTraceSizeInKB" units="KB"
expires_after="2021-10-04">
<owner>oysteine@chromium.org</owner>
<summary>
The size, in kilobytes, of a finalized trace ready to be uploaded.
</summary>
</histogram>
<histogram name="Tracing.Background.NetworkConnectionTypeWhenStarted"
enum="NetworkConnectionType" expires_after="2021-02-21">
<owner>ssid@chromium.org</owner>
<summary>
Connection type of the network used to determine the trace buffer size, when
background tracing was triggered. Recorded only on Android.
</summary>
</histogram>
<histogram name="Tracing.Background.NetworkConnectionTypeWhenUploaded"
enum="NetworkConnectionType" expires_after="2020-12-20">
<owner>ssid@chromium.org</owner>
<summary>
Connection type of the network used to determine the trace upload limit,
when background tracing upload was started. Recorded only on Android.
</summary>
</histogram>
<histogram name="Tracing.Background.ScenarioState"
enum="BackgroundTracingState" expires_after="2021-10-17">
<owner>oysteine@chromium.org</owner>
<summary>
Records state of the Background Tracing system, from when scenarios are
attempted to be activated until they're completed (successfully or failed)
</summary>
</histogram>
<histogram name="Tracing.ProducerHostInitializationResult"
enum="TracingProducerHostInitializationResult" expires_after="2021-12-09">
<owner>eseckler@chromium.org</owner>
<owner>tracing@chromium.org</owner>
<summary>
Whenever a producer connects to the tracing service, records the
success/failure result of the connection.
</summary>
</histogram>
<histogram name="Tracing.SharedBufferIsValid" enum="BooleanSuccess"
expires_after="2021-09-19">
<owner>eseckler@chromium.org</owner>
<owner>tracing@chromium.org</owner>
<summary>
Records success or failure of creating the shared buffer in
ProducerClient::InitSharedMemoryIfNeeded()
</summary>
</histogram>
<histogram name="TrustedWebActivity.ClearDataDialogOnClearAppDataAccepted"
enum="Boolean" expires_after="M92">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Emits true if the user went to site settings from the dialog that is shown
after a Trusted Web Activity client app has had its data cleared.
</summary>
</histogram>
<histogram name="TrustedWebActivity.ClearDataDialogOnUninstallAccepted"
enum="Boolean" expires_after="M92">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Emits true if the user went to site settings from the dialog that is shown
after a Trusted Web Activity client app has been uninstalled.
</summary>
</histogram>
<histogram name="TrustedWebActivity.DelegatedNotificationSmallIconFallback"
enum="TrustedWebActivityDelegatedNotificationSmallIconFallback"
expires_after="M92">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Logs which kind of fallback for notification small icon was used for Trusted
Web Activity notification delegation.
</summary>
</histogram>
<histogram name="TrustedWebActivity.LocationDelegationEnrolled" enum="Boolean"
expires_after="2021-06-30">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
When a site running in Truested Web Activity is accessing geolocation,
records whether the last tracked focused Trusted Web Activity client app
enrolled location delegation.
</summary>
</histogram>
<histogram name="TrustedWebActivity.LocationPermissionChanged"
enum="TrustedWebActivityPermissionChanged" expires_after="2021-06-30">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
When a Trusted Web Activity client app's location permission is changed,
record the previous state and new stase.
</summary>
</histogram>
<histogram name="TrustedWebActivity.LocationPermissionRequestIsGranted"
enum="Boolean" expires_after="2021-06-30">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
Records the boolean result (granted or not) from requesting a Trusted Web
Activity client app's location permission.
</summary>
</histogram>
<histogram name="TrustedWebActivity.LocationUpdateErrorCode"
enum="TrustedWebActivityLocationErrorCode" expires_after="2021-06-30">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
Records an error code when we get a new location update or location error
from the Trusted Web Activity client app. Record
&quot;LocationUpdateError.NONE&quot; (value = 0) if there is no error and
the geoposition is valid.
</summary>
</histogram>
<histogram name="TrustedWebActivity.QualityEnforcementViolation"
enum="TrustedWebActivityQualityEnforcementViolationType"
expires_after="2021-12-31">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
When Trusted Web Activity launches or navigates to a site that violate the
quality criteria, records the violation type.
</summary>
</histogram>
<histogram name="TrustedWebActivity.QualityEnforcementViolation.Crashed"
enum="TrustedWebActivityQualityEnforcementViolationType"
expires_after="2021-12-31">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
When Trusted Web Activity launches or navigates to a site that violate the
quality criteria, and the CCT will be closed, records the violation type.
This is similar to TrustedWebActivity.QualityEnforcementViolation but only
records when the violation will close the CCT.
</summary>
</histogram>
<histogram name="TrustedWebActivity.ShareTargetRequest"
enum="WebShareTargetMethod" expires_after="M92">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>Recorded when data is shared via a Trusted Web Activity.</summary>
</histogram>
<histogram name="TrustedWebActivity.SplashScreenShown" enum="Boolean"
expires_after="2021-10-10">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Records whether or not a splash screen has been shown when launching a
Trusted Web Activity.
</summary>
</histogram>
<histogram name="TrustedWebActivity.TimeInVerifiedOrigin.V2" units="ms"
expires_after="M92">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Time spent in a verified origin until navigating to an unverified one or
pausing the Trusted Web Activity.
</summary>
</histogram>
<histogram name="TrustedWebActivity.TimeOutOfVerifiedOrigin.V2" units="ms"
expires_after="M92">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Time spent out of verified origins until navigating back to a verified one
or pausing the Trusted Web Activity.
</summary>
</histogram>
<histogram name="UI.DeviceScale" units="%" expires_after="2021-10-04">
<owner>bsep@chromium.org</owner>
<summary>
The device scales available on the system at startup. A system may report
more than one if it has multiple displays with varying device scales. Only
logged on Windows.
</summary>
</histogram>
<histogram name="UncompressAndParseSkiaVectorAsset" units="microseconds"
expires_after="M85">
<owner>malaykeshav@chromium.org</owner>
<summary>
Records the time spent in uncompressing a gzipped animation file.
</summary>
</histogram>
<histogram name="UnifiedConsent.MakeSearchesAndBrowsingBetter.OnStartup"
enum="BooleanEnabled" expires_after="never">
<!-- expires-never: Core metric for monitoring user settings for making searches and browsing better. -->
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
State of the user settings for making searches and browsing better, recorded
at startup.
</summary>
</histogram>
<histogram
name="UnifiedConsent.SyncAndGoogleServicesSettings.AfterAdvancedOptIn.SyncDataTypesOff"
enum="UnifiedConsentSyncDataTypesOffAfterAdvancedOptIn"
expires_after="never">
<!-- expires-never: Core metric for monitoring sync data types. -->
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<summary>
All *off* sync data types are recorded when the user confirmed the sync
setup after going through the advanced opt-in flow.
</summary>
</histogram>
<histogram name="UpdateClient.BackgroundDownloaderJobs" units="jobs"
expires_after="M77">
<owner>sorin@chromium.org</owner>
<summary>
The number of download jobs found in the Windows BITS queue. This value is
expected to be zero in most cases, or a small number otherwise. Large values
indicate a problem with the job creation or clean up code. The metric is
recorded before a new BITS job is created and inserted into BITS queue.
</summary>
</histogram>
<histogram name="UpdateClient.BackgroundDownloaderNewJob" enum="Boolean"
expires_after="M77">
<owner>sorin@chromium.org</owner>
<summary>
True if a new BITS job was created to download the url, or false, if an
existing job was found in the BITS queue. The metric is recorded when the
component updater background downloader is asked to download a CRX.
</summary>
</histogram>
<histogram name="UpgradeDetector.DaysBeforeUpgrade" units="days"
expires_after="M87">
<owner>ksspiers@chromium.org</owner>
<owner>nrpeter@chromium.org</owner>
<summary>
Measures the time elapsed from an update being visible to the browser and
the browser being restarted or quit.
</summary>
</histogram>
<histogram name="UpgradeDetector.NotificationStage"
enum="UpgradeNotificationStage" expires_after="M77">
<owner>spqchan@chromium.org</owner>
<summary>
Tracks the upgrade notification stage. This is recorded with every UMA log.
</summary>
</histogram>
<histogram name="UpgradeDetector.PollType" enum="InstalledVersionPollType"
expires_after="M89">
<obsolete>
Removed in M90.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Records the type of poll that first detected an installed version change.
Note that a browser that is running while multiple updates are applied will
only record this metric once.
</summary>
</histogram>
<histogram name="UpgradeDetector.RollbackReason"
enum="UpgradeDetectorRollbackReason" expires_after="2021-08-22">
<owner>mpolzer@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Tracks what is the reason we're doing a rollback instead of an update (going
to a more stable channel or admin-initiated enterprise rollback). We're
showing different notifications depending on the reason.
Sent when the device finished installing the rollback image, shows the
notification and is waiting for reboot.
This metric is specific to Chrome OS.
</summary>
</histogram>
<histogram name="Uptime.ChromeExecToLoginPromptVisibleAfterLogout" units="ms"
expires_after="M77">
<owner>hajimehoshi@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between when Chrome is started, and
when the login prompt is again visible after a logout. This statistic is
only collected when preceeded by a logout.
</summary>
</histogram>
<histogram name="Uptime.DBusCrash" units="ms" expires_after="M85">
<owner>satorux@chromium.org</owner>
<owner>hashimoto@chromium.org</owner>
<summary>
The system uptime on Chrome OS when the dbus-daemon process crashes,
resulting in a reboot.
</summary>
</histogram>
<histogram name="Uptime.LogoutToLoginPromptVisible" units="ms"
expires_after="M77">
<owner>hajimehoshi@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between initiating a logout and the
next time the login prompt is visible again. This statistic is not collected
if the machine is shutdown between the logout initiation and the prompt
becoming visible.
</summary>
</histogram>
<histogram name="Uptime.LogoutToUIStopAfterLogout" units="ms"
expires_after="M77">
<owner>hajimehoshi@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between when a logout is initiated
and the UI has stopped (and Chrome has exited) during the logout process.
This statistic is not collected if the logout is part of a restart or
shutdown.
</summary>
</histogram>
<histogram name="Uptime.OtherProcessesTerminatedToChromeExecAfterLogout"
units="ms" expires_after="M77">
<owner>hajimehoshi@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between when all user-associated
processes have been terminated during the logout process and when Chrome is
started again to show the login screen. Since at least ChromeOS M62,
equivalent to Uptime.XTerminatedToChromeExecAfterLogout.
</summary>
</histogram>
<histogram name="Uptime.UIStopToProcessesTerminatedAfterLogout" units="ms"
expires_after="M77">
<owner>hajimehoshi@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between when the UI has stopped
(Chrome has exited), and when all other associated processes have been
terminated during the logout process. This statistic is not collected if the
logout is part of a restart or shutdown.
</summary>
</histogram>
<histogram name="UsageStats.Events" enum="UsageStatsEvents"
expires_after="2021-09-12">
<owner>pnoland@chromium.org</owner>
<owner>fgorski@chromium.org</owner>
<summary>
Android: count of Usage Stats events. Recorded as these events occur; e.g.
when a domain is associated with a token, or a site is suspended.
</summary>
</histogram>
<histogram name="UserImage.LoggedIn" enum="ChromeOSUserImageId"
expires_after="M82">
<owner>achuith@chromium.org</owner>
<summary>
Distribution of the default images that existing users login with (Chrome
OS). One sample is taken each time the user logs in.
</summary>
</histogram>
<histogram name="UserImage.ProfileDownloadTime" units="ms" expires_after="M81">
<owner>achuith@chromium.org</owner>
<summary>The time it took to download user's profile picture.</summary>
</histogram>
<histogram name="UserManager.LoginUserType" enum="UserType"
expires_after="2021-10-10">
<owner>achuith@chromium.org</owner>
<summary>
The number of users of different types that log in to the system (Chrome
OS).
</summary>
</histogram>
<histogram name="UserManager.LogoutToLoginDelay" units="seconds"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS logout/login
regressions. -->
<owner>alemate@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
The time between one regular user logging out and a different regular user
logging in (Chrome OS). Delays above thirty minutes or which span system
reboots or non-regular-user logins are not reported.
</summary>
</histogram>
<histogram name="UserManager.ProfileEverInitializedMigrationCompleted"
enum="BooleanCompleted" expires_after="M77">
<owner>atwilson@chromium.org</owner>
<summary>
Whether the profile_ever_initialized() user attribute migration has
completed for the current user.
</summary>
</histogram>
<histogram name="UserManager.UserTypeChanged" enum="UserTypeChanged"
expires_after="never">
<!-- expires-never: Core metric for monitoring User type change regressions. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
This is logged when new user type reported by Gaia is different from the old
one (for existing user).
</summary>
</histogram>
<histogram name="UserSessionManager.RestoreOnCrash.AccountIdValid"
enum="BooleanValid" expires_after="2021-02-16">
<obsolete>
Removed 01/2021.
</obsolete>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
The result of restoring account id on Chrome restart after crash on Chrome
OS.
</summary>
</histogram>
<histogram name="Vibration.Context" enum="NavigatorVibrationType"
expires_after="2019-01-30">
<owner>binlu@google.com</owner>
<summary>
Records instances of navigator.vibrate. Includes whether or not it comes
with a user gesture, same-origin subframe or cross-origin subframe.
</summary>
</histogram>
<histogram name="VideoPlayer.CastAPIExtensionStatus"
enum="VideoPlayerCastAPIExtensionStatus" expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: the results of the cast API extension load. This is
recorded after the initialization of the extension is finished.
</summary>
</histogram>
<histogram name="VideoPlayer.CastedVideoLength" units="seconds"
expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: the length of casted video (in seconds).
</summary>
</histogram>
<histogram name="VideoPlayer.NumberOfCastDevices" units="units"
expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: the number of cast devices. This is recorded when
the cast extension finishes the discovery.
</summary>
</histogram>
<histogram name="VideoPlayer.NumberOfOpenedFiles" units="units"
expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: the number of files being opened on launch.
</summary>
</histogram>
<histogram name="VideoPlayer.PlayType" enum="VideoPlayerPlayType"
expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: type of playback (eg. local play, cast). This is
recorded when a video starts playing.
</summary>
</histogram>
<histogram name="Viewport.DidScalePage" enum="BooleanDidScalePage"
expires_after="M97">
<owner>bokan@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Tracks the proportion of non-mobile optimized (i.e. zoom disabled or layout
width matches viewport) page views that had a user-initiated page scale
(e.g. pinch-zoom, double-tap). Recorded on navigation to a new page - on
Android only.
</summary>
</histogram>
<histogram name="Viewport.MaxPageScale" enum="PageScaleFactorRange"
expires_after="M97">
<owner>bokan@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Tracks the maximum scale factor that a user has scaled to over the lifetime
of the page. The scale is counted at pinch end (e.g. zooming to 300% and
back out to 150% in one gesture would count as 150%). Reported only on
non-mobile optimized pages (i.e. zoom disabled or layout width matches
viewport) which have had a page scale changing gesture. Recorded on
navigation to a new page - on Android only.
</summary>
</histogram>
<histogram name="Viewport.MetaTagType" enum="MetaTagTypeEnum"
expires_after="M97">
<owner>bokan@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
The viewport meta tag type seen on each page load. Only recorded on Android.
Recorded when the page finishes loading.
</summary>
</histogram>
<histogram name="Viewport.OverviewZoom" units="%" expires_after="M85">
<obsolete>
Expired in M85.
</obsolete>
<owner>bokan@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
The screen width as a percentage of viewport width (i.e. zoom at which we
can see the whole page). Only recorded on Android and for viewport meta tags
with constant width.
</summary>
</histogram>
<histogram name="ViewResourceAdapter.GetBitmapInterval" units="ms"
expires_after="M82">
<owner>wychen@chromium.org</owner>
<owner>dtrainor@chromium.org</owner>
<summary>The interval between ViewResourceAdapter#getBitmap calls.</summary>
</histogram>
<histogram name="VirtualKeyboard.ControllerStateTransition"
enum="VirtualKeyboardControllerStateTransition" expires_after="M85">
<owner>oka@chromium.org</owner>
<summary>
An integer representing a state transition from x to y in the form of x *
1000 + y. If the transition is not expected, the value is negated. For
example an expected transition from SHOWING (= 2) to SHOWN (= 1) is denoted
as 2001, and an unexpected transition from SHOWING to SHOWING is denoted as
-2002. See KeyboardControllerState for the correspondence between the number
and the enum.
</summary>
</histogram>
<histogram name="VirtualKeyboard.InitLatency.FirstLoad" units="ms"
expires_after="M85">
<owner>oka@chromium.org</owner>
<summary>Latency of the keyboard being loaded for the first time.</summary>
</histogram>
<histogram name="VirtualKeyboard.KeyboardControlEvent"
enum="KeyboardControlEvent" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
A count of various control events that can occur on the virtual keyboard,
such as showing and hiding.
</summary>
</histogram>
<histogram name="VirtualKeyboard.LingeringIntermediateState"
enum="VirtualKeyboardControllerState" expires_after="M85">
<owner>oka@chromium.org</owner>
<summary>
Records whenever an intermediate keyboard state has been active for longer
than a fixed timeout.
</summary>
</histogram>
<histogram name="Viz.DisplayCompositor.OverlayNumProposedCandidates"
units="units" expires_after="2021-09-05">
<owner>petermcneeley@chromium.org</owner>
<owner>dcastagna@chromium.org</owner>
<summary>
A count of the number of proposed overlay candidates available for overlay
selection. Recorded every time a frame is rendered by the display
compositor.
</summary>
</histogram>
<histogram name="Viz.DisplayCompositor.OverlayQuadMaterial"
enum="OverlayQuadMaterial" expires_after="2021-09-05">
<owner>petermcneeley@chromium.org</owner>
<owner>dcastagna@chromium.org</owner>
<summary>
Quad material for current promoted overlay, per frame. Recorded every time a
frame is rendered by the display compositor.
</summary>
</histogram>
<histogram name="Viz.DisplayCompositor.OverlayStrategy"
enum="OverlayStrategies" expires_after="2021-09-05">
<owner>dcastagna@chromium.org</owner>
<owner>hoegsberg@chromium.org</owner>
<summary>
Overlay strategies used to promote Hardware Overlays, per frame. Recorded
every time a frame is rendered by the display compositor.
</summary>
</histogram>
<histogram name="Viz.DisplayCompositor.OverlaySwitchInterval" units="ms"
expires_after="2021-09-05">
<owner>petermcneeley@chromium.org</owner>
<owner>dcastagna@chromium.org</owner>
<summary>
The time, in milliseconds, since the change in overlay selection. Recorded
every time a frame is rendered by the display compositor.
</summary>
</histogram>
<histogram name="Viz.DisplayCompositor.RootDamageRect.Overlay"
enum="BooleanOverlayDamageRect" expires_after="2021-12-01">
<owner>magchen@chromium.org</owner>
<owner>zmo@chromium.org</owner>
<summary>
Any root damage excluding overlay damage in the current frame?
</summary>
</histogram>
<histogram name="Viz.DisplayCompositor.RootDamageRect.Underlay"
enum="UnderlayDamageRect" expires_after="2021-12-01">
<owner>magchen@chromium.org</owner>
<owner>zmo@chromium.org</owner>
<summary>
The root damage type excluding underlay damage in the current frame.
</summary>
</histogram>
<histogram name="Viz.FrameSinkVideoCapturer.I420.CaptureDuration" units="ms"
expires_after="2021-03-07">
<owner>samans@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<owner>viz-team-wat@google.com</owner>
<summary>
The time it took from when FrameSinkVideoCapturerImpl sent a request for an
I420 readback until the result comes back and ReadI420Planes successfully
finishes.
</summary>
</histogram>
<histogram name="Viz.FrameSinkVideoCapturer.I420.CaptureSucceeded"
enum="BooleanSuccess" expires_after="2020-12-31">
<owner>samans@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<owner>viz-team-wat@google.com</owner>
<summary>
Whether an I420 readback initiated by FrameSinkVideoCapturerImpl succeeded.
</summary>
</histogram>
<histogram name="Viz.FrameSinkVideoCapturer.RGBA.CaptureDuration" units="ms"
expires_after="2021-09-19">
<owner>samans@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<owner>viz-team-wat@google.com</owner>
<summary>
The time it took from when FrameSinkVideoCapturerImpl sent a request for an
RGBA readback until the result comes back and ReadRGBAPlane successfully
finishes.
</summary>
</histogram>
<histogram name="Viz.FrameSinkVideoCapturer.RGBA.CaptureSucceeded"
enum="BooleanSuccess" expires_after="2020-12-31">
<owner>samans@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<owner>viz-team-wat@google.com</owner>
<summary>
Whether an RGBA readback initiated by FrameSinkVideoCapturerImpl succeeded.
</summary>
</histogram>
<histogram name="VoiceInteraction.AssistantActionPerformed{Source}"
enum="AssistantActionPerformed" expires_after="2021-08-22">
<owner>jds@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Android: The action performed by Assistant upon being invoked during a voice
search initiated via the {Source}, such as transcription of a voice search
query or translation of the current page. This is recorded after an
Assistant intent has completed successfully.
</summary>
<token key="Source">
<!-- Must be kept in sync with VoiceInteractionEventSource in enums.xml. -->
<variant name=".NTP" summary="NTP"/>
<variant name=".Omnibox" summary="Omnibox"/>
<variant name=".SearchWidget" summary="Search widget"/>
<variant name=".TasksSurface" summary="Tasks surface"/>
<variant name=".Toolbar" summary="Toolbar"/>
</token>
</histogram>
<histogram name="VoiceInteraction.AssistantIntent.TranslateExtrasAttached"
enum="BooleanSuccess" expires_after="2021-06-04">
<owner>jds@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Android: Whether Translate extras were successfully attached to an Assistant
intent. This is recorded just before the intent is sent to Assistant, and is
only recorded if the Translate extras are enabled.
</summary>
</histogram>
<histogram name="VoiceInteraction.AudioPermissionEvent"
enum="AudioPermissionState" expires_after="2021-08-22">
<owner>basiaz@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Android: The events related to granting or denying audio permission for
system level transcription (as opposite to Assistant). Will be logged each
time non-Assistant voice recognition is triggered with a mic button click.
</summary>
</histogram>
<histogram name="VoiceInteraction.DismissedEventSource"
enum="VoiceInteractionEventSource" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The source of a dismissed voice search, such as omnibox or NTP.
This is recorded after the dismissed intent returns to Chrome.
</summary>
</histogram>
<histogram name="VoiceInteraction.DismissedEventTarget"
enum="VoiceIntentTarget" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The target of a dismissed voice search, such as the system
transcription dialog or Assistant. This is recorded after the dismissed
intent returns to Chrome.
</summary>
</histogram>
<histogram name="VoiceInteraction.FailureEventSource"
enum="VoiceInteractionEventSource" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The source of a failed voice search, such as omnibox or NTP. This
is recorded after any intent failure, which could occur before an intent is
sent (if the send fails) or after the intent returns unsuccessfully. It will
only be recorded once.
</summary>
</histogram>
<histogram name="VoiceInteraction.FailureEventTarget" enum="VoiceIntentTarget"
expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The target of a failed voice search, such as the system
transcription dialog or Assistant. This is recorded after any intent
failure, which could occur before an intent is sent (if the send fails) or
after the intent returns unsuccessfully. It will only be recorded once.
</summary>
</histogram>
<histogram name="VoiceInteraction.FinishEventSource"
enum="VoiceInteractionEventSource" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The source of a successful voice search, such as omnibox or NTP.
This is recorded immediately after the successful intent returns to Chrome.
</summary>
</histogram>
<histogram name="VoiceInteraction.FinishEventTarget" enum="VoiceIntentTarget"
expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The target of a successful voice search, such as the system
transcription dialog or Assistant. This is recorded immediately after the
successful intent returns to Chrome.
</summary>
</histogram>
<histogram name="VoiceInteraction.IllegalContextRequest" enum="BooleanHit"
expires_after="M85">
<owner>muyuanli@chromium.org</owner>
<summary>
Counts the number of requests to retrieve voice interaction context when no
user interaction is initiated.
</summary>
</histogram>
<histogram name="VoiceInteraction.QueryDuration.Android" units="ms"
expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Records the time it takes between the user clicking the mic and chrome
receiving the transcribed voice query. This is recorded after an Assistant
intent has completed successfully.
</summary>
</histogram>
<histogram name="VoiceInteraction.QueryDuration.Android.Target.{Target}"
units="ms" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Records the time it takes between the user clicking the mic and chrome
receiving the transcribed voice query. This is recorded after an Assistant
intent has completed successfully. This histogram is limited to intents sent
to {Target}. See VoiceInteraction.QueryDuration.Android for the total count
across all targets.
</summary>
<token key="Target" variants="VoiceIntentTargetVariant"/>
</histogram>
<histogram name="VoiceInteraction.QueryDuration.Android{Action}" units="ms"
expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Records the time it takes between the user clicking the mic and chrome
receiving the intent response for {Action} actions. This is recorded after
an Assistant intent has completed successfully. These per-action variants
are recorded only when non-transcription actions are enabled. See
VoiceInteraction.QueryDuration.Android for the total count that includes
clients with non-transcription actions disabled.
</summary>
<token key="Action">
<!-- Must be kept in sync with AssistantActionPerformed in enums.xml. -->
<variant name=".Readout" summary="Readout"/>
<variant name=".Transcription" summary="Transcription"/>
<variant name=".Translate" summary="Translate"/>
<variant name=".Unknown" summary="Unknown"/>
</token>
</histogram>
<histogram name="VoiceInteraction.StartEventSource"
enum="VoiceInteractionEventSource" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The source of a voice search start event, such as omnibox or NTP.
This is recorded immediately before the voice transcription intent is sent.
</summary>
</histogram>
<histogram name="VoiceInteraction.StartEventTarget" enum="VoiceIntentTarget"
expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The target of a voice search start event, such as the system
transcription dialog or Assistant. This is recorded immediately before the
voice transcription intent is sent.
</summary>
</histogram>
<histogram name="VoiceInteraction.UnexpectedResultSource"
enum="VoiceInteractionEventSource" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Android: The source of an incoming result that doesn't align with an
outgoing request from Chrome. This is recorded when the extraneous intent
response is received.
</summary>
</histogram>
<histogram name="VoiceInteraction.UnexpectedResultTarget"
enum="VoiceIntentTarget" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Android: The target of an intent result that doesn't align with an outgoing
request from Chrome. This is recorded when the extraneous intent response is
received.
</summary>
</histogram>
<histogram name="VoiceInteraction.UserInteractionToRequestArrival" units="ms"
expires_after="M85">
<owner>muyuanli@chromium.org</owner>
<summary>
Records the time between user interaction and the actual request arrival.
</summary>
</histogram>
<histogram name="VoiceInteraction.VoiceResultConfidenceValue" units="%"
expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: Records the confidence value of a successful voice search as a
percentage. This is recorded when the voice intent returns successfully.
</summary>
</histogram>
<histogram name="VoiceInteraction.VoiceResultConfidenceValue.{Target}"
units="%" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: Records the confidence value of a successful voice search as a
percentage, limited to intents sent to {Target}. This is recorded when the
voice intent returns successfully.
</summary>
<token key="Target" variants="VoiceIntentTargetVariant"/>
</histogram>
<histogram name="VoiceInteraction.VoiceSearchResult" enum="BooleanSuccess"
expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: Records whether the voice search produced results. This is recorded
when the voice intent returns successfully.
</summary>
</histogram>
<histogram name="VoiceInteraction.VoiceSearchResult.{Target}"
enum="BooleanSuccess" expires_after="2021-08-22">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: Records whether the voice search produced results, limited to
intents sent to {Target}. This is recorded when the voice intent returns
successfully.
</summary>
<token key="Target" variants="VoiceIntentTargetVariant"/>
</histogram>
<histogram name="VRFreNotComplete" enum="BooleanHit" expires_after="M85">
<owner>ymalik@chromium.org</owner>
<summary>
Whether the user had been through the FRE when Chrome is launched in VR
mode.
</summary>
</histogram>
<histogram name="VRSessionTime" units="ms" expires_after="2021-09-12">
<owner>alcooper@chromium.org</owner>
<owner>xr-dev@chromium.org</owner>
<summary>
The duration of the VR session. Logged when a new disjoint session has
begun, or when the session has ended in a non-continuable way.
</summary>
</histogram>
<histogram name="VRSessionVideoCount" units="units" expires_after="2021-09-12">
<owner>alcooper@chromium.org</owner>
<owner>xr-dev@chromium.org</owner>
<summary>
Number of videos watched in a VR session. Logged when a new disjoint session
has begun, or when the session has ended in a non-continuable way.
</summary>
</histogram>
<histogram name="VRSessionVideoTime" units="ms" expires_after="2021-09-12">
<owner>alcooper@chromium.org</owner>
<owner>xr-dev@chromium.org</owner>
<summary>
The duration of a single session spent watching video in VR. Logged when a
new disjoint session has begun, or when the session has ended in a
non-continuable way.
</summary>
</histogram>
<histogram name="VRViewerType" enum="VRViewerType" expires_after="2021-09-19">
<owner>alcooper@chromium.org</owner>
<owner>xr-dev@chromium.org</owner>
<summary>The type of headset being used for VR.</summary>
</histogram>
<histogram name="Web.CurrentOriginEqualsLastCommittedOrigin"
enum="BooleanEqual" expires_after="2021-11-17">
<owner>ajuma@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
[iOS] Reports URL matches between the return value from the WebState's
GetLastCommittedURL and GetCurrentURL methods. It is expected the origins
will be equal to confirm that GetCurrentURL can now be replaced with
GetLastCommittedURL. This will be called each time WebStateImpl::
GetCurrentURL(URLVerificationTrustLevel* trust_level) is called, which is an
old method of obtaining the url and trust level. The trust level was only
relevant with UIWebView, so this method is only called from code which has
not yet been updated since UIWebView was removed.
</summary>
</histogram>
<histogram name="Webapp.AddToHomescreenDialog.Timeout" units="ms"
expires_after="2021-08-09">
<owner>dominickn@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
Records the number of milliseconds that the add to homescreen dialog
required to check installability eligibility.
</summary>
</histogram>
<histogram name="Webapp.AddToHomescreenMediator.AppTypeToMenuEntry"
enum="AppTypeToMenuEntry" expires_after="2021-09-01">
<owner>finnur@chromium.org</owner>
<owner>beverloo@chromium.org</owner>
<summary>
Keeps track of what verbiage was shown in the App menu versus what was
actually installed.
</summary>
</histogram>
<histogram name="Webapp.CheckServiceWorker.Status"
enum="ServiceWorkerOfflineCapability" expires_after="2021-10-04">
<owner>asamidoi@chromium.org</owner>
<owner>chrome-worker@google.com</owner>
<summary>
Records the result of the check if a PWA has a service worker with a fetch
event handler when the CheckOfflineCapability feature is disabled. When the
feature is enabled, records the result of the check if a PWA supports
offline pages with a service worker.
</summary>
</histogram>
<histogram name="Webapp.CheckServiceWorker.Time" units="ms"
expires_after="2021-10-04">
<owner>asamidoi@chromium.org</owner>
<owner>chrome-worker@google.com</owner>
<summary>
Records the time to complete the check if a PWA has a service worker with a
fetch event handler when the CheckOfflineCapability feature is disabled.
When the feature is enabled, records the time to complete the check if a PWA
supports offline pages with a service worker.
</summary>
</histogram>
<histogram base="true" name="WebApp.Engagement"
enum="SiteEngagementServiceEngagementType" expires_after="2021-09-12">
<owner>calamity@chromium.org</owner>
<owner>mgiuca@chromium.org</owner>
<owner>loyso@chromium.org</owner>
<summary>
The type of engagement (navigation, user input, etc.) which led to an
accumulation in site engagement within a web app window or tab. Should be
collected for a subset of SiteEngagementService.EngagementType, which is
triggered for all browsing contexts. Recorded at the time of engagement
accumulation (e.g., when mouse is clicked).
</summary>
</histogram>
<histogram name="WebApp.Icon.HttpStatusCodeClassOnCreate"
enum="HttpStatusCodeClass" expires_after="2021-01-01">
<owner>alancutter@chromium.org</owner>
<owner>mgiuca@chromium.org</owner>
<owner>loyso@chromium.org</owner>
<summary>
The HTTP status code class returned for each icon loaded during a WebApp's
creation. See corresponding
Extensions.BookmarkApp.Icon.HttpStatusCodeClassOnCreate histogram for legacy
extension-based system. Recorded when WebAppDataRetriever starts downloading
icons.
</summary>
</histogram>
<histogram name="WebApp.Icon.HttpStatusCodeClassOnSync"
enum="HttpStatusCodeClass" expires_after="2021-01-01">
<owner>alancutter@chromium.org</owner>
<owner>mgiuca@chromium.org</owner>
<owner>loyso@chromium.org</owner>
<summary>
The HTTP status code class returned for each icon loaded when syncing a
WebApp. See Extensions.BookmarkApp.Icon.HttpStatusCodeClassOnSync histogram
for legacy extension-based system. Recorded when WebAppDataRetriever starts
downloading icons.
</summary>
</histogram>
<histogram name="WebApp.Icon.HttpStatusCodeClassOnUpdate"
enum="HttpStatusCodeClass" expires_after="2021-01-01">
<owner>alancutter@chromium.org</owner>
<owner>raymes@chromium.org</owner>
<owner>loyso@chromium.org</owner>
<summary>
The HTTP status code class returned for each icon loaded when updating a
WebApp. Recorded when WebAppDataRetriever starts downloading icons.
</summary>
</histogram>
<histogram name="Webapp.Install.DisplayMode2" enum="WebAppDisplayMode"
expires_after="2021-08-29">
<owner>ericwilligers@chromium.org</owner>
<owner>peter@chromium.org</owner>
<owner>yfriedman@chromium.org</owner>
<summary>
Records the display mode (as defined in the Web App Manifest spec) at the
install time of a WebApp. Fixes a bug in the data collection for desktop web
apps.
</summary>
</histogram>
<histogram name="Webapp.Install.InstallBounce" enum="WebappInstallSource"
expires_after="2021-08-22">
<owner>dominickn@chromium.org</owner>
<owner>alancutter@chromium.org</owner>
<summary>
Records when a web app install bounced for different install sources. A
bounce is when the user uninstalls the web app within 1 hour of installing
it.
</summary>
</histogram>
<histogram name="Webapp.Install.InstallEvent" enum="WebappInstallSource"
expires_after="2021-09-12">
<owner>dominickn@chromium.org</owner>
<owner>loyso@chromium.org</owner>
<owner>calamity@chromium.org</owner>
<summary>
Records the mechanism and source from which a web app installation was
triggered, regardless of whether the installation was successful.
</summary>
</histogram>
<histogram name="WebApp.InstallConfirmation.CloseReason"
enum="WidgetClosedReason" expires_after="M95">
<owner>dmurph@chromium.org</owner>
<owner>desktop-pwa-team@google.com</owner>
<summary>
Records the reason that the WebApp install confirmation dialog is closed.
This dialog is shown when the user clicks on the 'install' icon in the
omnibox for websites that are installable. This metric is intended to give
data for an experiment to choose the best install icon.
</summary>
</histogram>
<histogram name="WebApp.InstallIphPromo.Result" enum="WebAppInstallIphResult"
expires_after="2021-10-10">
<owner>phillis@chromium.org</owner>
<owner>dmurph@chromium.org</owner>
<summary>
Records the result of user reaction to In Product Help promo for Web App
Install.
</summary>
</histogram>
<histogram name="Webapp.InstallResult" enum="WebAppInstallResultCode"
expires_after="2021-09-12">
<!-- Name completed by histogram_suffixes name="WebAppType" -->
<owner>calamity@chromium.org</owner>
<owner>ortuno@chromium.org</owner>
<summary>Records the result code of Web App installs.</summary>
</histogram>
<histogram base="true"
name="Webapp.InstallResultExtensionDisabledReason.System.Profiles"
enum="ExtensionDisableReason" expires_after="2020-12-31">
<obsolete>
Removed 11/2020, as the relevant code path is no longer executed after BMO
launch.
</obsolete>
<owner>calamity@chromium.org</owner>
<owner>ortuno@chromium.org</owner>
<summary>
Records why System Web App .crx extension is disabled during System Web App
installs. Certain properties of the profile might cause Extensions to be
disabled as soon as they are installed. For example, kiosk profile might set
policies to disable all Extensions, including System Web Apps which are
considered Extensions.
</summary>
</histogram>
<histogram base="true"
name="Webapp.InstallResultExtensionError.System.Profiles"
enum="ExtensionInstallationCrxInstallError" expires_after="2020-12-31">
<obsolete>
Removed 11/2020, as the relevant code path is no longer executed after BMO
launch.
</obsolete>
<owner>calamity@chromium.org</owner>
<owner>ortuno@chromium.org</owner>
<summary>
Records .crx extension error code when System Web App install fails.
</summary>
</histogram>
<histogram name="WebApp.Launcher.LaunchResult"
enum="WebAppLauncherLaunchResult" expires_after="2021-08-09">
<owner>davidbienvenu@chromium.org</owner>
<owner>jessemckenna@google.com</owner>
<summary>
The result of a Progressive Web App (PWA) launcher's attempt to launch
Chrome. Windows-only.
</summary>
</histogram>
<histogram name="WebApp.Launcher.UpdateResult"
enum="WebAppLauncherUpdateResult" expires_after="2021-08-09">
<owner>davidbienvenu@chromium.org</owner>
<owner>jessemckenna@google.com</owner>
<summary>
The result of updating a single Progressive Web App (PWA) launcher with the
latest version of chrome_pwa_launcher.exe. Windows-only.
</summary>
</histogram>
<histogram name="WebApp.Migration.UserDisplayModeCleanUp"
enum="BooleanMigrated" expires_after="2021-01-01">
<obsolete>
Removed 12/2020.
</obsolete>
<owner>alancutter@chromium.org</owner>
<owner>dxie@google.com</owner>
<owner>loyso@google.com</owner>
<owner>mgiuca@google.com</owner>
<summary>
The result of deploying a follow up migration after a migration bug
(https://crbug.com/1125020) that caused users' web apps to open in a browser
tab instead of a standalone window. This follow up migration only runs once
at startup for all Chrome profiles. If it fails it will retry until
successful on subsequent start ups, metrics are only recorded on success.
</summary>
</histogram>
<histogram name="WebApp.Mover.Result" enum="WebAppMoverResult"
expires_after="2021-10-10">
<owner>dmurph@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Records the result of running the WebAppMover, which runs on Chrome startup.
It uninstalls a set of WebApps and then installs a single WebApp as a
replacement.
</summary>
</histogram>
<histogram name="Webapp.NavigationStatus" enum="BooleanSuccess"
expires_after="2021-08-22">
<owner>peter@chromium.org</owner>
<owner>hartmanng@chromium.org</owner>
<summary>
Records whether the top-level navigations in standalone Web Apps result in
presenting the web content or showing the error page.
</summary>
</histogram>
<histogram name="WebApp.Preinstalled.ConfigErrorCount" units="apps"
expires_after="2021-10-10">
<owner>alancutter@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Records how many preinstalled web app config files failed to parse as valid
JSON with valid fields. See preinstalled_web_app_utils.cc ParseConfig().
This is recorded at start up.
</summary>
</histogram>
<histogram name="WebApp.Preinstalled.DisabledCount" units="apps"
expires_after="2021-10-10">
<owner>alancutter@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Records how many preinstalled web apps configs were disabled for the device.
This is recorded at start up.
</summary>
</histogram>
<histogram name="WebApp.Preinstalled.EnabledCount" units="apps"
expires_after="2021-08-22">
<owner>alancutter@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Records how many preinstalled web apps configs were enabled for the device.
This is recorded at start up.
</summary>
</histogram>
<histogram name="WebApp.Preinstalled.UninstallAndReplaceCount" units="apps"
expires_after="2021-10-10">
<owner>alancutter@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Records how many preinstalled web app installations uninstalled and replaced
an old default app (web app or Chrome app). This corresponds to the
&quot;uninstall_and_replace&quot; field in preinstalled web app configs.
</summary>
</histogram>
<histogram name="WebApp.Shortcuts.Creation.Result"
enum="ShortcutsCreationResult" expires_after="2021-09-19">
<owner>phillis@chromium.org</owner>
<owner>dmurph@chromium.org</owner>
<summary>Records the result of shortcut creation for PWA.</summary>
</histogram>
<histogram name="WebApp.Shortcuts.Deletion.Success" enum="BooleanSuccess"
expires_after="M93">
<owner>phillis@chromium.org</owner>
<owner>dmurph@chromium.org</owner>
<owner>sunggch@microsoft.com</owner>
<summary>
Records the result of shortcut deletion for a PWA. This occurs when an
installed PWA is uninstalled, which can be triggered by user, policy admin,
or sync system depending on the situation.
</summary>
</histogram>
<histogram name="Webapp.SyncInitiatedUninstallResult" enum="BooleanSuccess"
expires_after="2022-01-01">
<owner>alancutter@chromium.org</owner>
<owner>loyso@chromium.org</owner>
<summary>
Records uninstallation result for sync initiated uninstalls in the new
USS-based web applications system.
</summary>
</histogram>
<histogram name="Webapp.SystemApps.FreshInstallDuration" units="ms"
expires_after="2021-09-12">
<owner>calamity@chromium.org</owner>
<owner>ortuno@chromium.org</owner>
<summary>
Records the time taken to perform a fresh install of all system web apps. It
measures the time from when we dispatch a call to install them, until we get
all the installation results. This intentionally excludes the scenario where
we don't request to install all the apps for consistency. Recorded in
milliseconds, from 1 millisecond to 3 minutes.
</summary>
</histogram>
<histogram name="WebApp.UninstallDialog.AppMenuUninstallSuccess" enum="Boolean"
expires_after="M95">
<owner>dmurph@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Records the result of uninstalling a WebApp when the user clicks on
&quot;Uninstall&quot; from the 3-dot menu of the respective WebApp window.
</summary>
</histogram>
<histogram name="WebApp.UninstallDialog.AppsPageUninstallSuccess"
enum="Boolean" expires_after="M95">
<owner>dmurph@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Records the result of uninstalling an app from the chrome://apps page. This
happens whena user right-clicks on a greyed out webapp icon in the
chrome://apps page and clicks &quot;Uninstall&quot;.
</summary>
</histogram>
<histogram name="Webapp.UninstallDialogAction"
enum="WebappUninstallDialogAction" expires_after="2021-09-12">
<owner>benwells@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<owner>loyso@chromium.org</owner>
<summary>
Records the user response to the dialog shown when uninstalling a web app.
</summary>
</histogram>
<histogram name="Webapp.Update.ManifestUpdateResult"
enum="WebAppManifestUpdateResult" expires_after="2021-10-10">
<owner>alancutter@chromium.org</owner>
<owner>desktop-pwas-team@chromium.org</owner>
<owner>loyso@chromium.org</owner>
<owner>raymes@chromium.org</owner>
<summary>
Records the result of web app manifest update checks during page
navigations. Note that &quot;No app in scope&quot; results are ignored due
to the expected several orders of magnitude higher volume than all other
update results.
</summary>
</histogram>
<histogram name="Webapp.Update.ManifestUpdateResult.DefaultApp"
enum="WebAppManifestUpdateResult" expires_after="M92">
<owner>alancutter@chromium.org</owner>
<owner>tsergeant@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Identical to Webapp.Update.ManifestUpdateResult but restricted to just
default installed web apps.
</summary>
</histogram>
<histogram name="Webapp.WebAppOriginAssociationFetchResult"
enum="WebAppOriginAssociationFetchResult" expires_after="2022-03-05">
<owner>mek@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Records the result of web app origin association file fetch when url
handlers are present. Happens when PWA is installed or updated.
</summary>
</histogram>
<histogram name="Webapp.WebAppOriginAssociationParseResult"
enum="WebAppOriginAssociationParseResult" expires_after="2022-03-05">
<owner>mek@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>
Records the result of web app origin association file parsing. Happens after
an web app origin association file is fetched.
</summary>
</histogram>
<histogram name="Webapp.WebAppUrlLoaderPrepareForLoadResult"
enum="WebAppUrlLoaderResult" expires_after="2021-09-05">
<owner>qjw@chromium.org</owner>
<owner>ortuno@chromium.org</owner>
<owner>desktop-pwas-team@google.com</owner>
<summary>Records the result of WebAppUrlLoader::PrepareForLoad().</summary>
</histogram>
<histogram name="WebContentsObserver.{Method}" units="ms"
expires_after="2021-09-15">
<owner>cduvall@chromium.org</owner>
<owner>jam@chromium.org</owner>
<summary>
Measures the time it takes to call all observers of the WebContents observer
method {Method}. Logged every time the method is called.
</summary>
<token key="Method" variants="WebContentsObserverMethods"/>
</histogram>
<histogram name="WebContextFetcher.Time.RunJavaScript" units="ms"
expires_after="2021-11-01">
<owner>benwgold@chromium.org</owner>
<owner>mdjones@chromium.org</owner>
<summary>
Records the number of milliseconds that it takes for a web context fetch to
complete. Recorded when the javascript execution completes. To start will be
used for Google Lens image queries to track time to retrieve page context,
but may extend to other features over time.
</summary>
</histogram>
<histogram name="WebController.BackForwardListOutOfSync" enum="BooleanHit"
expires_after="2021-12-25">
<owner>ajuma@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
[iOS] Counts the number of time the backForwardList of the WebView gets out
of sync with the URL exposed by the WebView. This should not happen and is
probably an issue in WebKit. This is only recorded when there is an error.
</summary>
</histogram>
<histogram name="WebController.BackForwardListOutOfSyncInProvisionalNavigation"
enum="IOSOutOfSyncURLAction" expires_after="2021-12-25">
<owner>ajuma@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
[iOS] Records the action take when the backForwardList of the WebView is out
of sync with the URL exposed by the WebView when starting a new provisional
navigation. The URLs can get out of sync because of a bugs in WebKit. This
is only recorded when the URLs are out of sync.
</summary>
</histogram>
<histogram name="WebController.CertVerificationErrorsCacheHit"
enum="BooleanCacheHit" expires_after="2022-05-01">
<owner>ajuma@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
[iOS] Report cache hit/miss for WKWebView cert verification.
CRWWKNavigationHandler has a cache of pending cert verification results to
avoid extra verifications when presenting SSL interstitial. This metric
helps to understand how often this cache miss happens.
</summary>
</histogram>
<histogram name="WebController.ExternalURLRequestBlocking"
enum="IOSExternalURLRequestStatus" expires_after="2021-08-09">
<owner>mrefaat@chromium.org</owner>
<summary>
[iOS] Measures the proportion of external URL requests that originate from a
subframe without any user interaction (e.g. an advertisement contains an
iframe directed at the App Store).
</summary>
</histogram>
<histogram name="WebFont.BlankTextShownTime" units="ms"
expires_after="2021-10-17">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
A histogram tracking the time we spent showing blank text because a web font
wasn't available by the time we needed it. Measured once per @font-face that
ended up showing blank text.
</summary>
</histogram>
<histogram name="WebFont.CacheHit" enum="WebFontCacheHit"
expires_after="2021-09-26">
<owner>hajimehoshi@chromium.org</owner>
<owner>kenjibaheux@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
Recorded upon web fonts load. Counts the number of times web font is loaded
from cache (disk cache or memory cache), fetched over network, or served
from data URL.
</summary>
</histogram>
<histogram name="WebFont.Clients.AlignFontDisplayAuto.FontFacesAffected"
units="fonts" expires_after="M86">
<owner>kenjibaheux@chromium.org</owner>
<owner>xiaochengh@chromium.org</owner>
<summary>
The number of 'font-display: auto' web fonts whose display periods are
modified to 'swap' or 'failure' before a timeout to ensure a good LCP. This
is a diagnostic metric for feature AlignFontDisplayAutoTimeoutWithLCPGoal.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.0.Under10KB" units="ms"
expires_after="2021-08-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of under
10KB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.1.10KBTo50KB" units="ms"
expires_after="2021-08-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of
10KB-50KB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.2.50KBTo100KB" units="ms"
expires_after="2021-08-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of
50KB-100KB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.3.100KBTo1MB" units="ms"
expires_after="2021-08-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of
100KB-1MB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.4.Over1MB" units="ms"
expires_after="2021-08-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of over
1MB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.LoadError" units="ms"
expires_after="2021-06-13">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time taken for a webfont download that failed. Includes aborted
requests.
</summary>
</histogram>
<histogram name="WebFont.FontDisplayValue" enum="FontDisplayValue"
expires_after="2021-03-21">
<obsolete>
Removed 2021-03
</obsolete>
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The value of font-display @font-face descriptor. Counted only when
explicitly specified in the @font-face rule.
</summary>
</histogram>
<histogram name="WebFont.HadBlankText" enum="BooleanHadBlankText"
expires_after="2021-09-05">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
This metrics is logged when a page that use web fonts is loaded. The value
is whether we had to wait on at least one web font and ended up showing
blank text, or not.
</summary>
</histogram>
<histogram base="true" name="WebFont.HttpCacheStatus" enum="HttpCachePattern"
expires_after="2021-11-08">
<owner>yaoxia@chromium.org</owner>
<owner>shivanisha@chromium.org</owner>
<summary>
For each http cache transaction for a font in Google Fonts, record the cache
status.
</summary>
</histogram>
<histogram name="WebFont.LoadLimitOnDiskCacheMiss" enum="WebFontLoadLimitState"
expires_after="2021-03-21">
<obsolete>
Removed in M91.
</obsolete>
<owner>ksakamoto@chromium.org</owner>
<owner>toyoshim@chromium.org</owner>
<summary>
The load limit state when the first disk-cache-only request fails by cache
miss, if WebFonts cache-aware timeout adaptation is enabled and applicable.
</summary>
</histogram>
<histogram name="WebFont.LocalFontUsed" enum="BooleanUsage"
expires_after="2021-08-29">
<owner>hajimehoshi@chromium.org</owner>
<owner>kenjibaheux@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
Whether a locallly installed font is actually used when @font-face had local
sources.
</summary>
</histogram>
<histogram name="WebHistory.LocalResultMissingOnServer" units="%"
expires_after="2018-08-30">
<owner>zea@chromium.org</owner>
<summary>
Percentage of results that are present locally but are not returned by the
web history API call. Recorded every time a signed-in user visits the
chrome://history page and the results from the web history are received.
</summary>
</histogram>
<histogram name="WebHistory.OAuthTokenCompletion" enum="BooleanSuccess"
expires_after="2018-08-30">
<owner>zea@chromium.org</owner>
<summary>
Whether getting the OAuth token was successful for a web history query. On
visits to the chrome://history page this token is obtained and then used to
get the user's synced web history.
</summary>
</histogram>
<histogram name="WebHistory.OAuthTokenResponseCode" units="code"
expires_after="2018-08-30">
<owner>zea@chromium.org</owner>
<summary>
HTTP Response code returned by the server when trying to fetch the OAuth
token for a web history query.
</summary>
</histogram>
<histogram name="WebHistory.QueryCompletion" enum="WebHistoryStatus"
expires_after="M77">
<owner>zea@chromium.org</owner>
<summary>
Whether the web history API call was successful. Every time a signed-in user
visits the chrome://history page this query is executed to get the user's
synced web history. If successful, the local and remote results are merged
and shown in the history page.
</summary>
</histogram>
<histogram name="WebHistory.ResponseTime" units="ms" expires_after="2018-08-30">
<owner>zea@chromium.org</owner>
<summary>
Time it took for the web history to reply. Recorded when the web history API
call triggered by visiting chrome://history receives the data, measuring how
much time it took for the server to reply.
</summary>
</histogram>
<histogram name="WebP.DecodedImageFormat" enum="WebpDecodedFormat"
expires_after="2020-12-13">
<obsolete>
No longer recorded in M89.
</obsolete>
<owner>droger@chromium.org</owner>
<summary>
Histogram for the format of decoded WebP images on iOS, as Chrome re-encodes
WebP images on that platform.
</summary>
</histogram>
<histogram name="WebShare.ApiCount" enum="WebShareMethod"
expires_after="2021-10-10">
<owner>mgiuca@chromium.org</owner>
<summary>
Counts the number of calls to navigator.share. Includes both successful and
failed shares.
</summary>
</histogram>
<histogram name="WebShare.ShareOutcome" enum="WebShareOutcome"
expires_after="M85">
<owner>mgiuca@chromium.org</owner>
<summary>
Records the outcome of calls to navigator.share. This will not count any
calls that never complete (e.g., if the page closes while the picker is
open). Therefore, DO NOT look at the raw percentages of this histogram;
instead, compare these numbers with the WebShare.ApiCount.Share total.
NOTE: At the moment, if the user cancels the picker, its recording will be
delayed, and possibly never recorded (https://crbug.com/636274), so that
will account for a discrepancy between ShareOutcome and ApiCount.Share.
</summary>
</histogram>
<histogram name="WebsiteSettings.Action" enum="WebsiteSettingsAction"
expires_after="2021-09-19">
<owner>estark@chromium.org</owner>
<owner>dullweber@chromium.org</owner>
<summary>
Tracks actions with the website setting (a.k.a. page info / origin info)
bubble, such as opening it up or clicking on the Connection tab.
</summary>
</histogram>
<histogram name="WebsiteSettings.AllSitesAction"
enum="WebSiteSettingsAllSitesAction" expires_after="M82">
<owner>mxcai@chromium.org</owner>
<owner>dominickn@chromium.org</owner>
<summary>
Tracks actions with the &quot;All Sites&quot; page in website settings for
builds older than M82.
</summary>
</histogram>
<histogram name="WebsiteSettings.AllSitesAction2"
enum="WebSiteSettingsAllSitesAction2" expires_after="2021-08-09">
<owner>jarrydg@chromium.org</owner>
<owner>mxcai@chromium.org</owner>
<summary>
Tracks actions with the &quot;All Sites&quot; page in website settings
starting in M82.
</summary>
</histogram>
<histogram name="WebsiteSettings.Discoverability.Action"
enum="WebsiteSettingsDiscoverabilityAction" expires_after="M94">
<owner>eokoyomon@chromium.org</owner>
<owner>dullweber@chromium.org</owner>
<summary>
Tracks actions related to page info when discoverability has been activated.
</summary>
</histogram>
<histogram name="WebsiteSettings.Discoverability.TimeToOpen" units="ms"
expires_after="M94">
<owner>eokoyomon@chromium.org</owner>
<owner>dullweber@chromium.org</owner>
<summary>
Records the amount of time the discoverability icon is shown in the omnibox
before the user clicks into page info.
</summary>
</histogram>
<histogram name="WebsiteSettings.Menu.PermissionChanged" enum="ContentType"
expires_after="M81">
<owner>miguelg@chromium.org</owner>
<owner>finnur@chromium.org</owner>
<summary>
Count of how often a specific content type (permission) is changed using the
content settings menu.
Note: The values of this metric collected for Chrome 49 (early 2016) are
innacurate and should not be trusted. crbug.com/589255.
</summary>
</histogram>
<histogram name="WebsiteSettings.Menu.PermissionChanged.Allowed"
enum="ContentType" expires_after="M81">
<owner>miguelg@chromium.org</owner>
<owner>finnur@chromium.org</owner>
<summary>
Count of how often a specific content type (permission) is set to 'Allowed'
using the content settings menu.
Note: The values of this metric collected for Chrome 49 (early 2016) are
innacurate and should not be trusted. crbug.com/589255.
</summary>
</histogram>
<histogram name="WebsiteSettings.Menu.PermissionChanged.Ask" enum="ContentType"
expires_after="M77">
<owner>miguelg@chromium.org</owner>
<owner>finnur@chromium.org</owner>
<summary>
Count of how often a specific content type (permission) is set to 'Ask'
using the content settings menu.
</summary>
</histogram>
<histogram name="WebsiteSettings.Menu.PermissionChanged.Blocked"
enum="ContentType" expires_after="M81">
<owner>miguelg@chromium.org</owner>
<owner>finnur@chromium.org</owner>
<summary>
Count of how often a specific content type (permission) is set to 'Blocked'
using the content settings menu.
Note: The values of this metric collected for Chrome 49 (early 2016) are
innacurate and should not be trusted. crbug.com/589255.
</summary>
</histogram>
<histogram name="WebsiteSettings.Menu.PermissionChanged.Reset"
enum="ContentType" expires_after="M77">
<owner>miguelg@chromium.org</owner>
<owner>finnur@chromium.org</owner>
<summary>
Count of how often a specific content type (permission) is reset to the
default value using the content settings menu.
Note: The values of this metric collected for Chrome 49 (early 2016) are
innacurate and should not be trusted. crbug.com/589255.
</summary>
</histogram>
<histogram name="WebsiteSettings.Menu.PermissionChanged.SessionOnly"
enum="ContentType" expires_after="M96">
<owner>andypaicu@chromium.org</owner>
<owner>engedy@chromium.org</owner>
<owner>hkamila@chromium.org</owner>
<owner>ravjit@chromium.org</owner>
<owner>elklm@chromium.org</owner>
<summary>
Count of how often a specific content type (permission) is changed to the
session only value using the content settings menu. This option only exists
for cookies.
</summary>
</histogram>
<histogram name="WebsiteSettings.OriginInfo.PermissionChanged"
enum="ContentType" expires_after="2021-08-22">
<owner>andypaicu@chromium.org</owner>
<owner>engedy@chromium.org</owner>
<owner>hkamila@chromium.org</owner>
<summary>
Count of how often a specific content type (permission) is changed using the
Origin Info dialog.
Note: The values of this metric collected for Chrome 49 (early 2016) are
innacurate and should not be trusted. crbug.com/589255.
</summary>
</histogram>
<histogram name="WebsiteSettings.OriginInfo.PermissionChanged.Allowed"
enum="ContentType" expires_after="2021-08-22">
<owner>andypaicu@chromium.org</owner>
<owner>engedy@chromium.org</owner>
<owner>hkamila@chromium.org</owner>
<summary>
Count of how often a specific content type (permission) is set to 'Allowed'
using the Origin Info dialog.
Note: The values of this metric collected for Chrome 49 (early 2016) are
innacurate and should not be trusted. crbug.com/589255.
</summary>
</histogram>
<histogram name="WebsiteSettings.OriginInfo.PermissionChanged.Blocked"
enum="ContentType" expires_after="2021-08-22">
<owner>andypaicu@chromium.org</owner>
<owner>engedy@chromium.org</owner>
<owner>hkamila@chromium.org</owner>
<summary>
Count of how often a specific content type (permission) is set to 'Blocked'
using the Origin Info dialog.
Note: The values of this metric collected for Chrome 49 (early 2016) are
innacurate and should not be trusted. crbug.com/589255.
</summary>
</histogram>
<histogram name="websql.OpenDatabase" enum="BooleanSecure"
expires_after="never">
<!-- expires-never: core storage metric; consumed in separate dashboard (go/chrome-storage-dashboard) -->
<owner>dmurph@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Counts the number of WebSQL databases opened for secure vs insecure origins.
</summary>
</histogram>
<histogram name="Webstore.ExtensionInstallResult" enum="BooleanSuccess"
expires_after="M81">
<owner>jackhou@chromium.org</owner>
<summary>
The success or failure of all extension installs from the webstore. This
includes those initiated by sync.
</summary>
</histogram>
<histogram name="WebUI.CreatedForUrl" enum="WebUIUrlHashes"
expires_after="2021-10-17">
<owner>dbeam@chromium.org</owner>
<summary>URLs for which Chrome creates WebUIControllers.</summary>
</histogram>
<histogram name="WebUI.Settings.PathVisited" enum="WebUISettingsPathHashes"
expires_after="2021-10-10">
<owner>dschuyler@chromium.org</owner>
<owner>tbuckley@chromium.org</owner>
<owner>bettes@chromium.org</owner>
<summary>
Paths within chrome://settings visited. For evaluating popularity and
priorities for chrome://settings GUI. Note that this metric used to include
paths that were part of OS settings, but starting with M-81, this metric
only records browser settings paths.
</summary>
</histogram>
<histogram name="WebUITabStrip.CloseAction" enum="WebUITabStripCloseActions"
expires_after="2021-10-04">
<owner>collinbaker@chromium.org</owner>
<owner>tluk@chromium.org</owner>
<summary>
The WebUI tab strip is a more touch-friendly tab strip used in place of
Chrome's native tab strip in some cases. It can be opened and closed. This
records how a user closed it.
</summary>
</histogram>
<histogram name="WebUITabStrip.CloseTabAction"
enum="WebUITabStripCloseTabActions" expires_after="2021-10-10">
<owner>johntlee@chromium.org</owner>
<owner>dpapad@chromium.org</owner>
<summary>
The WebUI tab strip is a more touch-friendly tab strip used in place of
Chrome's native tab strip in some cases. This records how a user closed a
tab within the WebUI tab strip.
</summary>
</histogram>
<histogram name="WebUITabStrip.OpenAction" enum="WebUITabStripOpenActions"
expires_after="2021-10-04">
<owner>collinbaker@chromium.org</owner>
<owner>tluk@chromium.org</owner>
<summary>
The WebUI tab strip is a more touch-friendly tab strip used in place of
Chrome's native tab strip in some cases. It can be opened and closed. This
records how a user opened it.
</summary>
</histogram>
<histogram name="WebUITabStrip.OpenDuration" units="ms"
expires_after="2021-10-10">
<owner>collinbaker@chromium.org</owner>
<owner>tluk@chromium.org</owner>
<summary>
The WebUI tab strip is a more touch-friendly tab strip used in place of
Chrome's native tab strip in some cases. It can be opened and closed. This
records how long it was open when closing.
</summary>
</histogram>
<histogram name="WebUITabStrip.TabActivation" units="ms" expires_after="M90">
<owner>robliao@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
WebUI Tabstrip: Time from activating a tab from WebUI to receiving an
activation notification in WebUI.
</summary>
</histogram>
<histogram name="WebUITabStrip.TabCreation" units="ms"
expires_after="2021-08-22">
<owner>robliao@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
WebUI Tabstrip: Time needed to create all of the tab elements at launch.
</summary>
</histogram>
<histogram name="WebUITabStrip.TabDataReceived" units="ms"
expires_after="2021-08-22">
<owner>robliao@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
WebUI Tabstrip: Time from requesting the tab data to receiving the data.
</summary>
</histogram>
<histogram name="WebUsb.ChooserClosed" enum="WebUsbChooserClosed"
expires_after="never">
<!-- expires-never: Used to monitor user interaction with the WebUSB API. -->
<owner>reillyg@chromium.org</owner>
<summary>
Records the reason why the WebUSB device chooser was closed.
</summary>
</histogram>
<histogram name="WebUsb.NotificationClosed" enum="WebUsbNotificationClosed"
expires_after="never">
<!-- expires-never: Used to monitor user interaction with the WebUSB API. -->
<owner>reillyg@chromium.org</owner>
<summary>
Records the reason why the &quot;WebUSB device detected&quot; notification
was dismissed.
</summary>
</histogram>
<histogram name="WebUsb.PermissionRevoked" enum="WebUsbPermissionRevoked"
expires_after="never">
<!-- expires-never: Used to monitor user interaction with the WebUSB API. -->
<owner>reillyg@chromium.org</owner>
<summary>
Records when the user revokes permission for an origin to connect to a USB
device using the WebUSB API.
</summary>
</histogram>
<histogram name="WebView.ApiCall" enum="WebViewApiCall"
expires_after="2022-01-31">
<owner>ntfschr@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>Records calls to WebView APIs in WebViewChromium.</summary>
</histogram>
<histogram name="Welcome.SignInPromptResult" enum="WelcomeSignInPromptOutcome"
expires_after="2021-08-29">
<owner>tmartino@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Records the result of promoting sign-in via the Welcome page.
</summary>
</histogram>
<histogram name="Welcome.Win10.DefaultPromptResult" enum="BooleanDefault"
expires_after="M85">
<owner>tmartino@chromium.org</owner>
<summary>
Records whether or not Chrome was the default browser when the user left the
Win10-specific Welcome page.
</summary>
</histogram>
<histogram name="Welcome.Win10.NewPromoPageAdded" enum="BooleanShown"
expires_after="M77">
<owner>pmonette@chromium.org</owner>
<owner>tmartino@chromium.org</owner>
<summary>
Emits a &quot;true&quot; sample when the revamped WebUI-based welcome page
is added to the startup tabs list. This means that barring an error on
startup, it was shown to the user. This histogram can only be recorded
during first-run flow, when the EnableWelcomeWin10 experiment is enabled.
</summary>
</histogram>
<histogram name="Welcome.Win10.OriginalPromoPageAdded" enum="BooleanShown"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<owner>tmartino@chromium.org</owner>
<summary>
Emits a &quot;true&quot; sample when the old external welcome page is added
to the startup tabs list. This means that barring an error on startup, it
was shown to the user. This histogram can only be recorded during first-run
flow, when the EnableWelcomeWin10 experiment is disabled.
</summary>
</histogram>
<histogram name="Welcome.Win10.PinCheckTimedOut" enum="BooleanTimedOut"
expires_after="M77">
<owner>pmonette@chromium.org</owner>
<owner>tmartino@chromium.org</owner>
<summary>
Records whether or not the check that verifies if Chrome is pinned to the
taskbar has timed out. This check is done when the welcome page is opened in
order to determine which instructions to display to the user.
</summary>
</histogram>
<histogram name="Welcome.Win10.PinnedPromptResult" enum="BooleanPinned"
expires_after="M85">
<owner>tmartino@chromium.org</owner>
<summary>
Records whether or not Chrome was pinned to the taskbar when the user left
the Win10-specific Welcome page.
</summary>
</histogram>
<histogram name="WheelScrolling.WasLatched" enum="BooleanLatched"
expires_after="M77">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Records whether or not a GSU event with wheel source is latched to the
current scrolling element. It is false for the first GSU event of every
scrolling sequence and true for the rest of the GSU events.
</summary>
</histogram>
<histogram name="Win8.PageLoad" enum="Win8PageLoadType" expires_after="M85">
<owner>zturner@chromium.org</owner>
<summary>
Count of page loads in each of the 2 different environments (metro/desktop)
on Windows 8.
</summary>
</histogram>
<histogram name="WindowManager.AppWindowCountPerLoad" units="units"
expires_after="M82">
<owner>kuscher@chromium.org</owner>
<summary>
The number of app windows open when a load completes. This includes windows
opened by an app shortcut, or apps opened in a popup. This only counts v1
apps.
</summary>
</histogram>
<histogram name="WindowManager.PopUpWindowCountPerLoad" units="units"
expires_after="M82">
<owner>kuscher@chromium.org</owner>
<summary>
The number of popup windows open when a load completes. Popup windows only
have one content area (no multiple tabs) and a stripped down toolbar
consisting only of a read-only address bar.
</summary>
</histogram>
<histogram name="WindowManager.TabbedWindowCountPerLoad" units="units"
expires_after="M82">
<owner>kuscher@chromium.org</owner>
<summary>
The number of tabbed windows open when a load completes. A tabbed window is
a normal browser window which can have one or more tabs.
</summary>
</histogram>
<histogram name="WindowOcclusionChanged" enum="WindowOcclusionState"
expires_after="2021-10-04">
<owner>davidbienvenu@chromium.org</owner>
<owner>fdoray@chromium.org</owner>
<summary>
A top level window's occlusion state. Recorded each time the state changes.
</summary>
</histogram>
<histogram name="WinJumplist.Action" enum="WinJumplistCategory"
expires_after="M77">
<owner>noms@chromium.org</owner>
<summary>The type of category clicked in the Windows Jumplist</summary>
</histogram>
<histogram name="WorkerThread.ExitCode" enum="WorkerThreadExitCode"
expires_after="2021-08-29">
<owner>nhiroki@chromium.org</owner>
<owner>chrome-worker@google.com</owner>
<summary>Records the exit code of WorkerThread.</summary>
</histogram>
<histogram name="WrenchMenu.MenuAction" enum="WrenchMenuAction"
expires_after="2021-10-17">
<owner>ainslie@chromium.org</owner>
<owner>edwardjung@chromium.org</owner>
<summary>Number of times that each menu item is clicked.</summary>
</histogram>
<histogram name="WrenchMenu.RecentTabsSubMenu" enum="RecentTabsAction"
expires_after="M85">
<owner>rpop@chromium.org</owner>
<summary>
The number of times each tab or window restore option in the Recent Tabs
submenu is clicked.
</summary>
</histogram>
<histogram name="WrenchMenu.TimeToAction" units="units"
expires_after="2021-08-22">
<owner>ainslie@chromium.org</owner>
<owner>edwardjung@chromium.org</owner>
<summary>
The time a user takes to select a menu item after opening the menu.
</summary>
</histogram>
<histogram name="WrenchMenu.TouchDuration" units="ms" expires_after="M85">
<owner>kkimlabs@chromium.org</owner>
<summary>
Time difference between touch down and touch up on Android wrench button.
</summary>
</histogram>
<histogram name="X11.XInternAtomFailure" units="count"
expires_after="2021-01-01">
<owner>huangdarwin@chromium.org</owner>
<owner>src/ui/base/clipboard/OWNERS</owner>
<summary>
Counts how often the X11 server fails to register an atom. Recorded when
::XInternAtom fails (returns None). Failure rates will inform whether we
implement error handling. https://crbug.com/1000919
</summary>
</histogram>
<histogram name="XHR.Async.PageDismissal" enum="XHRPageDismissalState"
expires_after="M81">
<owner>panicker@chromium.org</owner>
<summary>
Records occurence of async XHR during page dismissal state (unload,
beforeunload, pagehide etc).
</summary>
</histogram>
<histogram name="XHR.Sync.BlockingTime.MainThread" units="ms"
expires_after="2021-01-01">
<owner>foolip@chromium.org</owner>
<summary>
Records the time spent in sync XHR requests on the main thread.
</summary>
</histogram>
<histogram name="XHR.Sync.BlockingTime.WorkerThread" units="ms"
expires_after="2021-01-01">
<owner>foolip@chromium.org</owner>
<summary>
Records the time spent in sync XHR requests in a worker thread.
</summary>
</histogram>
<histogram name="XHR.Sync.PageDismissal" enum="XHRPageDismissalState"
expires_after="2020-06-28">
<owner>panicker@chromium.org</owner>
<summary>
Records occurence of sync XHR during page dismissal state (unload,
beforeunload, pagehide etc).
</summary>
</histogram>
<histogram name="XHR.Sync.PageDismissal_forbidden" enum="XHRPageDismissalState"
expires_after="2020-05-24">
<owner>kdillon@chromium.org</owner>
<owner>panicker@chromium.org</owner>
<summary>
Records occurence of sync XHR requests during page dismissal state (unload,
beforeunload, pagehide etc) that were forbidden.
</summary>
</histogram>
<histogram name="XR.ARCore.DepthBufferSizeInPixels" units="pixels"
expires_after="2021-12-01">
<owner>bialpio@chromium.org</owner>
<owner>xr-dev@chromium.org</owner>
<summary>
Recorded on every frame for as long as depth data is requested in an XR
session backed by ARCore device. Measures the number of pixels (width *
height) in the depth buffer obtained from ARCore.
</summary>
</histogram>
<histogram name="XR.RuntimeUsed" enum="XRDeviceId" expires_after="2021-07-01">
<owner>alcooper@chromium.org</owner>
<owner>xr-dev@chromium.org</owner>
<summary>
Indicates which XR runtime was used for a session. Recorded when the session
was successfully created.
</summary>
</histogram>
<histogram name="XR.WebXR.ReferenceSpace.Requested" enum="XRReferenceSpaceType"
expires_after="2021-03-15">
<obsolete>
Removed 03/2021.
</obsolete>
<owner>alcooper@chromium.org</owner>
<owner>xr-dev@chromium.org</owner>
<summary>
Records which reference space was requested when a site calls
XRSession.requestReferenceSpace().
</summary>
</histogram>
<histogram name="XR.WebXR.ReferenceSpace.Succeeded" enum="XRReferenceSpaceType"
expires_after="2021-09-19">
<owner>alcooper@chromium.org</owner>
<owner>xr-dev@chromium.org</owner>
<summary>
Records which reference spaces are successfully created when the promise
returned by XRSession.requestReferenceSpace() is resolved.
</summary>
</histogram>
<histogram name="ZeroSuggest.AllResults" units="units"
expires_after="2020-03-01">
<owner>hfung@chromium.org</owner>
<summary>
The number of results (either query or URL) from ZeroSuggest. This is set
every time a successful response from ZeroSuggest is received, which can be
every time the user focuses on the omnibox.
</summary>
</histogram>
<histogram name="ZeroSuggest.QueryResults" units="units" expires_after="M77">
<owner>hfung@chromium.org</owner>
<summary>
The number of query results returned from ZeroSuggest. This is set every
time a successful response from ZeroSuggest is received, which can be every
time the user focuses on the omnibox.
</summary>
</histogram>
<histogram name="ZeroSuggest.URLResults" units="units" expires_after="M77">
<owner>hfung@chromium.org</owner>
<summary>
The number of URL results returned from ZeroSuggest. This is set every time
a successful response from ZeroSuggest is received, which can be every time
the user focuses on the omnibox.
</summary>
</histogram>
</histograms>
</histogram-configuration>