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.MstExternalDisplaysPe