blob: 8531103b5c0b6010def48c1df266ab9f6af756f9 [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 follow the instructions in the OWNERS file in this directory to find a
reviewer. If no OWNERS file exists, please consider signing up at
go/reviewing-metrics (Googlers only), as all subdirectories are expected to
have an OWNERS file. As a last resort you can send the CL to
chromium-metrics-reviews@google.com.
-->
<histogram-configuration>
<histograms>
<variants name="AvailabilityProberClient">
<variant name="IsolatedPrerenderCanaryCheck"
summary="(M85 only) Canary check for Isolated Prerenders probing">
<obsolete>
Removed in M98.
</obsolete>
</variant>
<variant name="IsolatedPrerenderDNSCanaryCheck"
summary="DNS canary check for Isolated Prerenders probing">
<obsolete>
Removed in M98.
</obsolete>
</variant>
<variant name="IsolatedPrerenderOriginCheck"
summary="Origin check for Isolated Prerenders">
<obsolete>
Removed in M98.
</obsolete>
</variant>
<variant name="IsolatedPrerenderTLSCanaryCheck"
summary="TLS canary check for Isolated Prerenders probing">
<obsolete>
Removed in M98.
</obsolete>
</variant>
<variant name="Litepages" summary="Lite page HTTPS Server Previews">
<obsolete>
Removed in M84.
</obsolete>
</variant>
<variant name="LitepagesOriginCheck"
summary="Origin check for Litepage previews">
<obsolete>
Removed in M84.
</obsolete>
</variant>
</variants>
<variants name="GridTabSwitcherMessageTypes">
<variant name="PriceAlertsMessageCard"
summary="the promo message for price notifications"/>
<variant name="PriceWelcomeMessageCard"
summary="the message introducing price chips"/>
</variants>
<variants name="ProcessName">
<variant name="BrowserProcess" summary=""/>
<variant name="GPUProcess" summary=""/>
<variant name="NetworkProcess" summary=""/>
<variant name="PluginProcess" summary=""/>
<variant name="PPAPIFlashProcess" summary="">
<obsolete>
Ported over from previous suffix based definition where it was removed on
2021-03 now that support for Flash has been removed.
</obsolete>
</variant>
<variant name="PPAPIProcess" summary=""/>
<variant name="RendererExtensionEventProcess" summary=""/>
<variant name="RendererExtensionPersistentProcess" summary=""/>
<variant name="RendererProcess" summary=""/>
<!-- "Total" variant used to exist but was folded into the histogram names and could not be made obsolete. -->
<variant name="UtilityProcess" summary=""/>
<variant name="WorkerProcess" summary=""/>
</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-04-24">
<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="2022-04-24">
<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="2022-04-10">
<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="2022-04-03">
<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="2022-04-03">
<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="2022-05-01">
<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-05-01">
<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">
<obsolete>
Removed in M95. All users have migrated to the new Account Manager. Not
needed anymore.
</obsolete>
<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">
<obsolete>
Removed in M95. All users have migrated to the new Account Manager. Not
needed anymore.
</obsolete>
<!-- 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">
<obsolete>
Removed in M95. https://crbug.com/1012649 was fixed. Not needed anymore.
</obsolete>
<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="2022-04-10">
<owner>sinhak@chromium.org</owner>
<owner>anastasiian@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="2022-02-06">
<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="2022-04-24">
<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="2022-08-23">
<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. Elapsed time is measured starting from when the Add
Supervision dialog was first opened.
</summary>
</histogram>
<histogram name="AddSupervisionDialog.EnrollmentNotCompletedUserTime"
units="ms" expires_after="2022-08-23">
<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. Elapsed time is
measured starting from when the Add Supervision dialog was first opened.
</summary>
</histogram>
<histogram name="AddSupervisionDialog.SignoutCompletedUserTime" units="ms"
expires_after="2022-08-23">
<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.InterestGroup.Auction.AbortTime" units="ms"
expires_after="2022-03-31">
<owner>mmenke@chromium.org</owner>
<owner>morlovich@chromium.org</owner>
<summary>
The length of time it took to run a FLEDGE auction that was aborted. This
only happens on frame destruction. Recorded when the frame is destroyed.
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.InterestGroup.Auction.AuctionWithWinnerTime" units="ms"
expires_after="2022-06-26">
<owner>mmenke@chromium.org</owner>
<owner>morlovich@chromium.org</owner>
<summary>
The length of time it took to run a FLEDGE auction that had a winning bid.
Recorded on auction complete.
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.InterestGroup.Auction.CompletedWithoutWinnerTime"
units="ms" expires_after="2022-03-31">
<owner>mmenke@chromium.org</owner>
<owner>morlovich@chromium.org</owner>
<summary>
The length of time it took to run a FLEDGE auction that completed
successfully without a winner either due to no bidders making a bid, or the
seller script rejecting all bidders. Not recoded when there are no bidders,
or when an auction fails due to the seller worklet failing to load. Recorded
on auction complete.
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.InterestGroup.Auction.First6AuctionsBitsPerPage"
units="bitfield" expires_after="2022-03-31">
<owner>caraitto@chromium.org</owner>
<owner>pauljensen@chromium.org</owner>
<owner>privacy-sandbox-dev@chromium.org</owner>
<summary>
The outcome of the first 6 auctions reported as bits, tracked per-page,
reported at page unload (if at least 1 auction completed). A 1 indicates
auction success, 0 indicates auction failure. The most significant bit
corresponds to the least recent auction. An extra leading 1 is prepended --
this allows reporting metrics when fewer than 6 auctions occurred during the
page's lifetime. Therefore, the max value is 0b1111111 (7 bits, represents 6
successful auctions), and the min value is 0b10 (represents a page that had
1 failed auction), and every value in between is valid.
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.InterestGroup.Auction.NumAuctionsPerPage" units="auctions"
expires_after="2022-03-31">
<owner>caraitto@chromium.org</owner>
<owner>pauljensen@chromium.org</owner>
<owner>privacy-sandbox-dev@chromium.org</owner>
<summary>
The number of auctions (runAdAuction() calls) per-page, from page load to
unload, reported at unload (if at least 1 auction completed).
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.InterestGroup.Auction.NumInterestGroups" units="groups"
expires_after="2022-06-26">
<owner>mmenke@chromium.org</owner>
<owner>morlovich@chromium.org</owner>
<summary>
The number of a user's interest groups taking part in a FLEDGE auction. This
is the number of interest groups matching the auction configuration, not the
number whose scripts are successfully loaded or that make bids. Recorded
after all matching interest groups have been retrieved from storage at the
start of an auction.
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.InterestGroup.Auction.NumOwnersWithInterestGroups"
units="owners" expires_after="2022-03-31">
<owner>mmenke@chromium.org</owner>
<owner>morlovich@chromium.org</owner>
<summary>
The number of owner origins with interest groups taking part in a FLEDGE
auction. This is not the number of owners listed by the auction's
configuration, but rather only the subset of them that have interest groups
the user currently belongs to. Recorded after all interest groups
participating in an auction have been retrieved from storage at the start of
an auction.
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.InterestGroup.Auction.PercentAuctionsSuccessfulPerPage"
units="%" expires_after="2022-03-31">
<owner>caraitto@chromium.org</owner>
<owner>pauljensen@chromium.org</owner>
<owner>privacy-sandbox-dev@chromium.org</owner>
<summary>
The percentage of auctions (runAdAuction() calls) per-page that succeed,
from page load to unload, reported at unload (if at least 1 auction
completed), rounded down to the nearest percent.
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.InterestGroup.Auction.Result" enum="AuctionResult"
expires_after="2022-06-26">
<owner>mmenke@chromium.org</owner>
<owner>morlovich@chromium.org</owner>
<summary>
The final result type of running a FLEDGE auction. Recorded on auction
completion/cancellation.
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.InterestGroup.Auction.TimeSinceLastAuctionPerPage"
units="ms" expires_after="2022-03-31">
<owner>caraitto@chromium.org</owner>
<owner>pauljensen@chromium.org</owner>
<owner>privacy-sandbox-dev@chromium.org</owner>
<summary>
The duration between runAdAuction() calls, collected on a per-page basis,
reported on each auction.
See https://github.com/WICG/turtledove/blob/main/FLEDGE.md for the latest
version of the FLEDGE explainer.
</summary>
</histogram>
<histogram name="Ads.Media.Duration" units="ms" expires_after="2022-06-26">
<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">
<obsolete>
Removed 04/2020.
</obsolete>
<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">
<obsolete>
Removed 04/2020.
</obsolete>
<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">
<obsolete>
Removed 04/2020.
</obsolete>
<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">
<obsolete>
Removed 04/2020.
</obsolete>
<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="2022-04-24">
<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">
<obsolete>
Removed 2021/09.
</obsolete>
<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.
This histogram erroneously recorded ALLOW when cookies were globally
blocked.
</summary>
</histogram>
<histogram name="API.StorageAccess.AllowedRequests2" enum="StorageAccessResult"
expires_after="2022-03-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="appcache.Manifest.ChromeHeader" enum="BooleanPresent"
expires_after="M82">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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-10-05">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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-10-05">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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-10-05">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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-10-05">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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="2022-01-30">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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-10-05">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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="2022-02-13">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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-10-05">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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-10-05">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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-10-05">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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-10-05">
<obsolete>
Removed in M96. Appcache was disabled in M95.
</obsolete>
<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="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-11-14">
<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="2022-06-26">
<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">
<obsolete>
Removed in M97 as it was expired and it was not not updated on omnibox
reverts, which led to incorrect counts.
AutocompleteActionPredictor.NoStatePrefetchStatus is the new alternative.
</obsolete>
<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="2022-07-03">
<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="2022-07-03">
<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 name="AutocompleteActionPredictor.NoStatePrefetchStatus"
enum="AutocompleteActionPredictorNoStatePrefetchStatus"
expires_after="2022-06-01">
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@google.com</owner>
<summary>
Records the status of no state prefetches started by the omnibox action
predictor. In particular, this records whether they were used or not.
</summary>
</histogram>
<histogram base="true"
name="Availability.Prober.CacheEntryAge.{AvailabilityProberClient}"
units="hours" expires_after="M95">
<obsolete>
Removed in M98. The corresponding histogram for canary checks is
PrefetchProxy.CanaryChecker.CacheEntryAge.
</obsolete>
<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>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</histogram>
<histogram base="true"
name="Availability.Prober.DidSucceed.AfterReportedFailure.{AvailabilityProberClient}"
enum="BooleanSuccess" expires_after="M95">
<obsolete>
Removed in M98.
</obsolete>
<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>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</histogram>
<histogram base="true"
name="Availability.Prober.DidSucceed.{AvailabilityProberClient}"
enum="BooleanSuccess" expires_after="M95">
<obsolete>
Removed in M98.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the completion status of a probe when it completes each attempt.
</summary>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</histogram>
<histogram base="true"
name="Availability.Prober.FinalState.{AvailabilityProberClient}"
enum="BooleanSuccess" expires_after="M95">
<obsolete>
Removed in M98. The corresponding histogram for canary checks is
PrefetchProxy.CanaryChecker.FinalState.
</obsolete>
<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>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</histogram>
<histogram base="true"
name="Availability.Prober.GenerateCacheKey.{AvailabilityProberClient}"
units="ms" expires_after="M99">
<obsolete>
Removed in M98. The corresponding histogram for canary checks is
PrefetchProxy.CanaryChecker.GenerateCacheKey.
</obsolete>
<owner>spelchat@chromium.org</owner>
<owner>curranmax@chromium.org</owner>
<summary>
Records the amount of time spent generating a cache key for the availability
prober. In particular, this tracks how much getNetworkOperator calls might
be slowing down this method. See crbug.com/1266018 for more details.
</summary>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</histogram>
<histogram base="true"
name="Availability.Prober.NetError.{AvailabilityProberClient}"
enum="NetErrorCodes" expires_after="M95">
<obsolete>
Removed in M98. The corresponding histogram for canary checks is
PrefetchProxy.CanaryChecker.NetError.
</obsolete>
<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>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</histogram>
<histogram base="true"
name="Availability.Prober.NumAttemptsBeforeSuccess.{AvailabilityProberClient}"
units="count" expires_after="M95">
<obsolete>
Removed in M98. The corresponding histogram for canary checks is
PrefetchProxy.CanaryChecker.NumAttemptsBeforeSuccess.
</obsolete>
<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>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</histogram>
<histogram base="true"
name="Availability.Prober.ResponseCode.{AvailabilityProberClient}"
enum="HttpResponseCode" expires_after="M95">
<obsolete>
Removed in M98.
</obsolete>
<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>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</histogram>
<histogram base="true"
name="Availability.Prober.TimeUntilFailure2.{AvailabilityProberClient}"
units="ms" expires_after="M95">
<obsolete>
Removed in M98. The corresponding histogram for canary checks is
PrefetchProxy.CanaryChecker.TimeUntilFailure.
</obsolete>
<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>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</histogram>
<histogram base="true"
name="Availability.Prober.TimeUntilSuccess2.{AvailabilityProberClient}"
units="ms" expires_after="M95">
<obsolete>
Removed in M98. The corresponding histogram for canary checks is
PrefetchProxy.CanaryChecker.TimeUntilSuccess.
</obsolete>
<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>
<token key="AvailabilityProberClient" variants="AvailabilityProberClient"/>
</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">
<obsolete>
Removed 2021-08-11. https://crbug.com/1165237
</obsolete>
<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">
<obsolete>
Removed 2021-08-11. https://crbug.com/1165237
</obsolete>
<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">
<obsolete>
Removed 2021-08-11. https://crbug.com/1165237
</obsolete>
<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">
<obsolete>
Removed 2021-09-02 due to being unused in the codebase.
</obsolete>
<owner>timvolodine@chromium.org</owner>
<owner>src/services/device/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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-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="2022-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="2022-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="2022-12-31">
<owner>sonnysasaka@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-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="2022-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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-12-31">
<owner>mcchou@chromium.org</owner>
<owner>chromeos-bt-platform-sw-core@google.com</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="2022-06-26">
<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="2022-06-12">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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="2022-05-01">
<owner>roagarwal@chromium.org</owner>
<owner>sideyilmaz@chromium.org</owner>
<owner>chrome-incognito@google.com</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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="2022-07-03">
<owner>roagarwal@chromium.org</owner>
<owner>sideyilmaz@chromium.org</owner>
<owner>chrome-incognito@google.com</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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="2022-06-26">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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="2022-06-01">
<owner>wylieb@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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="2022-06-05">
<owner>supertri@chromium.org</owner>
<owner>isherman@chromium.org</owner>
<owner>aidanday@google.com</owner>
<owner>mamir@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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="2022-06-30">
<owner>mastiz@chromium.org</owner>
<owner>sky@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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-10-10">
<owner>mastiz@chromium.org</owner>
<owner>sky@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<summary>
Time to compute values to be logged for UMA metrics
Bookmarks.Count.OnProfileLoad.*.
</summary>
</histogram>
<histogram name="Bookmarks.EntryPoint" enum="BookmarksEntryPoint"
expires_after="2022-06-05">
<owner>ianwen@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<summary>How users add a new bookmark.</summary>
</histogram>
<histogram name="Bookmarks.LaunchLocation" enum="BookmarkLaunchLocation"
expires_after="2022-06-12">
<owner>ianwen@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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-07-03">
<owner>roagarwal@chromium.org</owner>
<owner>chrome-incognito@google.com</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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="2022-06-12">
<owner>wychen@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<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="2022-06-12">
<owner>shaktisahu@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<component>UI&gt;Browser&gt;Mobile&gt;ReadingList</component>
<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="2022-06-12">
<owner>shaktisahu@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<component>UI&gt;Browser&gt;Mobile&gt;ReadingList</component>
<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="2022-06-26">
<owner>shaktisahu@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<component>UI&gt;Browser&gt;Mobile&gt;ReadingList</component>
<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="2022-06-26">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<summary>
Recorded when an action in the Bookmark icon menu is clicked.
</summary>
</histogram>
<histogram name="Bookmarks.UsageCountPerProfileType" enum="BrowserProfileType"
expires_after="2022-06-12">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<component>UI&gt;Browser&gt;Bookmarks</component>
<summary>
The number of times bookmarks are used in each profile type. Recorded when a
bookmark is clicked.
</summary>
</histogram>
<histogram name="BootTime.Login2" units="ms" expires_after="2022-04-03">
<owner>rsorokin@chromium.org</owner>
<owner>antrim@chromium.org</owner>
<owner>alemate@chromium.org</owner>
<owner>cros-oac@chromium.org</owner>
<summary>
Time from the moment sign in authentication is started until the first user
session UI elements become ready to use. (Chrome OS).
</summary>
</histogram>
<histogram name="BootTime.Total2" units="ms" expires_after="2022-04-03">
<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="2022-06-26">
<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="2021-07-14">
<obsolete>
Retired in M93, replaced by Canvas.TextMetrics.SetFont2 which has a wider
range.
</obsolete>
<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="Canvas.TextMetrics.SetFont2" units="microseconds"
expires_after="M93">
<obsolete>
Retired in M94.
</obsolete>
<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.
This differs from Canvas.TextMetrics.SetFont in that it uses buckets up to
ten seconds rather than ten milliseconds (due to a change in the underlying
histogramming function 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">
<obsolete>
Removed from code 2021-08.
</obsolete>
<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.Sender.CastMediaType" enum="MediaContainers"
expires_after="2022-02-01">
<obsolete>
No longer collected as of 2022-01.
</obsolete>
<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-06-19">
<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="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 utility process crashes, bucketed by the hash of their
process name. The process name is typically the service name of the mojo
service. Recorded when a Utility process crashes.
</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="2022-06-12">
<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="ChildProcess.LaunchFailed.UtilityProcessErrorCode"
enum="LaunchErrorCodes" 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>
A platform-specific error code returned from the attempt to launch a Utility
process. Recorded when a Utility process fails to launch.
</summary>
</histogram>
<histogram name="ChildProcess.LaunchFailed.UtilityProcessHash"
enum="UtilityProcessNameHash" 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 utility process launch failures, bucketed by the hash of
their process name. The process name is typically the service name of the
mojo service. Recorded when a Utility process fails to launch.
</summary>
</histogram>
<histogram name="ChildProcess.LaunchFailed.WinLastError" enum="WinGetLastError"
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>
An extended Windows error code returned from GetLastError when failing to
launch a utility process. Recorded when a Utility process fails to launch on
Windows.
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.BrowserLoadTime" units="ms"
expires_after="2022-10-01">
<obsolete>
Replaced by ChromiumAndroidLinker.BrowserLoadTime2 in 2021-07.
</obsolete>
<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.ChildProcessZygoteState"
enum="ZygoteChildState" expires_after="2022-10-01">
<owner>pasko@chromium.org</owner>
<owner>boliu@chromium.org</owner>
<summary>
Recorded when a new child process becomes known to the browser process. Only
recorded on S+, and only when the child process inherits from the app
zygote, and only when the feature of sharing RELRO between the Browser and
the App Zygote is enabled.
Describes whether the App Zygote PID discovered from the child belongs to a
known App Zygote, or the App Zygote was restarted.
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.ModernLinkerDetailedLoadTime.{LoadKind}"
units="ms" expires_after="2022-10-01">
<owner>pasko@chromium.org</owner>
<owner>agrieve@chromium.org</owner>
<summary>
The ModernLinker loads the native library twice: once with
android_dlopen_ext, and if the first one does not fail, also invokes
System.loadLibrary(). This histogram reflects the time to load the native
library when {LoadKind}.
Failed load does not record a sample. Failing the first load would also
avoid recording the histogram for the second load.
See a description of RELRO sharing here:
https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/android_native_libraries.md#RELRO-Sharing
</summary>
<token key="LoadKind">
<variant name="Consume"
summary="consuming an external RELRO is expected later, with
android_dlopen_ext"/>
<variant name="NoSharing"
summary="RELRO sharing cooperation is not requested (fallback, in
testing)"/>
<variant name="Produce"
summary="producing RELRO is requested, with android_dlopen_ext"/>
<variant name="Second"
summary="the first load succeeded and the System.loadLibrary() time
is measured"/>
</token>
</histogram>
<histogram
name="ChromiumAndroidLinker.ModernLinkerDetailedLoadTimeByBlkioCgroup.{LoadKind}.{BackgroundState}"
units="ms" expires_after="2022-10-01">
<owner>pasko@chromium.org</owner>
<owner>agrieve@chromium.org</owner>
<summary>
Same as ModernLinkerDetailedLoadTime.*, but additionally split by process
background state as known to cgroups.
Reflects load time when the app {BackgroundState}. When {LoadKind}.
</summary>
<token key="LoadKind">
<variant name="Consume"
summary="consuming an external RELRO is expected later, with
android_dlopen_ext"/>
<variant name="NoSharing"
summary="RELRO sharing cooperation is not requested (fallback, in
testing)"/>
<variant name="Produce"
summary="producing RELRO is requested, with android_dlopen_ext"/>
<variant name="Second"
summary="the first load succeeded and the System.loadLibrary() time
is measured"/>
</token>
<token key="BackgroundState">
<variant name="Background" summary="has been in background (=Background)"/>
<variant name="Foreground" summary="has been in foreground (=Foreground)"/>
<variant name="Mixed"
summary="observed background state changing (=Mixed)"/>
<variant name="Unknown"
summary="has been in unknown state because it failed to parse cgroups
(=Unknown)"/>
</token>
</histogram>
<histogram name="ChromiumAndroidLinker.ModernLinkerDlopenExtTime" units="ms"
expires_after="2022-10-01">
<owner>pasko@chromium.org</owner>
<owner>agrieve@chromium.org</owner>
<summary>
The amount of time the ModernLinker spends to run android_dlopen_ext().
Samples from the app zygote process can be counted multiple times when the
app zygote is enabled. See ChromiumAndroidLinker.*LoadTime2 for details.
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.ModernLinkerIteratePhdrTime" units="ms"
expires_after="2022-10-01">
<owner>pasko@chromium.org</owner>
<owner>agrieve@chromium.org</owner>
<summary>
The amount of time the ModernLinker spends to find the RELRO region using
dl_iterate_phdr(). Samples from the app zygote process can be counted
multiple times when the app zygote is enabled. See
ChromiumAndroidLinker.*LoadTime2 for details.
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.RelroAvailableImmediately"
enum="BooleanRelroAvailableImmediately" expires_after="2022-10-01">
<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="2022-10-01">
<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="2022-10-01">
<obsolete>
Upgraded to ChromiumAndroidLinker.RelroSharingStatus2 around 2021-10.
</obsolete>
<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.RelroSharingStatus2"
enum="RelroSharingStatus" expires_after="2022-10-01">
<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.
See a description of RELRO sharing here:
https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/android_native_libraries.md#RELRO-Sharing
</summary>
</histogram>
<histogram name="ChromiumAndroidLinker.RendererLoadTime" units="ms"
expires_after="2022-10-01">
<obsolete>
Replaced by ChromiumAndroidLinker.ChildLoadTime2 in 2021-07.
</obsolete>
<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="ChromiumAndroidLinker.TimeToFindWebViewReservation.{SearchStatus}.{ProcessType}"
units="ms" expires_after="2022-10-01">
<owner>pasko@chromium.org</owner>
<owner>lizeb@chromium.org</owner>
<summary>
The amount of time to find the memory address reservation intended for
WebView. This search is sometimes initiated as an early stage of loading the
native library. A sample is discarded if the attempt to load the native
library fails.
Measured when running in {ProcessType} process. Only for {SearchStatus}
searches.
For a more detailed description of each suffix process type suffix (Browser,
Child, Zygote) see description of the ChromiumAndroidLinker.*LoadTime2.
</summary>
<token key="ProcessType">
<variant name="Browser" summary="a browser"/>
<variant name="Child" summary="a child"/>
<variant name="Zygote" summary="an app zygote"/>
</token>
<token key="SearchStatus">
<variant name="Found" summary="successful"/>
<variant name="NotFound" summary="unsuccessful"/>
</token>
</histogram>
<histogram name="ChromiumAndroidLinker.{ProcessType}LoadTime2" units="ms"
expires_after="2022-10-01">
<owner>pasko@chromium.org</owner>
<owner>rsesek@chromium.org</owner>
<summary>
The amount of time it took to load the native libraries in {ProcessType}.
In order to explain the nature of the uploaded samples for this histogram it
is necessary to define a few core properties of the running processes.
On Android 10 (=Q) a new feature was introduced and became used in Chrome:
App Zygotes. An App Zygote (AZ) is a process pre-created by the system to
allow faster initialization of isolated processes (IP) for a specific app.
When AZ is created it runs the app-specific &quot;preload&quot; function
once, and becomes idle, after that no work can be performed in the AZ other
than getting forked. Whenever an app requests the Android Framework (AF) to
provide an isolated process, the AF notifies the AZ to fork itself into a
new process, which later will be provided to the app. An AZ created for one
app (package) cannot be used for another app.
The purpose of the AZ in Chrome is to load the native library - it avoids
loading the same library in each isolated process separately.
Capabilities of the AZ are very restricted. It runs in the same sandbox
constraints as an isolated process, while also not having the ability to
communicate with any other process on the system. Only after forking from
the AZ the inherited process becomes able to communicate to the rest of
Chrome.
Beyond isolated processes, Chrome can request processes with more
privileges: privileged processes (PP). In this case those processes will be
forked from another zygote. There are several types of those zygotes, we
will refer to them as Other Zygote (OZ) for simplicity. The decisions
whether to start an isolated process through an AZ, and when to start a new
AZ are made dynamically and depends on a few factors.
The suffixes of this histogram, as described below, correspond to distinct
execution scenarios:
Suffix &quot;Browser&quot;: the native library is loaded in the main app
process
Suffix &quot;Zygote&quot;: OZ forks into AZ, AZ loads the native library, AZ
forks into IP
Suffix &quot;Child&quot;: OZ forks into PP, PP loads the native library
Suffix &quot;Child&quot;: OZ forks into IP, IP loads the native library
Suffix &quot;Child&quot;: OZ forks into AZ, AZ fails to load the native
library, AZ forks into IP, IP loads the native library (this scenario should
happen rarely).
After library loading happens in the AZ, the recorded histogram value (for
simplicity) gets copied to each child process forked from this AZ process
and uploaded &quot;as if&quot; it is a unique sample from this child
process. This leads to a discrepancy in sample counts.
In early 2021-10 it had about 7% extra uploaded samples in
&quot;ChromiumAndroidLinker.ZygoteLoadTime2&quot;.
</summary>
<token key="ProcessType">
<variant name="Browser" summary="the browser process"/>
<variant name="Child" summary="a child process"/>
<variant name="Zygote" summary="the App Zygote"/>
</token>
</histogram>
<histogram name="ChromiumAndroidLinker.{ProcessType}ThreadLoadTime" units="ms"
expires_after="2022-10-01">
<owner>pasko@chromium.org</owner>
<owner>agrieve@chromium.org</owner>
<summary>
The amount of CPU time (thread time) it took to load the native libraries in
{ProcessType}.
For a more detailed description of each suffix process type suffix (Browser,
Child, Zygote) see description of the ChromiumAndroidLinker.*LoadTime2.
</summary>
<token key="ProcessType">
<variant name="Browser" summary="the browser process"/>
<variant name="Child" summary="a child process"/>
<variant name="Zygote" summary="the App Zygote"/>
</token>
</histogram>
<histogram name="Chromoting.Connections" enum="State"
expires_after="2018-08-30">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<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">
<obsolete>
Removed in M98, metrics haven't been collected since ~mid 2019.
</obsolete>
<owner>jamiewalch@chromium.org</owner>
<summary>
Delay before an encoded video packet is written to the send buffer.
</summary>
</histogram>
<histogram name="ClientHints.AcceptCHFrame" enum="AcceptCHFrameRestart"
expires_after="2022-06-05">
<owner>aarontag@chromium.org</owner>
<owner>miketaylr@chromium.org</owner>
<summary>
Emitted on two related events: First, when an request that is eligable to be
restarted receives an ACCEPT_CH HTTP2/HTTP3 frame via a TLS connection with
the relevent ALPS setting. Next, if that frame causes that request to be
restarted.
</summary>
</histogram>
<histogram name="ClientHints.CriticalCHRestart" enum="CriticalCHRestart"
expires_after="2022-06-05">
<owner>aarontag@chromium.org</owner>
<owner>miketaylr@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="2022-10-25">
<obsolete>
Removed December 2021 as accept-ch-lifetime was retired.
</obsolete>
<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. Collected while navigation responses are
being processed.
</summary>
</histogram>
<histogram name="ClientHints.UpdateEventCount" units="count"
expires_after="2022-10-25">
<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. Collected while navigation responses are being processed.
</summary>
</histogram>
<histogram name="ClientHints.UpdateSize" units="count"
expires_after="2022-10-25">
<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. Collected while navigation responses are being processed.
</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="2022-06-05">
<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">
<obsolete>
Removed July 2021 as enough data was collected.
</obsolete>
<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="2022-06-05">
<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.AndroidComponentLoader.LoadStatus"
enum="AndroidComponentLoaderLoadStatus" expires_after="2022-07-01">
<!-- Name completed by histogram_suffixes
name="ComponentUpdater.AndroidComponentLoader.ComponentName" -->
<owner>hazems@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<owner>src/components/component_updater/android/OWNERS</owner>
<summary>
Records component loading success, or the failure reason if the component
loading fails using the EmbeddedComponentLoader. Note that success here just
means that the component has been fetched successfully from the components
provider service. However, this doesn't neccessary mean that the component
will be then loaded successfully in the system by its respective
ComponentLoaderPolicy implementation.
</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 name="Conflicts.ConfirmedBadModules" units="modules"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The number of confirmed bad modules found during module enumeration.
</summary>
</histogram>
<histogram name="Conflicts.EnumerateLoadedModules" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The length of time it takes to enumerate the loaded modules in the browser
process.
</summary>
</histogram>
<histogram name="Conflicts.EnumerateShellExtensions" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The length of time it takes to enumerate the shell extensions.
</summary>
</histogram>
<histogram name="Conflicts.EnumerateWinsockModules" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The length of time it takes to enumerate the Winsock LSP modules.
</summary>
</histogram>
<histogram name="Conflicts.EnumerationInspectionTime" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The cumulative length of time it takes to inspect all modules on disk,
extracting their certificates and version information. This work is actually
spread out over a much longer period of time so as not to impact the user.
</summary>
</histogram>
<histogram name="Conflicts.EnumerationTotalTime" units="ms"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The cumulative length of time it takes to enumerate and inspect all modules.
This work is actually spread out over a much longer period of time so as not
to impact the user.
</summary>
</histogram>
<histogram name="Conflicts.SuspectedBadModules" units="modules"
expires_after="2018-08-30">
<owner>chrisha@chromium.org</owner>
<summary>
The number of suspected bad modules found during module enumeration.
</summary>
</histogram>
<histogram name="ConnectivityDiagnostics.ChromeOsSignalStrength" units="%"
expires_after="2020-06-28">
<owner>ebeach@google.com</owner>
<summary>
Connectivity Diagnostics App: WiFi signal strength recorded during
NIC_SIGNAL_STRENGTH test.
The &quot;Strength&quot; property of a WiFi signal is a partially-reversible
function that linearly maps the RSSI range -120dBm to -20dBm to Strength
values from 0 to 100.
</summary>
</histogram>
<histogram name="ConnectivityDiagnostics.RESOLVER_LATENCY" units="ms"
expires_after="M83">
<owner>ebeach@google.com</owner>
<summary>
Resolution latency seen by the Connectivity Diagnostics.
Resolver latency is computed by using the chrome.dns API to query three
randomly generated Google hostnames (*-ccd-testing-v4.metric.gstatic.com).
The random hostnames guarantees that there will be no caching of DNS
hostnames. The time taken from issuing the DNS request to receiving a
response is clocked in JavaScript and the arithmetic mean of the three times
is used as the resolver latency.
</summary>
</histogram>
<histogram name="ContextMenu.CancelSystemTouches" enum="BooleanHit"
expires_after="M98">
<obsolete>
Removed in M98 as the Context menu implementation changed.
</obsolete>
<owner>michaeldo@chromium.org</owner>
<owner>src/ios/web/OWNERS</owner>
<summary>
Logs true when the system touches are cancelled in order to show the Context
Menu instead of performing a default system action. Only logged on iOS.
</summary>
</histogram>
<histogram name="ContextMenu.DelayedElementDetails"
enum="ContextMenuDelayedElementDetails" expires_after="M98">
<obsolete>
Removed in M98 as the context menu implementation changed.
</obsolete>
<owner>michaeldo@chromium.org</owner>
<owner>src/ios/web/OWNERS</owner>
<summary>
Logged when DOM element details are not yet available when the user
completes a long press. Also logs if the context menu was shown once the
element details became available or if the display was cancelled. This
ensures that all context menu gestures are eventually processed. Only logged
on iOS.
</summary>
</histogram>
<histogram name="ContextMenu.DOMElementFrame" enum="ContextMenuDOMElementFrame"
expires_after="M98">
<obsolete>
Removed in M98 as the ContextMenu implementation changed.
</obsolete>
<owner>michaeldo@chromium.org</owner>
<owner>src/ios/web/OWNERS</owner>
<summary>
Logged when the Context Menu will be displayed. Also logs if the element for
the last touch was found in the main frame or a iframe. Only logged on iOS.
</summary>
</histogram>
<histogram name="ContextMenu.iOS.CopyImage" enum="ContextMenuIOSCopyImage"
expires_after="2021-12-05">
<obsolete>
Previously removed from code.
</obsolete>
<owner>mrsuyi@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
Logged when the copying image from context menu is invoked and relevant
events happen during the copying image procedure.
</summary>
</histogram>
<histogram name="ContextMenu.iOS.GetImageDataByJsResult"
enum="ContextMenuIOSGetImageDataByJsResult" expires_after="2022-06-26">
<owner>mrsuyi@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
Result of getting image data by JavaScript for CopyImage, SaveImage and
SearchByImage from iOS context menu. Recorded when the JavaScript returns,
or fails for timeout.
</summary>
</histogram>
<histogram name="ContextMenu.iOS.LensSupportStatus" enum="IOSLensSupportStatus"
expires_after="2022-05-16">
<owner>hujasonx@google.com</owner>
<owner>lens-in-bling-team@google.com</owner>
<summary>
Whether or not Lens is supported, and if not, the reason why. Recorded only
if the feature is enabled when the long-press context menu is shown for an
image.
</summary>
</histogram>
<histogram name="ContextMenu.LensChip.Event" enum="LensChipEvent"
expires_after="2022-06-05">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged when the Lens chip is shown and relevant events when the user
interacts with the Lens chip. Only logged on Android.
</summary>
</histogram>
<histogram name="ContextMenu.LensSupportStatus" enum="LensSupportStatus"
expires_after="2022-05-29">
<owner>benwgold@google.com</owner>
<owner>lens-chrome@google.com</owner>
<summary>
Whether the user supports the Lens intent and if not, the reason why.
Recorded only if the feature is enabled when the long-press context menu is
shown for an image.
</summary>
</histogram>
<histogram name="ContextMenu.SaveLinkType" enum="ContextMenuSaveLinkType"
expires_after="M77">
<owner>qinmin@chromium.org</owner>
<summary>
Type of the url when user saves the content through the save link context
menu.
</summary>
</histogram>
<histogram base="true" name="ContextMenu.SelectedOptionAndroid"
enum="ContextMenuOptionAndroid" expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
<owner>avi@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
The option that the user selected from a context menu on Android. This is
logged on Android only; check out ContextMenu.SelectedOptionIOS for iOS, and
ContextMenu.SelectedOptionDesktop for desktop. Note that if a menu is
invoked on mixed content, only one of the submetrics receives the log; read
the code to determine which one.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram name="ContextMenu.SelectedOptionAndroid.{LinkType}.NewTabOption"
enum="SelectedNewTabCreationOption" expires_after="M95">
<owner>meiliang@chromium.org</owner>
<owner>sbirch@chromium.org</owner>
<summary>
This records the order of the context menu item 'Open in new tab' and 'Open
in new tab in group' and the which item is selected. This is logged on
Android only. It is logged when user long pressed on {LinkType} and selected
either the 'Open in new tab' or the 'Open in new tab in group' item from the
context menu.
</summary>
<token key="LinkType">
<variant name="ImageLink" summary="an image link"/>
<variant name="Link" summary="a link"/>
</token>
</histogram>
<histogram base="true" name="ContextMenu.SelectedOptionDesktop"
enum="ContextMenuOptionDesktop" expires_after="2022-06-05">
<owner>avi@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<summary>
The option that the user selected from a context menu on desktop. This is
logged on desktop only; check out ContextMenu.SelectedOptionIOS for iOS, and
ContextMenu.SelectedOptionAndroid for Android. Note that if a menu is
invoked on mixed content, only one of the submetrics receives the log; read
the code to determine which one.
</summary>
</histogram>
<histogram base="true" name="ContextMenu.SelectedOptionIOS"
enum="ContextMenuOptionIOS" expires_after="M98">
<obsolete>
Replaced by Mobile.ContextMenu.WebImage.Actions,
Mobile.ContextMenu.WebImageLink.Actions and
Mobile.ContextMenu.WebLink.Actions in M98
</obsolete>
<owner>avi@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
The option that the user selected from a context menu on iOS. This is logged
on iOS only; check out ContextMenu.SelectedOptionAndroid for Android, and
ContextMenu.SelectedOptionDesktop for desktop. Note that if a menu is
invoked on mixed content, only one of the submetrics receives the log; read
the code to determine which one.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram name="ContextMenu.Shown" enum="BooleanPresent"
expires_after="2022-07-03">
<owner>mpearson@chromium.org</owner>
<owner>twellington@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Recorded when a context menu is shown, sliced by whether a web contents was
present. (It generally should be; indeed, this code path should not be
followed when it is absent. For instance, invoking a context menu from the
new tab page or from the sad tab page will not cause an emission to this
histogram.) Note that this refers to link context menus, not the
cut-copy-paste context menus that can appear during long presses on text on
a web page or long presses in the omnibox. This is an Android-only metric;
compare with RenderViewContextMenu.Shown and RenderViewContextMenu.Used on
desktop.
</summary>
</histogram>
<histogram name="ContextMenu.ThumbnailFetched" enum="BooleanSuccess"
expires_after="2020-06-30">
<obsolete>
Removed in M88.
</obsolete>
<owner>twellington@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Logged when the callback to fetch the thumbnail returns a result: Success
(bitmap data received) or Failure (null bitmap). Android only.
</summary>
</histogram>
<histogram name="ContextMenu.TimeToSelectShare" units="ms"
expires_after="2022-06-12">
<owner>gayane@chromium.org</owner>
<owner>chrome-shared-highlighting@google.com</owner>
<summary>
Records how long it takes to press on &quot;Share&quot; from the time
context menu is shown. Android only.
</summary>
</histogram>
<histogram name="ContextMenu.TimeToTakeAction.Abandoned" units="ms"
expires_after="2022-05-01">
<owner>twellington@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
The time it takes for the user to abandon the context menu after it's shown
by pressing back or touching outside the menu. This is only logged if the
menu is abandoned. See ContextMenu.TimeToTakeAction.SelectedItem for the
cases where it is closed as a result of user interaction with the menu.
Android only.
</summary>
</histogram>
<histogram name="ContextMenu.TimeToTakeAction.SelectedItem" units="ms"
expires_after="2022-06-12">
<owner>twellington@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
The time it takes for the user to select an item. This is only logged if the
menu is closed as a result of the user clicking a menu item or a DirectShare
button. See ContextMenu.TimeToTakeAction.Abandoned for the cases where it is
abandoned by the user. Android only.
</summary>
</histogram>
<histogram name="ContextMenu.URLClicked" enum="BooleanClicked"
expires_after="2022-06-05">
<owner>twellington@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>Logged when the URL is clicked. Android only.</summary>
</histogram>
<histogram name="ContextMenu.ViewsTextServices.Emoji" enum="Boolean"
expires_after="2022-07-03">
<owner>yyushkina@chromium.org</owner>
<summary>
Number of times the emoji item in the views text services context menu is
used.
</summary>
</histogram>
<histogram name="ContextMenu.WaitingForElementDetails" enum="BooleanHit"
expires_after="M98">
<obsolete>
Removed in M98 as the context menu implementation changed.
</obsolete>
<owner>michaeldo@chromium.org</owner>
<owner>src/ios/web/OWNERS</owner>
<summary>
Logs true when the context menu gesture recognizer fully recognizes a long
press, but is still waiting on the DOM element details before the context
menu can be shown. Only logged on iOS.
</summary>
</histogram>
<histogram name="Conversion.ReportSendOutcome"
enum="ConversionReportSendOutcome" expires_after="M105">
<obsolete>
Replaced with Conversions.ReportSendOutcome, 01/2022.
</obsolete>
<owner>linnan@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Records the high level request status of a conversion report. Recorded once
per conversion report. For conversion report that has been retried, only the
last retry will be counted.
</summary>
</histogram>
<histogram name="Conversions.AppToWeb.AttributionEvents"
enum="AttributionEvent" expires_after="2022-12-08">
<owner>johnidel@chromium.org</owner>
<owner>mthiesse@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Records events for the App To Web Impressions ContentProvider in order to
track how many attributions are received/lost/reported to the native
conversions code. Note that reported post-native only counts impressions
that were cached pre-native, not all reported impressions.
A single impression may emit multiple different attribution events.
</summary>
</histogram>
<histogram name="Conversions.ClearDataTime" units="ms" expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time it takes to clear conversion data. Logged any time site
data is cleared in Chrome.
</summary>
</histogram>
<histogram name="Conversions.ConversionIgnoredByFeaturePolicy"
enum="BooleanIgnored" expires_after="M105">
<owner>apaseltiner@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Measures how often conversions are ignored due to the feature policy being
disabled. Recorded when an attribution trigger redirect is received. Not
recorded if the frame is deatched, the runtime feature is disabled, or the
redirect is not same-origin with previous URL.
</summary>
</histogram>
<histogram name="Conversions.CreateReportStatus"
enum="ConversionStorageCreateReportStatus" expires_after="M105">
<owner>apaseltiner@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Measures how often conversions are stored successfully or rejected and why.
Recorded once for each conversion event processed by the attribution storage
layer.
</summary>
</histogram>
<histogram name="Conversions.DeleteSentReportOperation"
enum="ConversionPostSendReportDeleteEvent" expires_after="M105">
<owner>apaseltiner@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Measures how often conversions are deleted after being sent. Recorded once
for each deletion started and each deletion completed. Deletion may fail if
the browser was shut down before the deletion completed, or if there was an
error during storage.
</summary>
</histogram>
<histogram name="Conversions.ExtraReportDelay" units="ms"
expires_after="2021-12-19">
<obsolete>
Replaced with Conversions.ExtraReportDelay2, which has a greater range.
</obsolete>
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the &quot;extra&quot; non-scheduled time it took to send a
particular conversion report. This is primarily due to a report's scheduled
report time taking place while the browser is closed. Recorded when a
conversion report is sent.
</summary>
</histogram>
<histogram name="Conversions.ExtraReportDelay2" units="ms" expires_after="M105">
<owner>apaseltiner@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the &quot;extra&quot; non-scheduled time it took to send a
particular conversion report. This is primarily due to a report's scheduled
report time taking place while the browser is closed. Recorded when a
conversion report is sent.
</summary>
</histogram>
<histogram name="Conversions.ImpressionIgnoredByFeaturePolicy"
enum="BooleanIgnored" expires_after="M105">
<owner>apaseltiner@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Measures how often impressions are ignored due to the feature policy being
disabled. Recorded when an attribution source is parsed. Not recorded if the
runtime feature is disabled or no frame is present.
</summary>
</histogram>
<histogram name="Conversions.ImpressionNavigationHasDeadInitiator"
enum="Boolean" expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Measures how often impressions are ignored because the initiator frame is
dead by the time the navigation reaches the browser.
</summary>
</histogram>
<histogram name="Conversions.ImpressionsDeletedInDataClearOperation"
units="impressions" expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records the number of impressions deleted per clearing operation.
</summary>
</histogram>
<histogram name="Conversions.RedirectInterceptedFrameDetached" enum="Boolean"
expires_after="M105">
<owner>apaseltiner@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Measures how often conversions are not handled due to the frame being
detached. Recorded when an attribution trigger redirect is received. This is
recorded regardless of the Attribution Reporting API being enabled.
</summary>
</histogram>
<histogram name="Conversions.RegisterConversionAllowed" enum="BooleanAllowed"
expires_after="M105">
<owner>apaseltiner@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Measures how often conversions are dropped by the Attribution Reporting API
being disabled. Recorded when a conversion is processed by the browser
process. Records not allowed if within an OTR profile, or if the privacy
sandbox is not allowed for the conversion and reporting origin.
</summary>
</histogram>
<histogram name="Conversions.RegisteredConversionsPerPage" units="conversions"
expires_after="2022-07-03">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the number of registered conversions
(https://github.com/WICG/conversion-measurement-api) on a given top level
page load. Recorded when the page navigates away or is otherwise closed.
Only recorded for non-off-the-record profiles (OTR profiles have the feature
disabled).
</summary>
</histogram>
<histogram name="Conversions.RegisteredImpressionsPerPage" units="impressions"
expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records the number of impressions attempted on a given top level page load.
Recorded when the page navigates away or is otherwise closed. Only recorded
for non-off-the-record profiles (OTR profiles have the feature disabled).
</summary>
</histogram>
<histogram name="Conversions.RegisterImpressionAllowed" enum="BooleanAllowed"
expires_after="M105">
<owner>apaseltiner@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Measures how often impressions are dropped by the Attribution Reporting API
being disabled. Recorded when an impression is processed by the browser
process. Records not allowed if within an OTR profile, or if the privacy
sandbox is not allowed for the impression and reporting origin.
</summary>
</histogram>
<histogram name="Conversions.Report.HttpResponseOrNetErrorCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Error info for sending a conversion report, recorded for each sent report.
The HTTP response code is recorded if there is no net error code for the
request, or the net error code indicates there was a response code failusre.
</summary>
</histogram>
<histogram name="Conversions.ReportRetrySucceed" enum="BooleanSuccess"
expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records whether a particular conversion report was successful. Emitted for
all conversion reports which retry.
</summary>
</histogram>
<histogram name="Conversions.ReportsDeletedInDataClearOperation"
units="conversions" expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records the number of conversion reports deleted per clearing operation.
</summary>
</histogram>
<histogram name="Conversions.ReportSendOutcome"
enum="ConversionReportSendOutcome" expires_after="M105">
<owner>linnan@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Records the high level request status of a conversion report. Recorded once
per conversion report. For conversion report that has been retried, only the
last retry will be counted.
</summary>
</histogram>
<histogram name="Conversions.ReportStatus" enum="ConversionReportStatus"
expires_after="2022-04-10">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the high level request status of a conversion report. Recorded for
every conversion report sent. For conversion report that has been retried,
every retry will be counted.
</summary>
</histogram>
<histogram name="Conversions.Storage.ClearDataWithFilterDuration" units="ms"
expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time it took to do perform a clear operation on the database
when supplied an origin filter. Recorded when the conversion database
finishes performing a clear operation. Note that filters may vary in size
and computation complexity, skewing this metric aribtrarily.
</summary>
</histogram>
<histogram name="Conversions.Storage.CreationTime" units="ms"
expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time it took to initialize a new conversions database from
scratch. Recorded when the conversion database finishes initialization.
</summary>
</histogram>
<histogram name="Conversions.Storage.MigrationTime" units="ms"
expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time it took to migrate a preexisting conversions database to
the latest schema. Recorded when the conversion database finishes
initialization.
</summary>
</histogram>
<histogram name="Conversions.Storage.Sql.InitStatus"
enum="ConversionStorageSqlInitStatus" expires_after="2021-12-12">
<obsolete>
Replaced in 2021-08 with Conversions.Storage.Sql.InitStatus2. Due to a bug,
this metric would not properly record kFailedToInitializeSchema.
</obsolete>
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records initialisation statuses of ConversionStorageSql. Note: currently
ConversionStorageSql is initialised lazily.
</summary>
</histogram>
<histogram name="Conversions.Storage.Sql.InitStatus2"
enum="ConversionStorageSqlInitStatus" expires_after="M105">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records initialisation statuses of ConversionStorageSql. Note: currently
ConversionStorageSql is initialised lazily.
</summary>
</histogram>
<histogram name="Conversions.TimeFromConversionToReportSend" units="hours"
expires_after="2022-04-24">
<owner>johnidel@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Records the time between a conversion and its reporting. This is emitted
whenever a conversion report is sent.
</summary>
</histogram>
<histogram name="Conversions.UniqueReportingOriginsPerPage.Conversions"
units="origins" expires_after="M105">
<owner>linnan@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Records the number of unique reporting origins for registered conversions on
a given top-level page load. Recorded when the page navigates away or is
otherwise closed. Only recorded for non-off-the-record profiles (OTR
profiles have the feature disabled).
</summary>
</histogram>
<histogram name="Conversions.UniqueReportingOriginsPerPage.Impressions"
units="origins" expires_after="M105">
<owner>linnan@chromium.org</owner>
<owner>johnidel@chromium.org</owner>
<owner>measurement-api-dev+metrics@google.com</owner>
<summary>
Records the number of unique reporting origins for registered event
impressions and navigation impressions attempted on a given top-level page
load. Recorded when the page navigates away or is otherwise closed. Only
recorded for non-off-the-record profiles (OTR profiles have the feature
disabled).
</summary>
</histogram>
<histogram name="CopylessPaste.CacheHit" enum="CopylessCacheHit"
expires_after="2020-03-01">
<owner>wychen@chromium.org</owner>
<summary>
The cache hit status of metadata extraction for AppIndexing.
</summary>
</histogram>
<histogram name="CopylessPaste.ExtractionFailedUs" units="microseconds"
expires_after="M77">
<owner>wychen@chromium.org</owner>
<summary>
The time spent on scanning the document in the main frame to extract the
metadata. The metadata would be used to feed Icing for CopylessPaste feature
on Android. This only counts pages with failed or empty JSON extraction.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="CopylessPaste.ExtractionStatus" enum="ExtractionStatus"
expires_after="M77">
<owner>wychen@chromium.org</owner>
<summary>The error status of metadata extraction for AppIndexing.</summary>
</histogram>
<histogram name="CopylessPaste.ExtractionUs" units="microseconds"
expires_after="M85">
<owner>wychen@chromium.org</owner>
<summary>
The time spent on scanning the document in the main frame to extract the
metadata. The metadata would be used to feed Icing for CopylessPaste feature
on Android. This only counts pages with successful JSON extraction.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="CrashExitCodes.Extension" enum="CrashExitCodes"
expires_after="never">
<!-- expires-never: Critical stability metrics. go/chrome-stability-metrics -->
<owner>wfh@chromium.org</owner>
<owner>chrome-stability-core@google.com</owner>
<summary>
The exit codes for crashed extension processes. Note: Due to
https://crbug.com/805754, the enum labels are off by 1 for M56 and earlier.
</summary>
</histogram>
<histogram name="CrashExitCodes.Renderer" enum="CrashExitCodes"
expires_after="never">
<!-- expires-never: Critical stability metrics. go/chrome-stability-metrics -->
<owner>wfh@chromium.org</owner>
<owner>chrome-stability-core@google.com</owner>
<summary>
The exit codes for crashed renderer processes. Note: Due to
https://crbug.com/805754, the enum labels are off by 1 for M56 and earlier.
</summary>
</histogram>
<histogram name="Crashpad.CrashReportPending" enum="CrashpadReportPending"
expires_after="M85">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>
The reason that a crash report entered the upload pending state.
</summary>
</histogram>
<histogram name="Crashpad.CrashReportSize" units="bytes" expires_after="M85">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The size of a crash report minidump on disk when captured.</summary>
</histogram>
<histogram name="Crashpad.CrashUpload.AttemptSuccessful"
enum="CrashpadUploadAttemptStatus" expires_after="M85">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>Logs whether a crash uploaded succeeded or failed.</summary>
</histogram>
<histogram name="Crashpad.CrashUpload.Skipped"
enum="CrashpadUploadSkippedReason" expires_after="M85">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The reason that a crash report upload was skipped.</summary>
</histogram>
<histogram name="Crashpad.ExceptionCaptureResult"
enum="CrashpadExceptionCaptureResult" expires_after="M90">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The outcome of execution of the Crashpad exception handler.</summary>
</histogram>
<histogram name="Crashpad.ExceptionCode.Mac" enum="CrashpadMacExceptionCodes"
expires_after="M90">
<owner>mark@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The exception code encountered in a crash on Mac OS X.</summary>
</histogram>
<histogram name="Crashpad.ExceptionCode.Win" enum="CrashpadWinExceptionCodes"
expires_after="M90">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>The exception code encountered in a crash on Windows.</summary>
</histogram>
<histogram name="Crashpad.ExceptionEncountered"
enum="CrashpadExceptionProcessingState" expires_after="2021-08-22">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>
A count of the number of exceptions handled by Crashpad with two buckets for
starting and finishing.
</summary>
</histogram>
<histogram name="Crashpad.HandlerCrash.ExceptionCode.Mac"
enum="CrashpadMacExceptionCodes" expires_after="M90">
<owner>mark@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>
The exception code encountered for a crash of the crash handler process on
Mac OS X.
</summary>
</histogram>
<histogram name="Crashpad.HandlerCrash.ExceptionCode.Win"
enum="CrashpadWinExceptionCodes" expires_after="M90">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>
The exception code encountered for a crash of the crash handler process on
Windows.
</summary>
</histogram>
<histogram name="Crashpad.HandlerLifetimeMilestone"
enum="CrashpadLifetimeMilestone" expires_after="M90">
<owner>jperaza@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>Handler start/crash/exit events.</summary>
</histogram>
<histogram name="Crashpad.IntermediateDump.Reader.InvalidKeySize"
enum="CrashpadIntermediateDumpKey" expires_after="2022-05-20">
<owner>justincohen@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>
Records key id when id has an invalid sizein an intermediate dump.
</summary>
</histogram>
<histogram name="Crashpad.IntermediateDump.Reader.MissingKey"
enum="CrashpadIntermediateDumpKey" expires_after="2022-05-20">
<owner>justincohen@chromium.org</owner>
<owner>crashpad-dev@chromium.org</owner>
<summary>Records key id when id is missing in an intermediate dump.</summary>
</histogram>
<histogram name="CrashReport.BreakpadIOSUploadOutcome"
enum="FoundationPopularErrorCode" expires_after="2022-09-12">
<owner>justincohen@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
Reports the Foundation error code of an attempt to upload a breakpad crash
report. &quot;NSNoError&quot; if the upload was successful.
</summary>
</histogram>
<histogram name="CrashReport.Sender.ActiveRuntime" units="ms"
expires_after="2021-05-23">
<obsolete>
As of 2020-12, we've decided on a timeout and no longer need this metric.
</obsolete>
<owner>mutexlox@chromium.org</owner>
<owner>iby@chromium.org</owner>
<owner>cros-telemetry@google.com</owner>
<summary>
The amount of time crash_sender takes to run when invoked directly on Chrome
OS, without counting time spent sleeping (e.g. for hold_off_time). Used to
make an informed decision about a timeout.
</summary>
</histogram>
<histogram name="CrashReport.Sender.Runtime" units="ms"
expires_after="2021-01-15">
<obsolete>
As of 2020-12, we've decided on a timeout and no longer need this metric.
</obsolete>
<owner>mutexlox@chromium.org</owner>
<owner>iby@chromium.org</owner>
<owner>cros-telemetry@google.com</owner>
<summary>
The amount of time crash_sender takes to run when invoked directly on Chrome
OS. Used to make an informed decision about a timeout.
</summary>
</histogram>
<histogram name="Crypto.TPMSupport" enum="TPMSupport"
expires_after="2021-07-01">
<obsolete>
Measured on stable M91 but ongoing measurement was not worthwhile.
</obsolete>
<owner>agl@chromium.org</owner>
<owner>davidben@chromium.org</owner>
<summary>
Collected on Windows at startup. Records whether a TPM is present and, if
so, what the best supported algorithm is.
</summary>
</histogram>
<histogram name="DataPack.Load" enum="DataPackLoadErrors" expires_after="M87">
<owner>grt@chromium.org</owner>
<owner>sky@chromium.org</owner>
<summary>Errors when trying to load DataPack files.</summary>
</histogram>
<histogram name="DBus.AsyncMethodCallSuccess" enum="BooleanSuccess"
expires_after="M81">
<owner>satorux@chromium.org</owner>
<summary>Whether an asynchronous D-Bus method call is successful.</summary>
</histogram>
<histogram name="DBus.AsyncMethodCallTime" units="microseconds"
expires_after="M82">
<owner>satorux@chromium.org</owner>
<summary>The time spent for an asynchronous D-Bus method call.</summary>
</histogram>
<histogram name="DBus.ExportedMethodHandleSuccess" enum="BooleanSuccess"
expires_after="M85">
<owner>satorux@chromium.org</owner>
<summary>
Whether a call to a D-Bus exported method is handled successfully.
</summary>
</histogram>
<histogram name="DBus.ExportedMethodHandleTime" units="microseconds"
expires_after="M77">
<owner>satorux@chromium.org</owner>
<summary>
The time spent for handling a call to a D-Bus exported method.
</summary>
</histogram>
<histogram name="DBus.SignalHandleTime" units="microseconds"
expires_after="2020-02-23">
<owner>satorux@chromium.org</owner>
<summary>The time spent for handling a D-Bus signal.</summary>
</histogram>
<histogram name="DBus.SignalSendTime" units="microseconds" expires_after="M82">
<owner>satorux@chromium.org</owner>
<summary>The time spent for sending a D-Bus signal.</summary>
</histogram>
<histogram name="DBus.SyncMethodCallSuccess" enum="BooleanSuccess"
expires_after="M81">
<owner>satorux@chromium.org</owner>
<summary>Whether a synchronous D-Bus method call is successful.</summary>
</histogram>
<histogram name="DBus.SyncMethodCallTime" units="microseconds"
expires_after="2020-02-16">
<owner>satorux@chromium.org</owner>
<summary>The time spent for a synchronous D-Bus method call.</summary>
</histogram>
<histogram name="DefaultBrowser.ActivateSettings.ErrorHresult" enum="Hresult"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>
The HRESULT from ActivateApplication when opening the Win10+ settings page
fails.
</summary>
</histogram>
<histogram name="DefaultBrowser.InfoBar.UserInteraction"
enum="DefaultBrowserInfoBarUserInteraction" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Possible user interactions with the default browser info bar.
</summary>
</histogram>
<histogram name="DefaultBrowser.InteractionResult"
enum="MakeChromeDefaultResult" expires_after="M85">
<obsolete>
Removed in Chrome 78.
</obsolete>
<owner>gab@chromium.org</owner>
<summary>
Results of interaction with set-as-default dialog in Win8+ first run flow.
</summary>
</histogram>
<histogram name="DefaultBrowser.SetDefaultResult2" enum="DefaultWebClientState"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The outcome of an attempt to set Chrome as the user's default browser.
</summary>
</histogram>
<histogram name="DefaultBrowser.SettingsInteraction.ConcludeReason"
enum="SettingsInteractionConcludeReason" expires_after="M77">
<owner>pmonette@chromium.org</owner>
<summary>
The reason why the default browser settings interaction concluded on Windows
10.
</summary>
</histogram>
<histogram name="DefaultBrowser.SettingsInteraction.RegistryWatcherDuration"
units="ms" expires_after="M77">
<owner>pmonette@chromium.org</owner>
<summary>
The registry keys for the default browser protocols (http/https) are
monitored to know when the user finished interacting with the system
settings. This is how long it took for the last registry watcher to get
signaled.
</summary>
</histogram>
<histogram name="DefaultBrowser.State" enum="DefaultBrowserState"
expires_after="never">
<!-- expires-never: Used to keep track of desktop browser ecosystem. -->
<owner>gab@chromium.org</owner>
<owner>pmonette@chromium.org</owner>
<summary>
Whether Chrome was the default browser when it started up.
Only logged correctly on Windows and Mac. Logged incorrectly on other
platforms. On Linux, this histogram is no longer logged as of 2021/10/18 due
to browser test hangs. See crbug.com/1216328.
For ChromeOS, no histogram is necessary because Chrome is always the default
browser.
For Android, see Mobile.DefaultBrowser.State.
For iOS, in the future Chrome will be allowed to be the default browser. How
that will be logged is to be decided at the time of writing this
description.
</summary>
</histogram>
<histogram name="DefaultBrowser.Win10ChooserInvoked" enum="BooleanSuccess"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
When changing the default browser on Windows 10, records whether the browser
chooser is successfully invoked when opening the settings page. This
histogram is only recorded when the Win10AcceleratedDefaultBrowserFlow
experiment is enabled.
</summary>
</histogram>
<histogram name="DefaultProtocolClient.SetDefaultResult2"
enum="DefaultWebClientState" expires_after="M77">
<owner>pmonette@chromium.org</owner>
<summary>
The outcome of an attempt to set Chrome as the user's default client for a
protocol.
</summary>
</histogram>
<histogram name="DemoMode.ActiveApp" enum="DemoModeApp" expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
The currently active app or window. Sampled during demo sessions and
reported while the user remains active.
</summary>
</histogram>
<histogram name="DemoMode.AppLaunched" enum="DemoModeApp" expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Records apps that have been launched by a user using the device during Demo
mode. The sample is recorded when each app is launched. For any given app
id, the metric is recorded only once per Demo Session.
</summary>
</histogram>
<histogram name="DemoMode.AppLaunchSource" enum="DemoModeAppLaunchSource"
expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
The source of app launches in demo mode, either the shelf, the app list, or
the highlights app.
</summary>
</histogram>
<histogram name="DemoMode.DwellTime" units="seconds" expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
The duration the user spent interacting with the demo session, measured from
the first user activity to the last user activity. This metric rounds the
duration to the nearest second and uses exponential bucketing capped at 1
hour.
</summary>
</histogram>
<histogram name="DemoMode.IdleLogoutWarningEvent"
enum="DemoModeIdleLogoutWarningEvent" expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Tracks whether the idle logout warning was canceled or proceeded to logout.
Note: the count of &quot;shown&quot; includes both cases, so the count of
&quot;shown and proceeded&quot; is equal to &quot;shown&quot; minus
&quot;canceled&quot;.
</summary>
</histogram>
<histogram name="DemoMode.ResourcesRemoval.Reason"
enum="DemoModeResourcesRemovalReason" expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Tracks the reason for removal of pre-install demo resources. To support
offline demo mode, factory Chrome OS devices will have a set of offline
enabled demo mode apps pre-installed. These resources are removed once they
are not needed anymore.
</summary>
</histogram>
<histogram name="DemoMode.ResourcesRemoval.Result"
enum="DemoModeResourcesRemovalResult" expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Tracks the result of requests to remove pre-installed demo resources. To
support offline demo mode, factory Chrome OS devices will have a set of
offline enabled demo mode apps pre-installed. These resources are removed
once they are not needed anymore. This will record only requests that
attempted deleting pre-installed resources from disk. Requests that fail
early will be ignored. For example, a request will fail early if the device
is in demo mode, or the resources have already been removed.
</summary>
</histogram>
<histogram name="DemoMode.SessionLength" units="minutes" expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
A demo session starts when a user signs in using the policy-configured
public account. It stops when the user signs out, either manually or after
an idle timeout. Session length is the duration between the start and stop
events. It is recorded during signing out and reported on the next chrome
run. This metric tracks the recorded session length rounded down to the
nearest minute and is capped at 2 hours.
</summary>
</histogram>
<histogram name="DemoMode.Setup.DownloadDuration" units="minutes"
expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
This records the time taken to download the demo mode resources when demo
mode is setup for the first time.
</summary>
</histogram>
<histogram name="DemoMode.Setup.EnrollDuration" units="minutes"
expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
This records the time taken to enterprise-enroll the device when demo mode
is setup for the first time.
</summary>
</histogram>
<histogram name="DemoMode.Setup.LoadingDuration" units="minutes"
expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
When demo mode is setup for the first time, it must download the demo mode
resources and enterprise-enroll the device. This records the time taken for
these two steps to complete. (See DemoMode.Setup.DownloadDuration and
DemoMode.Setup.EnrollDuration)
</summary>
</histogram>
<histogram name="DemoMode.Setup.NumRetries" units="units" expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Records the number of times an operator has encountered an error during the
loading screen and been required to retry setup. This is only recorded after
setup completes successfully.
</summary>
</histogram>
<histogram name="DemoMode.UniqueAppsLaunched" units="units"
expires_after="M109">
<owner>drcrash@chromium.org</owner>
<owner>cros-demo-mode-eng@google.com</owner>
<summary>
Records how many unique apps have been launched by a user using the device
during Demo mode. The sample is recorded when the DemoMode session closes.
</summary>
</histogram>
<histogram name="Dialog.Create" enum="BooleanCreated" expires_after="M85">
<owner>pdyson@chromium.org</owner>
<summary>
Counts the number times dialog boxes are created using a particular parent
class.
</summary>
</histogram>
<histogram name="Dialog.Creation" enum="DialogName" expires_after="M85">
<owner>pdyson@chromium.org</owner>
<summary>
Counts the number times various types of dialog boxes are created.
</summary>
</histogram>
<histogram name="Dialog.DialogDelegate.Duration" units="ms" expires_after="M77">
<owner>pdyson@chromium.org</owner>
<summary>
How long dialog boxes are open, for dialog boxes created using the parent
class DialogDelegate. This will include bubbles that use
BubbleDialogDelegateView as a parent class, and dialogs that use
DialogDelegateView as a parent class. This is logged on delegate
destruction.
</summary>
</histogram>
<histogram name="DirectSockets.PermissionDeniedFailures"
enum="DirectSocketPermissionFailureType" expires_after="2022-06-07">
<owner>ericwilligers@chromium.org</owner>
<owner>glenrob@chromium.org</owner>
<summary>
Record how often each permission check (e.g. permissions policy, transient
activation, user dialog, hostname resolving to non-public address, rate
limiting, CORS, enterprise policy) cause Permission Denied failures.
Recorded when the permission is denied.
</summary>
</histogram>
<histogram name="DirectSockets.TCPNetworkFailures" enum="NetErrorCodes"
expires_after="2022-06-07">
<owner>ericwilligers@chromium.org</owner>
<owner>greengrape@google.com</owner>
<summary>
How often tcp socket opening finishes with a network failure.
</summary>
</histogram>
<histogram name="DirectSockets.UDPNetworkFailures" enum="NetErrorCodes"
expires_after="2022-06-07">
<owner>ericwilligers@chromium.org</owner>
<owner>greengrape@google.com</owner>
<summary>
How often udp socket opening finishes with a network failure.
</summary>
</histogram>
<histogram name="Discarding.DiscardCandidatesCount" units="tabs"
expires_after="2022-05-01">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The number of tabs discard candidates. This is recorded each time Chrome
needs to urgently discard a tab.
</summary>
</histogram>
<histogram name="Discarding.DiscardsPer10Minutes" units="tabs"
expires_after="M85">
<obsolete>
Removed 11/2020. Not actively used because reported values are 0 most of the
time. It would be more useful to report number of discards per day.
</obsolete>
<!-- Name completed by histogram_suffixes name="DiscardReason" -->
<owner>fdoray@chromium.org</owner>
<summary>
Number of tabs discarded in each interval of 10 minutes, per discard reason.
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.DiscardAttemptsCount" units="tabs"
expires_after="2021-12-06">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The number of tab discard attempts during a high-PMF session. Recorded at
the end of each high PMF session, or when the number of discard attempts
within the same high-PMF session reaches 100 (at which point the counter
will reset, e.g. 102 discards attempts would be recorded in two pieces as
&quot;100&quot; and &quot;2&quot;).
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.DiscardSuccess"
units="BooleanSuccess" expires_after="2021-12-06">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Indicates if a tab has been successfully discarded during a high-PMF
session.
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.MemoryPressureLevel"
enum="MemoryPressureLevel" expires_after="2022-02-06">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The memory pressure level when the High-PMF policy decides to discard a tab.
Windows and Mac only.
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.MemoryReclaimedKbAfterDiscardingATab"
units="KB" expires_after="2021-12-06">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The amount of memory that has been reclaimed after discarding a tab during a
high-PMF session. In the case of a memory increase the value will be
reported as 0 and will go in the underflow bucket.
</summary>
</histogram>
<histogram name="Discarding.HighPMFPolicy.SuccessfulDiscardsCount" units="tabs"
expires_after="2021-12-06">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The number of successful tab discards during a high-PMF session. Recorded at
the end of each high PMF session, or when the number of successful discards
within the same high-PMF session reaches 100 (at which point the counter
will reset, e.g. 102 successful discards would be recorded in two pieces as
&quot;100&quot; and &quot;2&quot;).
</summary>
</histogram>
<histogram name="Discarding.LargestTabFootprint" units="MiB"
expires_after="2021-02-28">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The largest tab's resident set among all the urgent discarding candidates.
</summary>
</histogram>
<histogram name="Discarding.OldestTabFootprint" units="MiB"
expires_after="2021-02-28">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>The resident set of the oldest urgent discarding candidate.</summary>
</histogram>
<histogram name="Discarding.OnCriticalPressure.TotalRSS_Mb" units="MB"
expires_after="2021-01-31">
<obsolete>
Removed 03/2021, replaced by Discarding.OnCriticalPressure.TotalRSS_Mb2. The
new histogram is now guaranteed to be recorded before discarding any tab.
</obsolete>
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
An estimate of the total resident set of Chrome when receiving a critical
memory pressure event, in megabytes. Note that the estimate is based on the
most recent data collected by Performance Manager, which are refreshed at a
low frequency (up to 2 minutes).
</summary>
</histogram>
<histogram name="Discarding.OnCriticalPressure.TotalRSS_Mb2" units="MB"
expires_after="2021-10-30">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
An estimate of the total resident set of Chrome when receiving a critical
memory pressure event, in megabytes. Note that the estimate is based on the
most recent data collected by Performance Manager, which are refreshed at a
low frequency (up to 2 minutes).
</summary>
</histogram>
<histogram name="Discarding.OnCriticalPressure.TotalRSS_PercentOfRAM" units="%"
expires_after="2021-08-09">
<obsolete>
Removed 03/2021, replaced by
Discarding.OnCriticalPressure.TotalRSS_PercentOfRAM2. The new histogram is
now guaranteed to be recorded before discarding any tab.
</obsolete>
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
An estimate of the total resident set of Chrome when receiving a critical
memory pressure event, in percentage of the total amount of RAM. Note that
the estimate is based on the most recent data collected by Performance
Manager, which are refreshed at a low frequency (up to 2 minutes).
</summary>
</histogram>
<histogram name="Discarding.OnCriticalPressure.TotalRSS_PercentOfRAM2"
units="%" expires_after="2021-10-30">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
An estimate of the total resident set of Chrome when receiving a critical
memory pressure event, in percentage of the total amount of RAM. Note that
the estimate is based on the most recent data collected by Performance
Manager, which are refreshed at a low frequency (up to 2 minutes).
</summary>
</histogram>
<histogram name="Discarding.OnlineOnReload" enum="Boolean" expires_after="M85">
<obsolete>
Removed 11/2020.
</obsolete>
<!-- Name completed by histogram_suffixes name="DiscardReason" -->
<owner>fdoray@chromium.org</owner>
<summary>
Whether the machine was online when a discarded tab was reloaded.
</summary>
</histogram>
<histogram name="Discarding.ReloadsPer10Minutes" units="tabs"
expires_after="M85">
<obsolete>
Removed 11/2020. Not actively used because reported values are 0 most of the
time. It would be more useful to report number of reloads per day.
</obsolete>
<!-- Name completed by histogram_suffixes name="DiscardReason" -->
<owner>fdoray@chromium.org</owner>
<summary>
Number of discarded tabs reloaded in each interval of 10 minutes, grouped by
their discard reason.
</summary>
</histogram>
<histogram
name="Discarding.WinOSPressureSignals.AvailableMemoryMbOnLowMemoryNotification"
units="MB" expires_after="2021-05-02">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The amount of physical memory available when receiving a low memory
notification, in megabytes. Windows 8.1+ only.
</summary>
</histogram>
<histogram name="Discarding.WinOSPressureSignals.LowMemorySessionLength"
units="ms" expires_after="2021-05-02">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The time it takes to receive a high memory notification from the OS after
receiving a low memory notification. Windows 8.1+ only.
</summary>
</histogram>
<histogram
name="Discarding.WinOSPressureSignals.PressureLevelOnLowMemoryNotification"
enum="MemoryPressureLevel" expires_after="2021-05-02">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The memory pressure level when receiving a low memory notification from the
OS. Windows 8.1+ only.
</summary>
</histogram>
<histogram name="DisplayManager.InternalDisplayZoomPercentage" units="%"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The zoom percentage that the user has set on the internal display and is
actively using. This is emitted when the zoom factor has been updated in
display manager and has not been changed for a while.
</summary>
</histogram>
<histogram name="DisplayManager.MirroringDisplayCountRanges"
enum="MultiDisplayModeDisplayCountRanges" expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The number of displays connected to the device that are in software or
hardware mirror mode. This is emitted once when the normal or mixed mirror
mode is enabled through API call, or the display configuration changes (e.g.
adding or removing a display) when mirror mode is on.
</summary>
</histogram>
<histogram name="DisplayManager.MirrorModeTypes" enum="DisplayMirrorModeTypes"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The types of mirror mode in which the displays connected to the device are
in. This is emitted once when the normal or mixed mirror mode is enabled
through API call, or the display configuration changes ( e.g. adding or
removing a display) when mirror mode is on.
</summary>
</histogram>
<histogram name="DisplayManager.MultiDisplayMode" enum="MultiDisplayModes"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The mode in which the connected displays to the device are in. This is
emitted once when displays are added or removed, or when the user changes
the mode by e.g. enabling mirror or unified modes.
</summary>
</histogram>
<histogram name="DisplayManager.UnifiedDesktopDisplayCountRange"
enum="MultiDisplayModeDisplayCountRanges" expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The number of displays connected to the device when Unified Desktop mode is
on. This is emitted when Unified Desktop mode is turned on, or the displays
are added or removed while in Unified Mode.
</summary>
</histogram>
<histogram name="DisplayManager.UpdateDisplayConfigurationTask.ExecutionTime"
units="ms" expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Records the execution time to update the display configuration. Emitted when
the update-display-configuration task finishes, successfully or not.
</summary>
</histogram>
<histogram name="DisplayManager.UpdateDisplayConfigurationTask.Success"
enum="BooleanSuccess" expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Records whether or not the display configuration was successfully updated.
Emitted when the update-display-configuration task finishes, successfully or
not.
</summary>
</histogram>
<histogram name="DNS.PrefetchResolution" units="ms" expires_after="M85">
<owner>mgersh@chromium.org</owner>
<summary>
The duration of time used by the DNS pre-resolving threads to resolve a host
name via the network. Any resolutions that are faster than 15ms are
considered to be local cache hits, not requiring network access, and are not
included in this histogram. This histogram is most useful for estimating the
typical cost of a name resolution, but it also estimates the total number of
network-based resolutions induced by this feature. Not all these resolutions
prove helpful (i.e., the user does not always actually visit the resolved
hostnames).
</summary>
</histogram>
<histogram name="DnsProbe.ErrorPageUpdateStatus" enum="DnsProbe.ProbeStatus"
expires_after="2021-06-04">
<owner>ericorth@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
Status of DNS diagnostic probe updates sent to a Chrome net error page.
</summary>
</histogram>
<histogram name="DnsProbe.ProbeDuration2" units="ms" expires_after="2021-12-12">
<owner>ericorth@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
Time ticks between starting and finishing a DNS diagnostics probe.
</summary>
</histogram>
<histogram name="DnsProbe.ProbeResult" enum="DnsProbe.ProbeStatus"
expires_after="2021-10-10">
<owner>ericorth@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>Result of DNS diagnostics probes sent by the probe service.</summary>
</histogram>
<histogram name="Document.BeforeUnloadDialog" enum="BeforeUnloadDialogResult"
expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Records result of invoking beforeunload handler, that determines whether to
show the dialog.
</summary>
</histogram>
<histogram name="Document.OutliveTimeAfterShutdown.DestroyedBeforeProcessDies"
units="units" expires_after="M77">
<obsolete>
Removed in M90.
</obsolete>
<owner>hajimehoshi@chromium.org</owner>
<owner>keishi@chromium.org</owner>
<summary>
Records the GC count between the time when the document is shut down and and
the time when the document is actually destroyed. This only counts documents
that are destroyed before the process dies.
</summary>
</histogram>
<histogram name="Document.OutliveTimeAfterShutdown.GCCount" enum="GCCount"
expires_after="M77">
<obsolete>
Removed in M90.
</obsolete>
<owner>hajimehoshi@chromium.org</owner>
<owner>keishi@chromium.org</owner>
<summary>
Records documents that survives some GCs after the document is shut down.
</summary>
</histogram>
<histogram name="DocumentEventTiming.BeforeUnloadDialogDuration.ByNavigation"
units="ms" expires_after="2020-09-05">
<owner>sullivan@chromium.org</owner>
<summary>
Milliseconds spent in beforeunload dialog. Does not include time to process
beforeunload event in JavaScript (see
DocumentEventTiming.BeforeUnloadDuration). Recorded immediately after
closing dialog, upon user confirmation to navigate away from the page.
</summary>
</histogram>
<histogram name="DocumentEventTiming.BeforeUnloadDuration" units="microseconds"
expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in beforeunload.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.FreezeDuration" units="microseconds"
expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in onfreeze.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.PageHideDuration" units="microseconds"
expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in pagehide.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.PageVibilityHiddenDuration"
units="microseconds" expires_after="M77">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in vibilitychange (hidden).
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.ResumeDuration" units="microseconds"
expires_after="M85">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in onresume.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentEventTiming.UnloadDuration" units="microseconds"
expires_after="M85">
<owner>panicker@chromium.org</owner>
<summary>
Microseconds spent in unload.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="DocumentScan.ScanFailed" enum="DocumentScanSaneBackend"
expires_after="2022-04-17">
<owner>fletcherw@chromium.org</owner>
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>
Chrome OS document scan metric that tracks which SANE backend (effectively a
scanner driver) was used when a scan failed.
</summary>
</histogram>
<histogram name="DocumentScan.ScanRequested" enum="DocumentScanSaneBackend"
expires_after="2022-04-03">
<owner>fletcherw@chromium.org</owner>
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>
Chrome OS document scan metric that tracks which SANE backend (effectively a
scanner driver) that a user requested to use for a scan.
</summary>
</histogram>
<histogram name="DocumentScan.ScanSucceeded" enum="DocumentScanSaneBackend"
expires_after="2022-04-17">
<owner>fletcherw@chromium.org</owner>
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>
Chrome OS document scan metric that tracks which SANE backend (effectively a
scanner driver) was used when a scan succeeded.
</summary>
</histogram>
<histogram name="DomainMixing.OneDay" units="units" expires_after="M85">
<owner>qfiard@google.com</owner>
<summary>
The distribution over daily active users of Google Search of the ratio of
Google searches in the past day that were issued by the user on a Google
domain that is not the primary one used by the user over the same time
period.
</summary>
</histogram>
<histogram name="DomainMixing.OneMonth" units="units" expires_after="M85">
<owner>qfiard@google.com</owner>
<summary>
The distribution over daily active users of Google Search of the ratio of
Google searches in the past 30 days that were issued by the user on a Google
domain that is not the primary one used by the user over the same time
period.
</summary>
</histogram>
<histogram name="DomainMixing.OneWeek" units="units" expires_after="M85">
<owner>qfiard@google.com</owner>
<summary>
The distribution over daily active users of Google Search of the ratio of
Google searches in the past week that were issued by the user on a Google
domain that is not the primary one used by the user over the same time
period.
</summary>
</histogram>
<histogram name="DomainMixing.TwoWeeks" units="units" expires_after="M85">
<owner>qfiard@google.com</owner>
<summary>
The distribution over daily active users of Google Search of the ratio of
Google searches in the past two weeks that were issued by the user on a
Google domain that is not the primary one used by the user over the same
time period.
</summary>
</histogram>
<histogram name="Downgrade.CacheDirMove.FailureCount" units="count"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<summary>
The number of items within the Cache directory that could not be moved aside
following a downgrade. 0 indicates that the target directory could not be
created.
</summary>
</histogram>
<histogram name="Downgrade.CacheDirMove.Result" enum="BooleanSuccess"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<summary>
Indicates whether or not moving a user's cache dir following a downgrade
succeeded or failed.
</summary>
</histogram>
<histogram name="Downgrade.InvalidSnapshotMove.FailureCount" units="count"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
The number of items within from an invalid snapshot directory that could not
be moved. 0 indicates that the target directory could not be created.
</summary>
</histogram>
<histogram name="Downgrade.InvalidSnapshotMove.Result" enum="BooleanSuccess"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not moving an invalid snapshot directory succeeded or
failed.
</summary>
</histogram>
<histogram name="Downgrade.RestoreSnapshot.CleanupAfterFailure.Result"
enum="BooleanSuccess" expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not cleaning up after a snapshot restoration failure
succeeded or failed.
</summary>
</histogram>
<histogram name="Downgrade.RestoreSnapshot.FailureCount" units="count"
expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
The number of items within from a snapshot directory that could not be
restored following a downgrade.
</summary>
</histogram>
<histogram name="Downgrade.RestoreSnapshot.Result"
enum="SnapshotOperationResult" expires_after="never">
<!-- expires-never: To monitor snapshot restoration results. -->
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not restoring a snapshot of the user data dir succeeded
or failed.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.FailureCount" units="count"
expires_after="2021-12-12">
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
The number of items within the user data directory that could not be
snapshotted following an upgrade.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.ItemFailure" enum="SnapshotItemId"
expires_after="2021-12-12">
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates the id of an item that failed to be copied when taking a user data
snapshot.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.MoveExistingSnapshot.FailureCount"
units="count" expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
The number of items within an existing snapshot directory that could not be
moved aside before replacing it with a newer snapshot.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.MoveExistingSnapshot.Result"
enum="BooleanSuccess" expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not moving a user data snapshot dir before replacing it
with a newer snapshot succeeded or failed.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.ProfileDirectoryCreation.Result"
enum="BooleanSuccess" expires_after="2020-12-31">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not creating a profile directory while creating a user
data snapshot succeeded or failed.
</summary>
</histogram>
<histogram name="Downgrade.TakeSnapshot.Result" enum="SnapshotOperationResult"
expires_after="2021-12-05">
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not creating a snapshot of the user data dir succeeded
or failed.
</summary>
</histogram>
<histogram name="Downgrade.Type" enum="UserDataDowngradeType"
expires_after="2021-08-09">
<owner>grt@chromium.org</owner>
<summary>
The type of User Data downgrade detected, if any. The &quot;none&quot;
bucket is not reported.
</summary>
</histogram>
<histogram name="Downgrade.UserDataDirMove.FailureCount" units="count"
expires_after="2020-12-31">
<obsolete>
Deprecated as of M96
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
The number of items within User Data that could not be moved aside following
a downgrade.
</summary>
</histogram>
<histogram name="Downgrade.UserDataDirMove.Result" enum="UserDataMoveResult"
expires_after="2020-12-31">
<obsolete>
Deprecated as of M96
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Indicates whether or not moving a user's User Data dir following a downgrade
succeeded or failed.
</summary>
</histogram>
<histogram name="Drive.PushNotificationInitiallyEnabled" enum="BooleanEnabled"
expires_after="2022-07-03">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
Tracks whether the push notification is initially enabled for Drive.
Recorded when the first notification is processed. Notification is emulated
by polling if the push notication is disabled.
</summary>
</histogram>
<histogram name="Drive.PushNotificationRegistered" enum="BooleanRegistered"
expires_after="2022-07-03">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
Tracks whether the push notification request is registered correctly for
Drive. Recorded when the push notification manager is initialized.
</summary>
</histogram>
<histogram name="DriveCommon.Lifecycle.FirstLaunchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to launch Google Drive for the first time.
</summary>
</histogram>
<histogram name="DriveCommon.Lifecycle.Mount" enum="DriveMountStatus"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>Records outcomes of attempts to mount Google Drive.</summary>
</histogram>
<histogram name="DriveCommon.Lifecycle.MountTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>How long did it take to mount Google Drive.</summary>
</histogram>
<histogram name="DriveCommon.Lifecycle.Unmount" enum="DriveMountStatus"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>Records outcomes of attempts to unmount Google Drive.</summary>
</histogram>
<histogram name="DriveCommon.LocalSearch.OfflineSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to perform a lookup of pinned files in local Google
Drive cache.
</summary>
</histogram>
<histogram name="DriveCommon.LocalSearch.SharedSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to perform a search of shared files in local Google
Drive cache.
</summary>
</histogram>
<histogram name="DriveCommon.LocalSearch.TextSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to search a title in local Google Drive cache.
</summary>
</histogram>
<histogram name="DriveCommon.RemoteSearch.SharedSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to perform a search of shared files in online Google
Drive.
</summary>
</histogram>
<histogram name="DriveCommon.RemoteSearch.TextSearchTime" units="ms"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
How long did it take to perform a search in online Google Drive.
</summary>
</histogram>
<histogram name="DriveOffline.CrosAutoEnableOutcome"
enum="CrosEnableDriveOfflineOutcome" expires_after="2022-02-05">
<owner>simmonsjosh@google.com</owner>
<owner>src/ui/file_manager/OWNERS</owner>
<summary>
Outcome of enabling Google Drive offline mode automatically when a user
first logs into a Chrome OS device. This process involves opening a hidden
web page in the context of the Google Drive hosted app to perform the
initialization of offline mode.
</summary>
</histogram>
<histogram name="DrmUtil.CreateDisplaySnapshot.BitsPerChannel" units="bits"
expires_after="2022-01-03">
<owner>andrescj@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<owner>chromeos-gfx@google.com</owner>
<summary>
Number of bits per channel described by a parsed EDID blob. This UMA is
recorded whenever the color space is extracted from an EDID blob.
</summary>
</histogram>
<histogram name="DrmUtil.CreateDisplaySnapshot.HasEdidBlob" enum="Boolean"
expires_after="2022-01-03">
<owner>andrescj@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<owner>chromeos-gfx@google.com</owner>
<summary>
Whether an EDID blob was detected. This UMA is recorded whenever we attempt
to parse the EDID from a display.
</summary>
</histogram>
<histogram name="DrmUtil.CreateDisplaySnapshot.IsHDR" enum="Boolean"
expires_after="2022-01-03">
<owner>andrescj@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<owner>chromeos-gfx@google.com</owner>
<summary>
Whether a EDID blob contained an HDR transfer function (e.g. SMPT SE2084 or
HLG). This UMA is recorded whenever the color space is extracted from an
EDID blob.
</summary>
</histogram>
<histogram name="DrmUtil.GetColorSpaceFromEdid.ChecksOutcome"
enum="EdidColorSpaceChecksOutcome" expires_after="2022-01-03">
<owner>andrescj@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<owner>chromeos-gfx@google.com</owner>
<summary>
When attempting to get the color space from an EDID blob, whether the sanity
checks passed (and if not, which check failed). This UMA is recorded
whenever the color space is extracted from an EDID blob.
</summary>
</histogram>
<histogram name="Eche.Connection.Duration" units="ms"
expires_after="2022-05-30">
<owner>samchiu@chromium.org</owner>
<owner>better-together-dev@google.com</owner>
<summary>
The duration of time the phone is in the state connected to eche signaling
service, and becomes disconnected.
</summary>
</histogram>
<histogram name="Eche.Connection.Result" enum="BooleanSuccess"
expires_after="2022-05-30">
<owner>samchiu@chromium.org</owner>
<owner>better-together-dev@google.com</owner>
<summary>
Measures Eche connection success rate, considering attempts where the phone
is not nearby as failures.
</summary>
</histogram>
<histogram name="Eche.Connectivity.Latency" units="ms"
expires_after="2022-05-30">
<owner>samchiu@chromium.org</owner>
<owner>better-together-dev@google.com</owner>
<summary>
The duration of time the phone is in the state connecting to eche signaling
service, and becomes connected.
</summary>
</histogram>
<histogram name="Eche.NotificationClicked" enum="EcheNotificationInteraction"
expires_after="2022-05-30">
<owner>samchiu@chromium.org</owner>
<owner>andychou@chromium.org</owner>
<summary>
Events logged after the user interacts with a PhoneHub notification by
clicking it to launch app streaming window.
</summary>
</histogram>
<histogram name="EphemeralTab.BottomSheet.CloseReason"
enum="BottomSheet.StateChangeReason" expires_after="M92">
<obsolete>
Deprecated as of 05/2021
</obsolete>
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records the reason that the BottomSheet-based Ephemeral Tab panel was
closed. Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.CloseReason"
enum="OverlayPanel.StateChangeReason" expires_after="M92">
<obsolete>
Deprecated as of 05/2021
</obsolete>
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records the reason that the Ephemeral Tab panel was closed. Recorded when
the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.Ctr" enum="BooleanOpened"
expires_after="2021-12-12">
<obsolete>
Deprecated as of 12/2021
</obsolete>
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records whether the user fully opened the Ephemeral Tab panel when it was
shown. Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.CtrPeek" enum="BooleanOpened"
expires_after="2021-12-12">
<obsolete>
Deprecated as of 12/2021
</obsolete>
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records whether the user opened the Ephemeral Tab panel beyond peeking
state. Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.DurationOpened" units="ms"
expires_after="2021-12-12">
<obsolete>
Deprecated as of 12/2021
</obsolete>
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records the duration in milliseconds that the Ephemeral Tab was left open.
Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="EphemeralTab.DurationPeeked" units="ms"
expires_after="2021-10-10">
<obsolete>
Deprecated as of 12/2021
</obsolete>
<owner>donnd@chromium.org</owner>
<owner>jinsukkim@chromium.org</owner>
<summary>
Records the duration in milliseconds that the Ephemeral Tab was peeking.
Recorded when the UX is hidden. Implemented for Android.
</summary>
</histogram>
<histogram name="ExclusiveAccess.BubbleReshowsPerSession.Fullscreen"
units="reshows" expires_after="M77">
<owner>mgiuca@chromium.org</owner>
<summary>
The number of times the fullscreen bubble was re-shown due to inactivity
during a session of fullscreen mode (not including mouse or keyboard lock).
If the mouse or keyboard is also locked while a re-show occurs, both this
and BubbleReshowsPerSession.MouseLock and/or
BubbleReshowsPerSession.KeyboardLock are incremented. Includes all types of
fullscreen (user-triggered, extension-triggered and page-triggered).
Recorded at the end of the session if the simplified-fullscreen-ui flag is
enabled.
</summary>
</histogram>
<histogram name="ExclusiveAccess.BubbleReshowsPerSession.KeyboardLock"
units="reshows" expires_after="M77">
<owner>joedow@chromium.org</owner>
<summary>
The number of times the keyboard lock exit bubble was re-shown during a
session of keyboard lock mode. This occurs when the ExclusiveAccessMode
inactivity timer fires (roughly every 15 minutes). If also in fullscreen
while a re-show occurs both this and BubbleReshowsPerSession.Fullscreen are
incremented in that scenario. Recorded at the end of the session if the
simplified-fullscreen-ui flag is enabled.
</summary>
</histogram>
<histogram name="ExclusiveAccess.BubbleReshowsPerSession.KeyboardLockForced"
units="reshows" expires_after="M77">
<owner>joedow@chromium.org</owner>
<summary>
The number of times the keyboard lock exit bubble was re-shown during a
session of keyboard lock mode due to the user pressing the escape key
repeatedly. This metric does not count reshows due to inactivity. Recorded
at the end of the session if the simplified-fullscreen-ui flag is enabled.
</summary>
</histogram>
<histogram name="ExclusiveAccess.BubbleReshowsPerSession.MouseLock"
units="reshows" expires_after="M77">
<owner>mgiuca@chromium.org</owner>
<summary>
The number of times the mouse lock bubble was re-shown due to inactivity
during a session of mouse lock mode. If also in fullscreen while a re-show
occurs, both this and BubbleReshowsPerSession.Fullscreen are incremented.
Recorded at the end of the session if the simplified-fullscreen-ui flag is
enabled.
</summary>
</histogram>
<histogram name="ExploreSites.CatalogError" enum="ExploreSitesCatalogError"
expires_after="M82">
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<summary>
If we find a bad catalog from the network, report which problems it had.
</summary>
</histogram>
<histogram name="ExploreSites.CatalogRequestResult"
enum="ExploreSitesCatalogUpdateRequestResult" expires_after="2022-05-01">
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<summary>Results of the Explore Sites network request for a catalog.</summary>
</histogram>
<histogram name="ExploreSites.CatalogUpdateRequestSource"
enum="ExploreSitesCatalogUpdateRequestSource" expires_after="2020-03-22">
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<summary>
The Explore Sites catalog can be requested in several code paths. This
identifies which code path was used for the request.
</summary>
</histogram>
<histogram name="ExploreSites.CategoryClick" enum="ExploreSitesCategories"
expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
The number of times the user clicked on a site in a category with the
selected type on the Explore Sites page.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram name="ExploreSites.ClickedNTPCategoryIndex"
enum="MostVisitedTileIndex" expires_after="2020-04-05">
<owner>dimich@chromium.org</owner>
<summary>
0-based index of a category tile on NTP which was clicked by the user.
Indices are assigned by counting category tiles left-to-right, top-to-bottom
as they appear on NTP. Recorded on click.
</summary>
</histogram>
<histogram name="ExploreSites.ExploreSitesStore.StoreEvent"
enum="ExploreSitesStoreEvent" expires_after="M81">
<owner>dewittj@chromium.org</owner>
<summary>Counts when the explore sites store is opened or closed.</summary>
</histogram>
<histogram name="ExploreSites.FetcherHttpResponseCode" enum="HttpResponseCode"
expires_after="M85">
<owner>dimich@chromium.org</owner>
<summary>
Http response code from ExploreSitesFetcher. Recorded every time the fetcher
is finishing without network error and actually has HTTP response code. 2XX
codes also included.
</summary>
</histogram>
<histogram name="ExploreSites.FetcherNetErrorCode" enum="NetErrorCodes"
expires_after="M85">
<owner>dimich@chromium.org</owner>
<summary>
Net error results from ExploreSitesFetcher. Recorded every time the fetcher
is finishing. OK and ABORTED are included.
</summary>
</histogram>
<histogram name="ExploreSites.ImageDecoded" units="Boolean"
expires_after="2020-06-30">
<owner>freedjm@chromium.org</owner>
<owner>chrome-explore-team@google.com</owner>
<summary>Tracks the result of image decoding for the favicons.</summary>
</histogram>
<histogram name="ExploreSites.MonthlyHostCount" units="hosts"
expires_after="2022-06-19">
<owner>dimich@chromium.org</owner>
<summary>
Number of unique hosts visited by the user during the last 30 days. Reported
at most once a week for all users on Android only, with a 5 second delay
after startup. This is different from History.MonthlyHostCount which is
reported for a percentage of startups, to avoid bias toward more active
users.
</summary>
</histogram>
<histogram name="ExploreSites.NavBackTime" units="ms" expires_after="M85">
<owner>chili@chromium.org</owner>
<owner>dewittj@chromium.org</owner>
<summary>
Recorded every time a user navigates out of the explore sites page and comes
back to it within 30 seconds on the same tab. This is used to measure
accidental clicks, where we expect users who navigate to the wrong page will
navigate back to the ExploreSites page immediately afterward.
</summary>
</histogram>
<histogram name="ExploreSites.NTPLoadingCatalogFromNetwork" units="Boolean"
expires_after="2020-02-16">
<owner>dimich@chromium.org</owner>
<summary>
Recorded every time NTP is opened while ExploreSites feature is enabled.
Indicates whether or not the local cached version of ExploreSites catalog
was available or a network request was initiated to load one.
</summary>
</histogram>
<histogram name="ExploreSites.RequestStatus" enum="ExploreSitesRequestStatus"
expires_after="2022-04-24">
<owner>dimich@chromium.org</owner>
<owner>freedjm@chromium.org</owner>
<summary>
Reported each time from the result callback of the ExploreSitesFetcher.
Values include Success and several failure codes.
</summary>
</histogram>
<histogram name="ExploreSites.SiteTilesClickIndex2" units="units"
expires_after="2021-08-09">
<owner>dewittj@chromium.org</owner>
<owner>petewil@chromium.org</owner>
<summary>
The total index of the selected tile on the ExploreSites page. This measures
how far down from the top it is, counting all the other tiles in cards above
it. This assumes 10 tiles per category, which is set to the maximum of the
tile counts of all existing variations of the ExploreSites page.
</summary>
</histogram>
<histogram name="FactoryPingEmbargo.EndDateValidity"
enum="FactoryPingEmbargoEndDateValidity" expires_after="M77">
<owner>pmarko@chromium.org</owner>
<owner>rogerta@chromium.org</owner>
<summary>
Record the validity of |rlz_embargo_end_date| in RW_VPD. This is recorded
when the VPD value is accessed, which may be multiple times in the same
chrome invocation. This is not recorded when the VPD value is missing.
</summary>
</histogram>
<histogram name="FamilyUser.ArcAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.ArcAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used arc apps in the
past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.BorealisAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.BorealisAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used borealis apps in
the past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.ChromeBrowserEngagement.Duration" units="ms"
expires_after="2021-07-14">
<obsolete>
Replaced with FamilyUser.ChromeBrowserEngagement.Duration2 in M94. The new
version fixed http://crbug.com/1221242.
</obsolete>
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user Chrome browser usage in milliseconds. Reports
current daily duration at the first session start on next day. This is only
logged for active foreground time of Chrome browser. Ignores the time when
video or audio is playing in the background, or Chrome browser is invisible.
</summary>
</histogram>
<histogram name="FamilyUser.ChromeBrowserEngagement.Duration2" units="ms"
expires_after="2022-07-14">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user Chrome browser usage in milliseconds. Reports
current daily duration at the first session start on next day. Despite daily
reporting, the uploaded duration can still exceed 24 hours if the user
continuously stays active for that long. This is only logged for active
foreground time of Chrome browser. Ignores the time when video or audio is
playing in the background, or Chrome browser is invisible. Also ignores the
time when UsageTimeStateNotifier::UsageTimeState is inactive.
</summary>
</histogram>
<histogram name="FamilyUser.CrostiniAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.CrostiniAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used crostini apps in
the past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.DenylistSource" enum="FamilyUserDenylistSource"
expires_after="2022-08-06">
<owner>courtneywong@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the source from which the website filter denylist was loaded either
at login or when web content filter settings change. The default behavior is
to load the current denylist. If that fails, then loading the old denylist
will be attempted. If that also fails, then it is logged that there is no
denylist source.
</summary>
</histogram>
<histogram name="FamilyUser.DeviceOwner" enum="Boolean"
expires_after="2022-11-09">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records whether the current primary user is the owner of device. Reports at
the beginning of the first active session daily.
</summary>
</histogram>
<histogram name="FamilyUser.EnabledExtensionsCount"
units="Number of Extensions" expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.EnabledExtensionsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of non-component enabled regular browser extensions and
themes around once per day, regardless of when they were last used.
</summary>
</histogram>
<histogram name="FamilyUser.ExtensionAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.ExtensionAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used extension apps in
the past 28 days. Compared to FamilyUser.InstalledExtensionsCount, this
metric only includes apps and excludes regular browser extensions.
</summary>
</histogram>
<histogram name="FamilyUser.FamilyLinkUsersCount" units="Number of Users"
expires_after="2022-04-24">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of family link users on a Chrome OS device at the
beginning of the first active session daily.
</summary>
</histogram>
<histogram name="FamilyUser.GaiaUsersCount" units="Number of Users"
expires_after="2022-04-17">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of Gaia users on a Chrome OS device, at the beginning of
the first active session daily for all user types except incognito session.
The user count could be 0 if the managed device has ephemeral user policy.
</summary>
</histogram>
<histogram name="FamilyUser.InstalledExtensionsCount"
units="Number of Extensions" expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.InstalledExtensionsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of non-component installed regular browser extensions and
themes around once per day, regardless of when they were last used.
</summary>
</histogram>
<histogram name="FamilyUser.ManagedSiteList" enum="FamilyLinkManagedSiteList"
expires_after="2022-06-28">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records whether managed sites approved list and blocked list are enabled for
currently active Family Link user. Prior to M93, this metric was recorded at
the beginning of first active session daily. In M93, this metric is now also
recorded when manual hosts and manual urls policies are changed. Ignores the
reports during OOBE and sign out.
</summary>
</histogram>
<histogram name="FamilyUser.ManagedSiteList.Conflict" enum="BooleanHasConflict"
expires_after="2022-10-07">
<owner>msalama@chromium.org</owner>
<owner>chrome-kids-eng@google.com</owner>
<summary>
Records whether the given url has a match in both the allowlist and the
block list which means a conflict. This metric is recorded if the given url
matches at least one manual rule.
</summary>
</histogram>
<histogram name="FamilyUser.ManagedSiteListCount.Approved"
units="Number of approved sites" expires_after="2022-07-28">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records number of approved urls and hosts for currently active Family Link
user. This metric is recorded at the beginning of first active session daily
and when manual hosts and manual urls policies are changed. Ignores the
reports during OOBE and sign out.
</summary>
</histogram>
<histogram name="FamilyUser.ManagedSiteListCount.Blocked"
units="Number of blocked sites" expires_after="2022-07-28">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records number of blocked urls and hosts for currently active Family Link
user. This metric is recorded at the beginning of first active session daily
and when manual hosts and manual urls policies are changed. Ignores the
reports during OOBE and sign out.
</summary>
</histogram>
<histogram name="FamilyUser.NewUserAdded" enum="NewUserAdded"
expires_after="2022-05-01">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Reports NewUserAdded enum when a new Family Link user or regular user is
successfully added to Chrome OS device. Other user types fall into the other
bucket. Reports when the user session starts.
</summary>
</histogram>
<histogram name="FamilyUser.OtherAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with individual app types in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used apps in the past 28
days in a catch-all other category. Includes unknown, built-in, mac native,
plugin vm, lacros, and remote apps.
</summary>
</histogram>
<histogram name="FamilyUser.SessionEngagement.Duration" units="ms"
expires_after="2022-10-04">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user session duration in milliseconds. Reports current
daily duration at the first session start on next day. This is only logged
for active usage time of device, determined by UsageTimeState::ACTIVE.
</summary>
</histogram>
<histogram name="FamilyUser.SessionEngagement.Total" units="Hour of day"
expires_after="2022-10-04">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user engagement hour within the current day (0-23),
total of weekday and weekend. Logged on
UsageTimeStateNotifier::UsageTimeState changes to INACTIVE. Might report the
same hour multiple times.
</summary>
</histogram>
<histogram name="FamilyUser.SessionEngagement.Weekday" units="Hour of day"
expires_after="2022-10-04">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user engagement hour of day (0-23) on weekday. Logged
on UsageTimeStateNotifier::UsageTimeState changes to INACTIVE. Might report
the same hour multiple times.
</summary>
</histogram>
<histogram name="FamilyUser.SessionEngagement.Weekend" units="Hour of day"
expires_after="2022-10-04">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the Chrome OS user engagement hour of day (0-23) on weekend. Logged
on UsageTimeStateNotifier::UsageTimeState changes to INACTIVE. Might report
the same hour multiple times.
</summary>
</histogram>
<histogram name="FamilyUser.TimeLimitPolicyTypes" enum="TimeLimitPolicyType"
expires_after="2022-10-04">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records what time limit policy types are enabled for the currently active
Family Link user. Enabling multiple policies would report multiple buckets
to UMA. Prior to M93, this metric was recorded at the beginning of first
active session daily. In M93, this metric is now also recorded when bed time
limit, daily limit, override time limit, apps time limit and web time limit
policies are changed. App time limits does not include blocked apps.
</summary>
</histogram>
<histogram name="FamilyUser.TotalAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
We only know the individual app type totals, not the overall total, after
M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the total number of recently used apps in the
past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.TotalUsersCount" units="Number of Users"
expires_after="M90">
<obsolete>
Removed in M90. Use FamilyUser.GaiaUsersCount instead.
</obsolete>
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of users for all user types on a Chrome OS device at the
beginning of the first active session daily.
</summary>
</histogram>
<histogram name="FamilyUser.WebAppsCount" units="Number of Apps"
expires_after="2021-08-12">
<obsolete>
Replaced with FamilyUser.WebAppsCount2 in M90.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used web apps in the
past 28 days.
</summary>
</histogram>
<histogram name="FamilyUser.WebFilterType" enum="FamilyLinkWebFilterType"
expires_after="2022-06-28">
<owner>agawronska@chromium.org</owner>
<owner>tobyhuang@chromium.org</owner>
<owner>xiqiruan@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the web filter type for currently active Family Link user. Prior to
M93, this metric was recorded at the beginning of first active session
daily. In M93, this metric is now also recorded when web filter type policy
changed. Ignores the reports during OOBE and sign out.
</summary>
</histogram>
<histogram name="FamilyUser.{AppType}AppsCount2" units="Number of Apps"
expires_after="2022-02-04">
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Around once per day, records the number of recently used {AppType} apps in
the past day.
</summary>
<token key="AppType">
<variant name="Arc"/>
<variant name="Borealis"/>
<variant name="BuiltIn"/>
<variant name="Crostini"/>
<variant name="Extension"/>
<variant name="Lacros"/>
<variant name="MacOs"/>
<variant name="PluginVm"/>
<variant name="Remote"/>
<variant name="SystemWeb"/>
<variant name="Unknown"/>
<variant name="Web"/>
</token>
</histogram>
<histogram name="FamilyUser.{ExtensionStatus}ExtensionsCount2"
units="Number of Extensions" expires_after="2022-02-04">
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the number of non-component {ExtensionStatus} regular browser
extensions and themes around once per day, regardless of when they were last
used.
</summary>
<token key="ExtensionStatus">
<variant name="Enabled" summary="enabled"/>
<variant name="Installed" summary="installed"/>
</token>
</histogram>
<histogram name="FaultTolerantHeap" enum="FaultTolerantHeap"
expires_after="M77">
<owner>brucedawson@chromium.org</owner>
<summary>
Records several bits of information about whether the Windows
FaultTolerantHeap might be enabled. This is logged (from a delayed task)
when the browser process starts up.
</summary>
</histogram>
<histogram name="Favicon.OnDemandIconExistsInDb" units="units"
expires_after="2021-06-08">
<obsolete>
Removed in 06/2021.
</obsolete>
<owner>victorvianna@google.com</owner>
<owner>jkrcal@chromium.org</owner>
<summary>
Records whether an icon already existed in the thumbnail DB when downloading
an on-demand one. On-demand icons are the ones added to local cache without
the user visiting the corresponding page.
</summary>
</histogram>
<histogram name="Favicons.LargeIconService.BlacklistedURLMismatch"
units="BooleanError" expires_after="M77">
<obsolete>
Removed in M88.
</obsolete>
<owner>mastiz@chromium.org</owner>
<summary>
Records the number of large icons that were fetched from the local cache
(e.g. during NTP impression), where the URL (of the page or the icon)
matches a hardcoded blacklist. Suspicious mismatches are reported as errors.
</summary>
</histogram>
<histogram name="Favicons.LargeIconService.DownloadedSize" units="pixels"
expires_after="never">
<!-- expires-never: This metric is needed for informing future UX decisions on
mobile (how to display favicons / scrabble tiles). -->
<owner>jkrcal@chromium.org</owner>
<owner>mastiz@chromium.org</owner>
<summary>
Records the size (concretely the width) in pixel of the favicon downloaded
from Google favicon server (size 0 denotes that download has failed).
</summary>
</histogram>
<histogram name="Favicons.LargeIconService.FallbackSize" units="pixels"
expires_after="never">
<!-- expires-never: This metric is needed for informing future UX decisions on
mobile (how to display favicons / scrabble tiles). -->
<owner>jkrcal@chromium.org</owner>
<owner>mastiz@chromium.org</owner>
<summary>
Records the size (concretely the width) in pixel of the favicon that is used
to generate a fallback style in the case when large enough favicon is not
available (size 0 denotes that no favicon is available at all).
</summary>
</histogram>
<histogram name="Feedback.Duration.FetchSystemInformation" units="ms"
expires_after="2022-06-22">
<owner>xiangdongkong@google.com</owner>
<owner>cros-feedback-app@google.com</owner>
<summary>
Records the elapsed time from the start of fetching system information to
when the data has been retrieved. Fires during the process of sending a
feedback report on Chrome or Chrome OS.
</summary>
</histogram>
<histogram name="Feedback.Duration.FormOpenToSubmit" units="s"
expires_after="2022-06-22">
<owner>xiangdongkong@google.com</owner>
<owner>cros-feedback-app@google.com</owner>
<summary>
Records the elapsed time from when the feedback app window is opened to when
the backend receives the send report request submitted by a user. Fires
during the process of sending a feedback report on Chrome or Chrome OS.
</summary>
</histogram>
<histogram name="Feedback.Duration.FormSubmitToConfirmation" units="ms"
expires_after="2022-06-22">
<owner>xiangdongkong@google.com</owner>
<owner>cros-feedback-app@google.com</owner>
<summary>
Records the elapsed time from when the backend receives the send report
request submitted by a user to when it starts to send confirmation back to
the frontend. Fires during the process of sending a feedback report on
Chrome or Chrome OS.
</summary>
</histogram>
<histogram name="Feedback.Duration.FormSubmitToSendQueue" units="ms"
expires_after="2022-06-22">
<owner>xiangdongkong@google.com</owner>
<owner>cros-feedback-app@google.com</owner>
<summary>
Records the elapsed time from when the backend receives the send report
request submitted by a user and the report has been added to the send queue.
Fires during the process of sending a feedback report on Chrome or Chrome
OS.
</summary>
</histogram>
<histogram name="Feedback.HappinessTrackingSurvey.BubbleUsage"
enum="HappinessTrackingSurveyDesktopBubbleUsage" expires_after="M82">
<owner>weili@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Records how user interacts with Happiness Tracking Surveys (HaTS) bubble
prompt which is shown for a subset of users. Each time when the bubble is
shown, there should be one and only one enum type is recorded.
</summary>
</histogram>
<histogram name="Feedback.HappinessTrackingSurvey.ShouldShowSurveyReason"
enum="HappinessTrackingSurveyShouldShowSurveyReasons"
expires_after="2022-05-15">
<owner>sauski@google.com</owner>
<owner>msramek@chromium.org</owner>
<summary>
Records the first reason why the Happiness Tracking Surveys (HaTS) bubble
was or was not shown. While the request to show may not meet multiple
criteria, the first criterion is reported here.
</summary>
</histogram>
<histogram name="Feedback.ReportSending.Online" units="boolean"
expires_after="2022-12-15">
<owner>xiangdongkong@google.com</owner>
<owner>cros-feedback-app@google.com</owner>
<summary>
Records whether the user is online when the feedback report was submitted.
</summary>
</histogram>
<histogram name="Feedback.ReportSending.Result"
enum="FeedbackReportSendingResult" expires_after="2022-12-15">
<owner>xiangdongkong@google.com</owner>
<owner>cros-feedback-app@google.com</owner>
<summary>
Records the feedback report sending states to help track the success rate of
feedback report offline submission.
</summary>
</histogram>
<histogram name="Feedback.RequestSource" enum="FeedbackSource"
expires_after="2022-06-05">
<owner>afakhry@chromium.org</owner>
<owner>cros-telemetry@google.com</owner>
<summary>Records the source that requested showing the feedback app.</summary>
</histogram>
<histogram name="Feedback.TrustSafetySentiment.SurveyRequested"
enum="TrustSafetySentimentFeatureArea" expires_after="2022-06-19">
<owner>sauski@google.com</owner>
<owner>chrome-hats-eng@google.com</owner>
<summary>
Records the associated feature area when the Trust and Safety Sentiment
service requests a survey be shown from the HaTS service.
</summary>
</histogram>
<histogram name="Feedback.TrustSafetySentiment.TriggerOccurred"
enum="TrustSafetySentimentFeatureArea" expires_after="2022-06-19">
<owner>sauski@google.com</owner>
<owner>chrome-hats-eng@google.com</owner>
<summary>
Records the associated feature area when the Trust and Safety sentiment
service detects that the user has performed a trigger action. This is
recorded after the associated probability check.
</summary>
</histogram>
<histogram name="FirstRun.IOSFirebaseConfigured" enum="FirebaseConfiguredState"
expires_after="M89">
<owner>ghendel@chromium.org</owner>
<owner>pkl@chromium.org</owner>
<summary>Track whether Firebase is enabled or not at app startup.</summary>
</histogram>
<histogram name="FirstRun.LaunchSource" enum="FirstRunLaunchSource"
expires_after="2022-06-26">
<owner>jlebel@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
Counts the number of times First Run experience was triggered by another
application launching Chrome. This metric measures the effectiveness of
Smart App Banner promotions on installation of Chrome.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.GoogleAppsInteraction"
enum="NuxGoogleAppsInteractions" expires_after="M76">
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records when a user interacted with the Google Apps new user experience. We
record both accept and reject but are not recording when a user ignored the
prompt completely. Users can ignore this prompt by closing the tab or
navigating away, we record when the prompt is shown.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.GoogleAppsSelection"
enum="NuxGoogleAppsSelections" expires_after="M76">
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records what Google apps were selected as part of the Google Apps New User
Experience. Histogram is only recorded when a user accepts the prompt to add
Google Apps.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.LandingPageInteraction"
enum="NuxLandingPageInteractions" expires_after="never">
<!-- expires-never: Captures users' initial interaction with chrome. We will
need to track how the metrics change over time, and how different
acquisition campaigns impact this metric. -->
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records when a user interacted with the landing page of the onboarding
process. We record that the page was seen and what action the user took.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.NtpBackgroundInteraction"
enum="NuxNtpBackgroundInteractions" expires_after="2022-06-12">
<owner>hcarmona@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
Records when a user interacts with the NTP Backgrounds new user experience.
We record the number of times the page is seen, how they interacted with the
page (i.e. interacted with the options and buttons), and through what method
they leave the page (i.e, confirm, cancel, neither). The new user experience
should only be shown once to new profiles.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.NtpBackgroundLoadTime" units="ms"
expires_after="M80">
<owner>hcarmona@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
Records the time taken to load a NTP background image for preview. This is
recorded when a user clicks on a background to preview and the full-size
version of the background finishes loading.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.SetAsDefaultInteraction"
enum="NuxSetAsDefaultInteractions" expires_after="never">
<!-- expires-never: Captures users' initial interaction with chrome. We will
need to track how the metrics change over time, and how different
acquisition campaigns impact this metric. -->
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records when a user interacted with the set default page of the onboarding
process. We record that the page was seen and what action the user took.
</summary>
</histogram>
<histogram name="FirstRun.NewUserExperience.SignInInterstitialInteraction"
enum="NuxSignInInterstitialInteractions" expires_after="M76">
<owner>hcarmona@chromium.org</owner>
<owner>scottchen@chromium.org</owner>
<summary>
Records when a user interacted with the sign in interstitial of the
onboarding process. We record that the page was seen and what action the
user took.
</summary>
</histogram>
<histogram name="FirstRun.Sentinel.Created" enum="FirstRunSentinelResult"
expires_after="2022-04-01">
<owner>jlebel@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>Result of sentinel file has been written.</summary>
</histogram>
<histogram name="FirstRun.Sentinel.CreatedFileError" enum="PlatformFileError"
expires_after="2022-04-01">
<owner>jlebel@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>File error when the sentinel file was not written.</summary>
</histogram>
<histogram name="FirstRun.SignIn" enum="FirstRunSignInResult"
expires_after="never">
<!-- expires-never: Used to monitor sign-in during the first run experience.
-->
<owner>fernandex@chromium.org</owner>
<owner>jlebel@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>Result of the sign in flow during first run on iOS.</summary>
</histogram>
<histogram name="FirstRun.Stage" enum="FirstRunStageResult"
expires_after="2022-04-30">
<owner>tinazwang@chromium.org</owner>
<owner>bling-get-started@google.com</owner>
<summary>
When Chrome is opened for the first time, the first run (onboarding) UI will
be shown. Metircs will be recorded in different first run stages such as
when first run experience is started, and when first run experience is
completed.
</summary>
</histogram>
<histogram name="FirstUserAction.BackgroundTime" units="minutes"
expires_after="2022-09-12">
<!-- Name completed by histogram_suffixes name="FirstUserActionType" and name="FirstUserActionTypeDevice" -->
<owner>justincohen@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
WARNING: The list of actions used to identify new tasks hasn't been
attentively updated for several years (as of 2017). Some actions that should
likely be considered new tasks are probably missing. Take this histogram
with a grain of salt. Was expired for M85, M86.
The amount of time (in seconds) that the app was in the background before
the user started it
</summary>
</histogram>
<histogram name="FirstUserAction.HandsetUserActionType"
enum="FirstUserActionType" expires_after="2022-09-12">
<owner>justincohen@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
WARNING: The list of actions used to identify new tasks hasn't been
attentively updated for several years (as of 2017). Some actions that should
likely be considered new tasks are probably missing. Take this histogram
with a grain of salt. Was expired for M77-M86.
On handsets, the type of the first user action performed after the app was
started or unbackgrounded.
</summary>
</histogram>
<histogram name="FirstUserAction.TabletUserActionType"
enum="FirstUserActionType" expires_after="2022-09-12">
<owner>justincohen@chromium.org</owner>
<owner>olivierrobin@chromium.org</owner>
<summary>
WARNING: The list of actions used to identify new tasks hasn't been
attentively updated for several years (as of 2017). Some actions that should
likely be considered new tasks are probably missing. Take this histogram
with a grain of salt. Was expired for M82-M86.
On tablets, the type of the first user action performed after the app was
started or unbackgrounded.
</summary>
</histogram>
<histogram name="FontFallback.GetLinkedFonts.CacheMissTiming" units="ms"
expires_after="2021-01-01">
<owner>drott@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
Time to retrieve the fallback fonts on the system when not found in cache.
</summary>
</histogram>
<histogram name="FontFallback.GetLinkedFonts.FontCount" units="count"
expires_after="2021-01-01">
<owner>drott@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>The amount of font returned for a given font family.</summary>
</histogram>
<histogram name="FontFallback.GetLinkedFonts.Timing" units="ms"
expires_after="2021-01-01">
<owner>drott@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>Time to retrieve the fallback fonts on the system.</summary>
</histogram>
<histogram name="Fonts.AccessAPI.EnumerationCache.DuplicateFontCount"
units="count" expires_after="M90">
<obsolete>
Removed in M95
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
The number of duplicate fonts returned by system APIs. This is recorded when
fonts are enumerated to be returned to script as a result of a call to the
Font Access API.
</summary>
</histogram>
<histogram name="Fonts.AccessAPI.EnumerationCache.Dwrite.FamilyCount"
units="families" expires_after="M90">
<obsolete>
Removed in M95
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
Records the number of font families observed by the font enumeration cache
as part of the Font Access API.
</summary>
</histogram>
<histogram
name="Fonts.AccessAPI.EnumerationCache.Dwrite.GetSystemFontCollectionResult"
enum="Hresult" expires_after="M90">
<obsolete>
Removed in M95
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
Records errors returned when obtaining the list of system fonts from
DirectWrite's GetSystemFontCollection.
</summary>
</histogram>
<histogram
name="Fonts.AccessAPI.EnumerationCache.Dwrite.MostFrequentEnumerationFailure"
enum="Hresult" expires_after="M90">
<obsolete>
Removed in M95
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
Records the most frequent failure to obtain metadata for a font family when
enumerating fonts as part of the Font Access API. Recorded in
FontEnumerationCacheWin when all fonts have been enumerated. Values are
Windows HRESULT error codes, and also includes custom values specific to
this implementation.
</summary>
</histogram>
<histogram
name="Fonts.AccessAPI.EnumerationCache.Fontconfig.DuplicateFontCount"
units="count" expires_after="M90">
<obsolete>
Removed in M86 in favor of
Fonts.AccessAPI.EnumerationCache.DuplicateFontCount.
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>The number of duplicate fonts returned by fontconfig.</summary>
</histogram>
<histogram name="Fonts.AccessAPI.EnumerationCache.Fontconfig.FontCount"
units="count" expires_after="M90">
<obsolete>
Removed in M95
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>The number of fonts returned by fontconfig.</summary>
</histogram>
<histogram
name="Fonts.AccessAPI.EnumerationCache.Fontconfig.IncompleteFontCount"
units="count" expires_after="M90">
<obsolete>
Removed in M95
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
The number of fonts whose name table entries could not be read.
</summary>
</histogram>
<histogram name="Fonts.AccessAPI.EnumerationTime" units="ms"
expires_after="2021-06-20">
<obsolete>
Removed in M95
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>Time spent enumerating fonts.</summary>
</histogram>
<histogram name="ForceDiceMigration.RevokeTokenAction" enum="RevokeTokenAction"
expires_after="2020-10-04">
<obsolete>
Removed in M88.
</obsolete>
<owner>msalama@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<summary>
Tracks revoke actions taken by the account reconcilior to force Dice
migration. To enforce consistency, the reconcilior may invalidate the
primary account or revoke one or more secondary account tokens, if no
equivalent valid gaia cookie exist for those accounts.
</summary>
</histogram>
<histogram name="Gaia.AuthFetcher.ListAccounts.NetErrorCodes"
enum="NetErrorCodes" expires_after="never">
<!-- expires-never: used to monitor and troubleshoot the signin component -->
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<summary>
Reports the network error code for requests to the ListAccounts Gaia
endpoint.
</summary>
</histogram>
<histogram name="Gaia.BadRequestTypeForOAuth2AccessToken"
enum="OAuth2BadRequestError" expires_after="never">
<!-- expires-never: Used to monitor OAuth code health and debug issues. -->
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Detailed error type in bad requests for OAuth2 access tokens. Recorded when
a HTTP 400 is received in response to a access token request.
</summary>
</histogram>
<histogram name="Gaia.ResponseCodesForOAuth2AccessToken"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="never">
<!-- expires-never: Used to monitor OAuth code health and debug issues. -->
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
URLFetcher response codes for OAuth2AccessToken. Positive values are HTTP
status codes, negative values are network error codes. Recorded on responses
to OAuth access token requests.
</summary>
</histogram>
<histogram name="Gamepad.KnownGamepadConnectedWithId"
enum="GamepadVendorProduct" expires_after="2022-06-19">
<owner>mattreynolds@chromium.org</owner>
<owner>deviceapi-team@google.com</owner>
<summary>
Records an integer value that can be used to identify a connected gamepad
device. The value is constructed from the 16-bit vendor ID in the high-order
bytes and the 16-bit product ID in the low-order bytes, then cast to a
32-bit signed integer. The GamepadVendorProduct enum lists IDs for several
popular gamepads but is incomplete. To identify a device not included in the
enum, convert back to the vendor/product IDs and look up the human-friendly
product name in go/gamepad-ids. This histogram records a new entry when a
device with a vendor and product ID matching a known gaming input device is
detected during Gamepad API enumeration.
</summary>
</histogram>
<histogram name="Gamepad.UnknownGamepadConnected" enum="GamepadSource"
expires_after="2022-07-03">
<owner>mattreynolds@chromium.org</owner>
<owner>deviceapi-team@google.com</owner>
<summary>
Records an enumeration value identifying the active data fetcher when a
fetcher enumerates a device that is not on the list of known gamepads, but
is recognized as a gamepad by the fetcher.
</summary>
</histogram>
<histogram name="GData.AuthSuccess" enum="GDataAuthResult"
expires_after="2018-08-30">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>Result of the authentication for Drive.</summary>
</histogram>
<histogram name="GestureNavigation.Activated" enum="GestureNavigationDirection"
expires_after="2022-04-24">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gesture was made beyond a threshold big enough to regard it as a
valid gesture navigation i.e. at least 1/3 of the arrow puck is visible.
Similar to 'Triggered' but is used in pair with 'Cancelled' on M81 forward
to measure cancellation rate. Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Cancelled" enum="GestureNavigationDirection"
expires_after="2022-05-01">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gestures that were cancelled before they were completed. Similar
to 'Abandoned' but is used in pair with 'Activated' on M81 forward to
measure cancellation rate. Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Completed" enum="GestureNavigationDirection"
expires_after="2022-06-19">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Navigations that were triggered due to completed overscroll gesture.
Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Reversed" enum="GestureNavigationDirection"
expires_after="2022-05-01">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gesture was made to trigger navigation, but within 3 seconds user
used overscroll gesture to navigate back to the page. Implemented for
Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Sheet.Peeked"
enum="GestureNavigationDirection" expires_after="2020-09-23">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gesture was made to trigger navigation bottom sheet to peeked
state. Peek state can be entered and exited more than once in a sequence of
overscroll gesture (until user lifts his finger). They are recorded as just
one event per sequence. Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Sheet.Selected" units="units"
expires_after="2020-09-23">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Index of the entries in the navigation bottom sheet that user tapped.
Negative means navigating backward, positive forward. Zero index means that
the user chose &quot;Show full history&quot;.
</summary>
</histogram>
<histogram name="GestureNavigation.Sheet.Used"
enum="GestureNavigationDirection" expires_after="2020-09-23">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
User tapped one of the entries in the expanded navigation bottom sheet to
navigate to other page. Implemented for Android.
</summary>
</histogram>
<histogram name="GestureNavigation.Sheet.Viewed"
enum="GestureNavigationDirection" expires_after="2020-09-23">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Overscroll gesture was made to trigger navigation bottom sheet to expanded
state where the whole list of history items are presented.
</summary>
</histogram>
<histogram name="GestureNavigation.Type" enum="GestureNavigationType"
expires_after="2022-06-19">
<owner>jinsukkim@chromium.org</owner>
<owner>clank-app-team@google.com</owner>
<summary>
Gesture navigation type. It can be either Chrome's own gesture UI that
supports back and forward navigation or OS-provided default system gesture
navigation that supports only back action on both left and right edge. This
is recorded on Chrome startup at the feature component initialization.
</summary>
</histogram>
<histogram base="true" name="GridTabSwitcher.DirtySpan" units="ms"
expires_after="2020-11-15">
<owner>yusufo@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
This histogram records the dirty span of the transition animation between
Tab and Grid Tab Switcher. The dirty span is the duration from the start of
the animation to the last View invalidation.
</summary>
</histogram>
<histogram base="true" name="GridTabSwitcher.FramePerSecond" units="frame/sec"
expires_after="2022-07-03">
<owner>yusufo@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
This histogram records the frame rate of the transition animation between
Tab and Grid Tab Switcher.
</summary>
</histogram>
<histogram base="true" name="GridTabSwitcher.MaxFrameInterval" units="ms"
expires_after="2020-05-03">
<owner>yusufo@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
This histogram records the maximum interval between rendered frames during
the transition animation between Tab and Grid Tab Switcher.
</summary>
</histogram>
<histogram name="GridTabSwitcher.ThumbnailFetchingResult"
enum="GridTabSwitcherThumbnailFetchingResult" expires_after="2021-02-14">
<owner>yusufo@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
This histogram records the result of thumbnail fetching in the Grid Tab
Switcher.
</summary>
</histogram>
<histogram name="GridTabSwitcher.{MessageType}.DisableReason"
enum="GridTabSwitcherMessageDisableReason" expires_after="2022-06-07">
<owner>zhiyuancai@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<owner>ayman@chromium.org</owner>
<summary>
Records why the {MessageType} is disabled in GridTabSwitcher and will no
longer be shown to users. Recorded when the message is disabled. Implemented
for Android.
</summary>
<token key="MessageType" variants="GridTabSwitcherMessageTypes"/>
</histogram>
<histogram name="GwpAsan.CrashAnalysisResult" enum="GwpAsanCrashAnalysisResult"
expires_after="2020-05-17">
<owner>vtsyrklevich@chromium.org</owner>
<owner>dynamic-tools@google.com</owner>
<summary>
Reports the GWP-ASan crash analysis result. That can either be a
determination that the crash was related to GWP-ASan, not related to
GWP-ASan, or an error making that determination. Recorded with every crash.
Deprecated in favor of GwpAsan.CrashAnalysisResult.Malloc and
GwpAsan.CrashAnalysisResult.PartitionAlloc in M76
</summary>
</histogram>
<histogram name="Hardware.Concurrency" units="CPU cores"
expires_after="2021-12-12">
<owner>sadrul@chromium.org</owner>
<owner>zmo@chromium.org</owner>
<summary>
Records the system hardware concurrency collected in the info collection GPU
process, once per UMA ping. For most systems, it is equivalent to the number
of CPU cores.
</summary>
</histogram>
<histogram name="Hardware.Display.Count.OnChange" units="units"
expires_after="2022-06-12">
<owner>sashamcintosh@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
The number of displays present right after the user has attached or detached
a new display. Excludes mirrored displays, but includes sleeping displays.
</summary>
</histogram>
<histogram name="Hardware.Display.Count.OnStartup" units="units"
expires_after="2022-06-12">
<owner>sashamcintosh@chromium.org</owner>
<owner>chromeos-gfx@chromium.org</owner>
<summary>
The number of displays present at start up. Excludes mirrored displays, but
includes sleeping displays.
</summary>
</histogram>
<histogram name="Hardware.Display.SupportsHDR" enum="BooleanSupported"
expires_after="2022-06-14">
<owner>cassew@google.com</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Whether a given display device supports HDR (such that the CSS media query
`dynamic-range: high` would resolve as true). Recorded upon browser startup
(for every connected display), upon display device connection (for the newly
connected display), and upon any change to the color space metric (for the
affected display).
</summary>
</histogram>
<histogram name="Hardware.TotalDiskSpace" units="GB" expires_after="2022-06-19">
<owner>sadrul@chromium.org</owner>
<owner>zmo@chromium.org</owner>
<summary>
Records a rough estimation of the system total disk space collected in the
info collection GPU process, once per UMA ping.
</summary>
</histogram>
<histogram name="HeapProfiling.InProcess.Enabled" enum="BooleanEnabled"
expires_after="2022-12-02">
<owner>joenotcharles@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
One metric is emitted on every Chrome launch, recording whether the
in-process heap profiler is enabled in the browser process for this Chrome
session.
</summary>
</histogram>
<histogram name="HeapProfiling.ProfiledProcess.Type"
enum="HeapProfilingProcessType" expires_after="2021-12-12">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
One metric is emitted every 24-hours after Chrome is launched for every
process that is being profiled. The timer is reset if Chrome exits.
</summary>
</histogram>
<histogram name="HeapProfiling.ProfilingMode" enum="HeapProfilingMode"
expires_after="2021-02-25">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
One metric is emitted every 24-hours after Chrome is launched for every
Chrome instance that is using out of process heap profiling. The timer is
reset if Chrome exits.
</summary>
</histogram>
<histogram name="HeapProfiling.RecordTrace.Success" enum="BooleanSuccess"
expires_after="2021-02-25">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
The metric is emitted each time Chrome attempts to record a memory-infra
trace to upload an out-of-process heap-profiling memory dump.
</summary>
</histogram>
<histogram name="HeapProfiling.UploadTrace.Size" units="bytes"
expires_after="2021-02-25">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
The metric is emitted each time Chrome uploads a trace. It reflects the
uncompressed size of the trace.
</summary>
</histogram>
<histogram name="HeapProfiling.UploadTrace.Success" enum="BooleanSuccess"
expires_after="2021-02-25">
<owner>erikchen@chromium.org</owner>
<owner>chrome-memory@google.com</owner>
<summary>
The metric is emitted each time Chrome uploads a trace. It reflects whether
the upload was successful.
</summary>
</histogram>
<histogram name="HIDDetection.OOBEDevicesDetectedOnContinuePressed"
enum="HIDContinueScenarioType" expires_after="M94">
<obsolete>
Removed in M96.
</obsolete>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Which HID were detected when user pressed Continue on OOBE dialog. This
metric is specific to Chrome OS.
</summary>
</histogram>
<histogram name="HIDDetection.OOBEDialogShown" units="units"
expires_after="M94">
<obsolete>
Removed in M96.
</obsolete>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Whether HID detection dialog was shown on OOBE. Logged on screen show or on
screen skip respectively. This metric is specific to Chrome OS.
</summary>
</histogram>
<histogram name="HIDDetection.TimesDialogShownPerOOBECompleted" units="units"
expires_after="M97">
<obsolete>
Removed in M97.
</obsolete>
<owner>rsorokin@chromium.org</owner>
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Records number of times the dialog was shown by the time OOBE is completed.
This metric is specific to Chrome OS.
</summary>
</histogram>
<histogram name="HostedAppFrame.ContentSettings.ImagePressed"
enum="ContentSettingImageType" expires_after="2021-02-01">
<owner>calamity@chromium.org</owner>
<owner>src/chrome/browser/ui/page_action/OWNERS</owner>
<summary>
Counts which content setting buttons in the hosted app frame are pressed by
the user.
</summary>
</histogram>
<histogram name="HostedAppFrame.WrenchMenu.MenuAction" enum="WrenchMenuAction"
expires_after="M90">
<owner>calamity@chromium.org</owner>
<owner>alancutter@chromium.org</owner>
<summary>
Number of times that each menu item is clicked from the hosted app window
menu button.
</summary>
</histogram>
<histogram base="true" name="Hwsec.Attestation.Status"
enum="HwsecAttestationOpsStatus" expires_after="2022-07-03">
<!-- Name completed by histogram_suffixes name="AttestationOps" -->
<owner>garryxiao@chromium.org</owner>
<owner>cylai@chromium.org</owner>
<owner>cros-hwsec-userland-eng+uma@chromium.org</owner>
<summary>
The result of attestation-related operations on the Chrome OS side.
</summary>
</histogram>
<histogram name="Hyphenation.Open" units="ms" expires_after="2022-06-26">
<owner>kojii@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>The time it takes to open a hyphenation dictionary.</summary>
</histogram>
<histogram name="Hyphenation.Open.File" units="ms" expires_after="2022-04-24">
<owner>kojii@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>The time it takes to open a hyphenation dictionary file.</summary>
</histogram>
<histogram name="ICU.CreateInstance" enum="ICUCreateInstanceCode"
expires_after="2021-02-21">
<owner>ftang@chromium.org</owner>
<owner>intl-libs-team@google.com</owner>
<summary>
This metric logs the creation of key ICU objects. These object creation
called directly from Chrome code or indirectly from depending library such
as blink and v8.
</summary>
</histogram>
<histogram name="ICU.DataFile" enum="ICUDataFileCode"
expires_after="2021-02-21">
<owner>ftang@chromium.org</owner>
<owner>intl-libs-team@google.com</owner>
<summary>
This metric logs the ICU built-in data file name opened and used by chrome.
These file open calls are perform internally inside ICU while Chrome
directly or indirectly call ICU to create object and cause ICU to load new
data files, such as loading codeset conversion table, create break iterator,
and open dictionary files for word break/line break iterator. It however
does not include the opening of resource bundle files.
</summary>
</histogram>
<histogram name="Import.ImportedHistorySize.AutoImportFromIE" units="urls"
expires_after="M77">
<owner>gcomanici@chromium.org</owner>
<summary>
The size of the history on Auto Import from IE. This measure is only logged
on a succesfull Auto Import.
</summary>
</histogram>
<histogram name="Import.ImporterType.AutoImport" enum="ImporterType"
expires_after="2018-08-30">
<owner>gab@chromium.org</owner>
<summary>The importer used on first run Auto Import.</summary>
</histogram>
<histogram name="Import.ImporterType.BookmarksAPI" enum="ImporterType"
expires_after="M77">
<owner>gab@chromium.org</owner>
<summary>The importer used on import from the bookmarks file API.</summary>
</histogram>
<histogram name="Import.ImporterType.ImportDataHandler" enum="ImporterType"
expires_after="2018-08-30">
<owner>gab@chromium.org</owner>
<summary>
The importer used on import from the chrome://settings/importData UI.
</summary>
</histogram>
<histogram name="ImportantFile.DeleteOnCloseError" enum="PlatformFileError"
expires_after="M89">
<obsolete>
Removed in M89.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error on Windows when ImportantFileWriter fails to mark the temporary
file for deletion upon closure.
</summary>
</histogram>
<histogram name="ImportantFile.FileCreateError" enum="PlatformFileError"
expires_after="2022-01-16">
<obsolete>
Removed in M95. Most failures are NO_SPACE.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error happened upon temporary file creation at ImportantFileWriter.
</summary>
</histogram>
<histogram name="ImportantFile.FileDeleteNoRetryError" enum="PlatformFileError"
expires_after="2021-11-14">
<obsolete>
Removed in M95.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error happened upon temporary file deletion at ImportantFileWriter when
it was not possible to retry in a delayed task.
</summary>
</histogram>
<histogram name="ImportantFile.FileDeleteRetryExceededError"
enum="PlatformFileError" expires_after="2021-12-19">
<obsolete>
Removed in M95.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
The final file error when all retries for deleting the temorary file fail.
</summary>
</histogram>
<histogram name="ImportantFile.FileDeleteRetrySuccessCount"
units="attept number" expires_after="2021-12-19">
<obsolete>
Removed in M95.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
The number of retries needed to successfully delete the temporary file. Only
recorded when at least one retry (two attempts) is needed.
</summary>
</histogram>
<histogram name="ImportantFile.FileRenameError" enum="PlatformFileError"
expires_after="2021-12-05">
<obsolete>
Removed in M95. Most failures are ACCESS_DENIED.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error happened upon temporary file renaming at ImportantFileWriter.
</summary>
</histogram>
<histogram name="ImportantFile.FileReplaceRetryCount" units="attempt count"
expires_after="2022-07-03">
<owner>brucedawson@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>
The number of retries needed to successfully move the temporary file to its
final location. Zero means that ReplaceFile worked the first time. Ten means
that it never succeeded.
</summary>
</histogram>
<histogram name="ImportantFile.FileWriteError" enum="PlatformFileError"
expires_after="2021-12-05">
<obsolete>
Removed in M95. Most failures are NO_SPACE.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>xaerox@yandex-team.ru</owner>
<summary>
File error happened upon writing data to temporary file at
ImportantFileWriter.
</summary>
</histogram>
<histogram name="ImportantFile.SerializationDuration{File}" units="ms"
expires_after="2022-12-12">
<owner>battre@chromium.org</owner>
<owner>gab@chromium.org</owner>
<summary>
CPU time used in the foreground thread (usually UI thread) to serialize the
data to be written into an important file (e.g. serialize JSON string for
preferences). For users of ImportantFileWriter that leverage background
serialization (e.g. bookmarks), it excludes the time spent on the background
thread, and only logs the time spent on the foreground thread.
</summary>
<token key="File">
<variant name="" summary="Unknown file"/>
<variant name=".BookmarkStorage" summary="Bookmarks file"/>
<variant name=".FeedbackReport" summary="Feedback Report file"/>
<variant name=".Local_State" summary="Local State file"/>
<variant name=".Preferences" summary="Preferences file"/>
<variant name=".Secure_Preferences" summary="Secure Preferences file"/>
<variant name=".StructuredMetricsPersistentProto"
summary="Structured metrics persistent proto"/>
</token>
</histogram>
<histogram name="ImportantFile.TempFileFailures" enum="TempFileFailure"
expires_after="2021-12-19">
<obsolete>
Removed in M95. Most failures are NO_SPACE.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>lassey@google.com</owner>
<summary>
Count of various failures in ImportantFileWrite when manipulating a temp
file to write to before moving it into place (replacing another file).
</summary>
</histogram>
<histogram name="IncognitoModePrefs.WindowsParentalControlsInitThread"
enum="ThreadType" expires_after="M77">
<obsolete>
Removed in http://crrev.com/747875.
</obsolete>
<owner>robliao@chromium.org</owner>
<summary>
The thread used to initialize the Windows parental controls.
</summary>
</histogram>
<histogram name="IncognitoModePrefs.WindowsParentalControlsInitTime" units="ms"
expires_after="M77">
<obsolete>
Removed in http://crrev.com/747875.
</obsolete>
<owner>robliao@chromium.org</owner>
<summary>
The amount of time that elapsed during a run of
PlatformParentalControlsValue::IsParentalControlActivityLoggingOnImpl on
Windows 7 and above.
</summary>
</histogram>
<histogram name="IncompatibleApplicationsPage.AddedPostCrash"
enum="BooleanShown" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether the user was automatically shown the
chrome://settings/incompatibleApplications page following a Chrome crash.
</summary>
</histogram>
<histogram name="IncompatibleApplicationsPage.NumApplications"
units="applications" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The number of incompatible applications detected by Chrome at the time the
chrome://settings/incompatibleApplications page was opened.
</summary>
</histogram>
<histogram name="InertialSensor.AccelerometerAndroidAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the Sensor.TYPE_LINEAR_ACCELERATION was available at the start of
Device Motion.
</summary>
</histogram>
<histogram name="InertialSensor.AccelerometerIncGravityAndroidAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the Sensor.TYPE_ACCELEROMETER was available at the start of Device
Motion.
</summary>
</histogram>
<histogram name="InertialSensor.AccelerometerWindowsAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the SENSOR_TYPE_ACCELEROMETER_3D was available at the start of
Device Motion on the Windows platform.
</summary>
</histogram>
<histogram name="InertialSensor.DeviceOrientationSensorAndroid"
enum="DeviceOrientationSensorTypeAndroid" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Provides a histogram of the base sensors (if any) that are used at the start
of the Device Orientation API. Currently Sensor.TYPE_GAME_ROTATION_VECTOR is
the default sensor for orientation, if it's not available fall-back options
are provided by using either Sensor.TYPE_ROTATION_VECTOR or a combination of
Sensor.TYPE_ACCELEROMETER and Sensor.TYPE_MAGNETIC_FIELD.
</summary>
</histogram>
<histogram name="InertialSensor.GyrometerWindowsAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the SENSOR_TYPE_GYROMETER_3D was available at the start of Device
Motion on the Windows platform.
</summary>
</histogram>
<histogram name="InertialSensor.GyroscopeAndroidAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the Sensor.TYPE_GYROSCOPE was available at the start of Device
Motion.
</summary>
</histogram>
<histogram name="InertialSensor.InclinometerWindowsAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the SENSOR_TYPE_INCLINOMETER_3D was available at the start of Device
Orientation on the Windows platform.
</summary>
</histogram>
<histogram name="InertialSensor.MotionDefaultAvailable" enum="BooleanAvailable"
expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
This histogram counts the number of Device Motion API invocations in the
default implementation (Linux and CrOS). The default implementation does not
provide any sensors so the result is always false.
</summary>
</histogram>
<histogram name="InertialSensor.MotionMacAvailable" enum="BooleanAvailable"
expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the sudden motion sensor was available at the start of Device Motion
on the MacOS platform.
</summary>
</histogram>
<histogram name="InertialSensor.OrientationDefaultAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
This histogram counts the number of Device Orientation API invocations in
the default implementation (Linux and CrOS). The default implementation does
not provide any sensors so the result is always false.
</summary>
</histogram>
<histogram name="InertialSensor.OrientationMacAvailable"
enum="BooleanAvailable" expires_after="M95">
<owner>timvolodine@chromium.org</owner>
<summary>
Whether the sudden motion sensor was available at the start of Device
Orientation on the MacOS platform.
</summary>
</histogram>
<histogram name="InstanceID.DeleteToken.RequestStatus"
enum="GCMUnregistrationRequestStatus" expires_after="M77">
<owner>peter@chromium.org</owner>
<summary>Status code of the outcome of DeleteToken request.</summary>
</histogram>
<histogram name="InstanceID.GetToken.CompleteTime" units="ms"
expires_after="2018-08-30">
<owner>jianli@chromium.org</owner>
<summary>
Length of time taken to complete the GetToken request successfully. If the
request is retried multiple times, the length of time is counted for the
last successful retry.
</summary>
</histogram>
<histogram name="InstanceID.GetToken.NetErrorCode" enum="NetErrorCodes"
expires_after="M94">
<owner>peter@chromium.org</owner>
<owner>platform-capabilities@chromium.org</owner>
<summary>
Net error code from an Instance ID GetToken attempt. Recorded when URL
loading completes.
</summary>
</histogram>
<histogram name="InstanceID.GetToken.OptionsCount" units="options"
expires_after="M89">
<obsolete>
Deprecated as of 11/2020
</obsolete>
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
The number of options provided to the GetToken request. Recorded when the
request has been received by the InstanceID instance.
</summary>
</histogram>
<histogram name="InstanceID.GetToken.RequestStatus"
enum="GCMRegistrationRequestStatus" expires_after="M94">
<owner>peter@chromium.org</owner>
<summary>Status code of the outcome of GetToken request.</summary>
</histogram>
<histogram name="InstanceID.RestoredIDCount" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
Number of Instance IDs restored from the persistent store at startup.
</summary>
</histogram>
<histogram name="InstanceID.RestoredTokenCount" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
Number of InstanceID tokens restored from the persistent store at startup.
</summary>
</histogram>
<histogram name="IPC.AttachmentBrokerPrivileged.BrokerAttachmentError"
enum="IPCAttachmentBrokerPrivilegedBrokerAttachmentError"
expires_after="M85">
<owner>erikchen@chromium.org</owner>
<summary>
Errors that the privileged attachment broker encounters while trying to
broker attachments.
</summary>
</histogram>
<histogram name="IPC.AttachmentBrokerUnprivileged.BrokerAttachmentError"
enum="IPCAttachmentBrokerUnprivilegedBrokerAttachmentError"
expires_after="M85">
<owner>erikchen@chromium.org</owner>
<summary>
Errors that an unprivileged attachment broker encounters while trying to
broker attachments.
</summary>
</histogram>
<histogram name="JSDialogs.OnBeforeUnloadStayVsLeave" enum="StayVsLeave"
expires_after="M77">
<obsolete>
Removed 2020 November.
</obsolete>
<owner>avi@chromium.org</owner>
<summary>
For onbeforeunload dialogs, the user's choice between staying on the page
and leaving it.
</summary>
</histogram>
<histogram base="true" name="JSDialogs.OriginRelationship"
enum="DialogOriginRelationship" expires_after="2022-06-01">
<owner>avi@chromium.org</owner>
<owner>carlosil@chromium.org</owner>
<owner>ericmill@google.com</owner>
<owner>meacer@chromium.org</owner>
<summary>
For dialogs, the relationship of the origins of the main frame vs the
alerting frame.
</summary>
</histogram>
<histogram base="true" name="JSDialogs.Scheme" enum="NavigationScheme"
expires_after="2022-06-01">
<owner>avi@chromium.org</owner>
<owner>carlosil@chromium.org</owner>
<owner>ericmill@google.com</owner>
<owner>meacer@chromium.org</owner>
<summary>The scheme of the URL showing a JavaScript dialog.</summary>
</histogram>
<histogram name="Kerberos.AcquireKerberosTgtTime" units="ms"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Time in milliseconds to acquire a Kerberos ticket. The value is recorded no
matter if the operation was successful or not.
</summary>
</histogram>
<histogram name="Kerberos.DailyActiveUsers" enum="KerberosUserType"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Type of the Chrome OS login user (primary user) who requests Kerberos
tickets. Reported at most once a day by the Kerberos daemon when a Kebreros
ticket is acquired or Kerberos files are requested, which happens e.g. on
Chrome startup.
</summary>
</histogram>
<histogram name="Kerberos.EncryptionTypesAcquireKerberosTgt"
enum="KerberosEncryptionTypes" expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
The Kerberos encryption types used while succesfully creating or refreshing
a Kerberos TGT. This value is derived from the Kerberos configuration
'enctypes' fields.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.Managed" units="units"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Number of managed Kerberos accounts owned by the current Chrome OS user. A
managed account is an account that got added via the KerberosAccounts
policy. Reported at most once a day similar to Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.RememberedPassword" units="units"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Number of Kerberos accounts owned by the current Chrome OS user that use the
'Remember password' feature, i.e. the account password is stored by the
Kerberos daemon. Reported at most once a day similar to
Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.Total" units="units"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Total number of Kerberos accounts owned by the current Chrome OS user.
Reported at most once a day similar to Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.Unmanaged" units="units"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Number of unmanaged Kerberos accounts owned by the current Chrome OS user.
An unmanaged account is an account that was added manually by the user.
Reported at most once a day similar to Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.NumberOfAccounts.UseLoginPassword" units="units"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Number of Kerberos accounts owned by the current Chrome OS user that use the
login password for authentication. These accounts were added via the
KerberosAccounts policy, using the '${PASSWORD}' placeholder as password.
Reported at most once a day similar to Kerberos.DailyActiveUsers.
</summary>
</histogram>
<histogram name="Kerberos.Result.AcquireKerberosTgt" enum="KerberosErrorType"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to acquire a Kerberos ticket. This happens whenever a
new ticket is added or an existing ticket is reauthenticated.
</summary>
</histogram>
<histogram name="Kerberos.Result.AddAccount" enum="KerberosErrorType"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to add a new Kerberos account, either through the
Kerberos Tickets settings page or via the KerberosAccounts policy.
</summary>
</histogram>
<histogram name="Kerberos.Result.ClearAccounts" enum="KerberosErrorType"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to clear Kerberos accounts, usually through toggling
Kerberos related policies. For instance, disabling the KerberosEnabled
policy clears all accounts.
</summary>
</histogram>
<histogram name="Kerberos.Result.GetKerberosFiles" enum="KerberosErrorType"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to retrieve a Kerberos ticket from the Kerberos
daemon. Systems using Kerberos (Chrome, SMB file shares) perform this action
during startup and when they get notified that the files changed.
</summary>
</histogram>
<histogram name="Kerberos.Result.ListAccounts" enum="KerberosErrorType"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to list Kerberos accounts, usually through opening
the Kerberos Tickets settings page or making changes to accounts.
</summary>
</histogram>
<histogram name="Kerberos.Result.RemoveAccount" enum="KerberosErrorType"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to remove a new Kerberos account through the Kerberos
Tickets settings page.
</summary>
</histogram>
<histogram name="Kerberos.Result.SetConfig" enum="KerberosErrorType"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to set Kerberos configuration. This happens right
before acquiring a Kerberos ticket.
</summary>
</histogram>
<histogram name="Kerberos.Result.ValidateConfig" enum="KerberosErrorType"
expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Result from an attempt to validate Kerberos configuration. This happens when
the user tries to set configuration in the Advanced section of the dialog to
add new Kerberos tickets.
</summary>
</histogram>
<histogram name="Kerberos.ValidateConfigErrorCode"
enum="KerberosConfigErrorCode" expires_after="2022-04-10">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
Error code from an attempt validate Kerberos configuration. Contains more
specific information than KerberosErrorType about the result of the
validation.
</summary>
</histogram>
<histogram name="Keyboard.ShortcutViewer.StartupTime" units="ms"
expires_after="2022-04-24">
<owner>jamescook@chromium.org</owner>
<owner>msw@chromium.org</owner>
<owner>wutao@chromium.org</owner>
<summary>
Time delay between the user gesture that triggered the keyboard shortcut
viewer dialog (e.g. pressing Ctrl-Alt-/) and the dialog widget being shown,
including layout time for the views::Views.
</summary>
</histogram>
<histogram name="Kiosk.Launch.CryptohomeFailure" enum="LoginFailureReason"
expires_after="2022-06-05">
<owner>xiyuan@chromium.org</owner>
<owner>apotapchuk@chromium.org</owner>
<summary>Tracks cryptohome failure during kiosk launch.</summary>
</histogram>
<histogram name="Kiosk.Launch.Error" enum="KioskLaunchError"
expires_after="2021-10-04">
<owner>xiyuan@chromium.org</owner>
<owner>apotapchuk@chromium.org</owner>
<summary>Tracks kiosk launch errors.</summary>
</histogram>
<histogram name="Kiosk.LaunchType" enum="KioskLaunchType"
expires_after="2022-04-24">
<owner>xiyuan@chromium.org</owner>
<owner>aghuie@chromium.org</owner>
<summary>
Records kiosk launches, whether it is an enterprise or consumer kiosk and
whether it is an auto launch or manual launch.
</summary>
</histogram>
<histogram name="Launch.FlagsAtStartup" enum="LoginCustomFlags"
expires_after="never">
<!-- expires-never: monitors use of all flags. -->
<owner>asvitkine@chromium.org</owner>
<owner>ntfschr@chromium.org</owner>
<summary>
Logs which Chrome flags from about:flags were active on start up. Android
WebView supports flags differently than most platforms, see
https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/developer-ui.md
for details.
</summary>
</histogram>
<histogram name="Launch.IntentFlags" enum="LaunchIntentFlags"
expires_after="2020-10-04">
<owner>dfalcantara@chromium.org</owner>
<summary>
Records flags (and combinations of flags) that were attached to the Intent
that started ChromeLauncherActivity.
</summary>
</histogram>
<histogram name="Launch.Modes" enum="LaunchMode" expires_after="never">
<!-- expires-never: used from time to time on Windows to measure the value of the various Chrome shortcuts (grt@) -->
<owner>calamity@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>The different ways Chrome is launched.</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerComplexText" units="microseconds"
expires_after="M85">
<obsolete>
Removed in M86.
</obsolete>
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
complex text fragments, the average number of microseconds spent laying out
each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerFloat" units="microseconds"
expires_after="M85">
<obsolete>
Removed in M86.
</obsolete>
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
floats, the average number of microseconds spent laying out each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerNode" units="microseconds"
expires_after="M85">
<obsolete>
Removed in M86.
</obsolete>
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, the average number of
microseconds spent laying out each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerPositioned" units="microseconds"
expires_after="M85">
<obsolete>
Removed in M86.
</obsolete>
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
fixed or absolute positioned, the average number of microseconds spent
laying out each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerSimpleText" units="microseconds"
expires_after="M85">
<obsolete>
Removed in M86.
</obsolete>
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
simple text fragments, the average number of microseconds spent laying out
each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.MicroSecondsPerTD" units="microseconds"
expires_after="M85">
<obsolete>
Removed in M86.
</obsolete>
<owner>benjhayden@chromium.org</owner>
<summary>
For layouts that considered at least 100 nodes, at least half of which were
table cells, the average number of microseconds spent laying out each node.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.AdjustedScrollOffset" enum="BooleanHit"
expires_after="M77">
<obsolete>
Removed in M89.
</obsolete>
<owner>skobes@chromium.org</owner>
<summary>
Records the number of times ScrollAnchor adjusts the scroll offset.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.RestorationStatus"
enum="ScrollAnchorRestorationStatus" expires_after="M77">
<obsolete>
Removed in M89.
</obsolete>
<owner>pnoland@chromium.org</owner>
<summary>
Records the status of attempts to restore a serialized scroll anchor.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.SerializedAnchorSelectorLength"
units="characters" expires_after="M77">
<owner>pnoland@chromium.org</owner>
<summary>
The number of characters in the selector computed for a serialized scroll
anchor. Recorded when a scroll anchor is serialized.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.SuppressedBySanaclap" enum="BooleanHit"
expires_after="M81">
<obsolete>
Removed in M89.
</obsolete>
<owner>ymalik@chromium.org</owner>
<summary>
Records the number of times scroll anchoring is suppressed because of the
SANACLAP bit being set on an ancestor (see bit.ly/sanaclap).
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.TimeToComputeAnchorNodeSelector"
units="microseconds" expires_after="M85">
<owner>pnoland@chromium.org</owner>
<summary>
The time it took to compute the selector of a serialized anchor element.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.TimeToFindAnchor" units="microseconds"
expires_after="M82">
<obsolete>
Removed in M93.
</obsolete>
<owner>ymalik@chromium.org</owner>
<summary>
The time it took to find a suitable anchor element.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Layout.ScrollAnchor.TimeToRestoreAnchor" units="microseconds"
expires_after="2020-03-08">
<owner>pnoland@chromium.org</owner>
<summary>
The time it took to restore the scroll anchor using the serialized anchor
element.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Lens.ImageClassification.ClassificationTime" units="ms"
expires_after="M90">
<obsolete>
Replaced with
Lens.ImageClassification.ClassificationTime.SuccessOnQueryResultMs as of
12/2020.
</obsolete>
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the end to end latency of the Lens image classifcation call when the
user completes a long press on an image. Only logged on Android.
</summary>
</histogram>
<histogram name="Lens.ImageClassification.ClassificationTime.EarlyTerminatedMs"
units="ms" expires_after="2022-05-22">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the time between the start of the Lens image classifcation call to
the early termination before the call completes. Only logged on Android.
</summary>
</histogram>
<histogram
name="Lens.ImageClassification.ClassificationTime.SuccessOnQueryResultMs"
units="ms" expires_after="2022-07-03">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the end to end latency of the Lens image classifcation call when the
user completes a long press on an image. Only logged on Android.
</summary>
</histogram>
<histogram name="Lens.ImageClassification.ResultState"
enum="LensClassifyResultState" expires_after="2022-06-05">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the result state of the Lens image classifcation call when the user
completes a long press on an image. Only logged on Android.
</summary>
</histogram>
<histogram name="Lens.ImageClassification.SdkError" enum="LensSdkError"
expires_after="2022-06-05">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<summary>
Logged the error code when there is a Lens SDK error occurred within the
classification session. The error code is an integer constant defined by the
SDK. Only logged on Android. See http://b/170422682 for more details.
</summary>
</histogram>
<histogram name="Lens.Omnibox.LensSupportStatus" enum="LensSupportStatus"
expires_after="2022-06-05">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<owner>lens-chrome@google.com</owner>
<summary>
Whether the user supports the camera assisted search with Google Lens and if
not, the reason why. Recorded only if the feature is enabled when the
omnibox or the new tab page is loaded.
</summary>
</histogram>
<histogram name="Lens.QuickActionSearchWidget.LensSupportStatus"
enum="LensSupportStatus" expires_after="2022-04-01">
<owner>ender@google.com</owner>
<owner>fgorski@chromium.org</owner>
<owner>benwgold@chromium.org</owner>
<owner>yusuyoutube@google.com</owner>
<owner>lens-chrome@google.com</owner>
<summary>
Whether the user supports the camera assisted search with Google Lens and if
not, the reason why. Recorded only when the Lens button is tapped on the
Quick Action Search Widget.
</summary>
</histogram>
<histogram name="LevelDBEnv.DeleteTableBackupFile" enum="BooleanSuccess"
expires_after="2022-08-01">
<owner>cmumford@chromium.org</owner>
<owner>chrome-owp-storage@google.com</owner>
<summary>
Tracks the success rate of deleting an unused leveldb table backup file.
</summary>
</histogram>
<histogram name="LevelDBEnv.IOError" enum="LevelDBIOErrorMethods"
expires_after="2022-08-01">
<owner>dmurph@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<owner>chrome-owp-storage@google.com</owner>
<summary>Methods where leveldb's Chromium environment has IO errors.</summary>
</histogram>
<histogram name="LevelDBEnv.MissingFiles" units="files"
expires_after="2022-08-01">
<owner>dmurph@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<owner>chrome-owp-storage@google.com</owner>
<summary>
Number of backup files found without corresponding ldb files. As measured by
GetChildren when used in LevelDB clients other than IndexedDB.
</summary>
</histogram>
<histogram name="LevelDBWrapper.CommitDelay" units="ms"
expires_after="2022-08-01">
<owner>mek@chromium.org</owner>
<owner>chrome-owp-storage@google.com</owner>
<summary>
Delay between the browser process receiving changes and those changes being
written to the DB.
</summary>
</histogram>
<histogram name="LibraryLoader.LoadNativeLibraryWindows"
enum="LoadLibraryResultCategory" expires_after="M82">
<owner>chengx@chromium.org</owner>
<summary>
This metric records the LoadLibraryExW and LoadLibraryW Windows API call
results, which are used in native_library_win.cc.
</summary>
</histogram>
<histogram base="true"
name="LibraryLoader.PercentageOfResidentCodeBeforePrefetch" units="%"
expires_after="M81">
<owner>lizeb@chromium.org</owner>
<summary>
Percentage of the native library code pages resident in memory. Recorded
immediately before the library prefetching kicks in, only on Android.
</summary>
</histogram>
<histogram name="Linux.Distro.Debian" enum="LinuxDistroDebianVersion"
expires_after="never">
<!-- expires-never: Needed to measure Linux ecosystem. -->
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The Debian version number (eg. 8: Jessie, 9: Stretch). Logged once on
startup if Linux.Distro2 is Debian.
</summary>
</histogram>
<histogram name="Linux.Distro.Fedora" enum="LinuxDistroFedoraVersion"
expires_after="never">
<!-- expires-never: Needed to measure Linux ecosystem. -->
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The Fedora version number (eg. 27, 28) Logged once on startup if
Linux.Distro2 is Fedora.
</summary>
</histogram>
<histogram name="Linux.Distro.Mint" enum="LinuxDistroMintVersion"
expires_after="never">
<!-- expires-never: Needed to measure Linux ecosystem. -->
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The Linux Mint version number (eg. 20, 20.1) Logged once on startup if
Linux.Distro2 is Mint.
</summary>
</histogram>
<histogram name="Linux.Distro.OpenSuseLeap"
enum="LinuxDistroOpenSuseLeapVersion" expires_after="never">
<!-- expires-never: Needed to measure Linux ecosystem. -->
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The openSUSE Leap version number, logged as 1000*major + minor (eg. 15001 =
15.1). Logged once on startup if Linux.Distro2 is openSUSE Leap.
</summary>
</histogram>
<histogram name="Linux.Distro.Ubuntu" enum="LinuxDistroUbuntuVersion"
expires_after="never">
<!-- expires-never: Needed to measure Linux ecosystem. -->
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The Ubuntu version number, logged as 1000*year + month (eg. 16004 = 16.04
Xenial). Logged once on startup if Linux.Distro2 is Ubuntu.
</summary>
</histogram>
<histogram name="Linux.Distro2" enum="LinuxDistro2" expires_after="never">
<!-- expires-never: Needed to measure Linux ecosystem. -->
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>The Linux distro used. Logged on each start up.</summary>
</histogram>
<histogram name="Linux.GlibcVersion" enum="LinuxGlibcVersion"
expires_after="never">
<!-- expires-never: Needed to measure Linux ecosystem. -->
<owner>thestig@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The version of glibc used. (Linux only) Logged on each start up.
</summary>
</histogram>
<histogram name="Linux.ProxyLocaltimeCallToBrowserUs" units="microseconds"
expires_after="2021-09-01">
<owner>kylechar@chromium.org</owner>
<owner>mpdenton@chromium.org</owner>
<summary>
The time taken for localtime_r() call to proxied from a sandboxed process to
the browser and a response returned back in microseconds. This histogram is
only recorded on Linux, where all users have high-resolution clocks.
</summary>
</histogram>
<histogram name="Linux.SandboxStatus" enum="LinuxSandboxStatus"
expires_after="2022-09-19">
<owner>mpdenton@google.com</owner>
<owner>src/sandbox/linux/OWNERS</owner>
<summary>
The Linux sandbox status. This describes what sandboxing features are
enabled (such as the suid/namespace sandboxes, various namespaces, seccomp
bpf, ...). Emitted once at startup.
</summary>
</histogram>
<histogram name="Linux.Wayland.Shell" enum="LinuxWaylandShellName"
expires_after="never">
<!-- expires-never: Needed to measure Linux ecosystem. -->
<owner>rjkroege@chromium.org</owner>
<owner>adunaev@igalia.com</owner>
<summary>
The Linux Wayland shell protocol(s) available. Logged in each session when
the compositor announces a Wayland protocol extension that provides the
desktop shell functionality (i.e., turns abstract surfaces into windows that
can be positioned, moved, resized, etc., depending on the particular shell).
</summary>
</histogram>
<histogram name="Linux.WindowManager" enum="LinuxWindowManagerName"
expires_after="never">
<!-- expires-never: Needed to measure Linux ecosystem. -->
<owner>pkotwicz@chromium.org</owner>
<owner>thomasanderson@chromium.org</owner>
<summary>
The window manager used. (Linux only) Logged on each start up.
</summary>
</histogram>
<histogram name="Linux.X11.GbmSupportX11CreationTime" units="ms"
expires_after="2020-11-30">
<owner>thomasanderson@chromium.org</owner>
<owner>rjkroege@chromium.org</owner>
<summary>
The amount of time (ms) to construct the GbmSupportX11 singleton.
</summary>
</histogram>
<histogram name="LoadingPredictor.OptimizationHintsReceiveStatus"
enum="LoadingPredictorOptimizationHintsReceiveStatus"
expires_after="2022-12-19">
<owner>sophiechang@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@chromium.org</owner>
<summary>
The status of when the optimization hints were received by the Loading
Predictor. This will be recorded on navigations for which predictions from
the Optimization Guide were received.
</summary>
</histogram>
<histogram name="LoadingPredictor.PreconnectCount" units="origins"
expires_after="2022-12-19">
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@chromium.org</owner>
<summary>
The number of origins that were preconnected for a page load. It includes
preconnect attempts that don't result in new opened connection. Logged after
the preconnect manager completes all jobs attached to the page load.
</summary>
</histogram>
<histogram name="LoadingPredictor.PreconnectHitsPercentage" units="%"
expires_after="2022-12-19">
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@chromium.org</owner>
<summary>
The percentage of origins that were preconnected and requested by a page
load to the total number of origins that were preconnected for a page load.
Logged after the preconnect manager completes all jobs attached to the page
load.
</summary>
</histogram>
<histogram base="true" name="LoadingPredictor.PreconnectLearningCount"
units="origins" expires_after="2022-12-19">
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@chromium.org</owner>
<summary>
When the loading predictor has origins in the local database for a given
navigation to preconnect and preresolve, the count of predicted origins.
</summary>
</histogram>
<histogram base="true" name="LoadingPredictor.PreconnectLearningPrecision"
units="%" expires_after="2022-12-19">
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@chromium.org</owner>
<summary>
When the loading predictor has origins in the local database for a given
navigation to preconnect and preresolve, the precision of the predictions in
percentage. This is computed as 100 \times \frac{correct
predictions}{predictions}.
</summary>
</histogram>
<histogram base="true" name="LoadingPredictor.PreconnectLearningRecall"
units="%" expires_after="2022-12-19">
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@chromium.org</owner>
<summary>
When the loading predictor has origins in the local database for a given
navigation to preconnect and preresolve, the recall of the predictions, in
percentage. This is computed as 100 \times \frac{correct predictions}{all
prefetchable subresources}.
</summary>
</histogram>
<histogram base="true" name="LoadingPredictor.PreconnectLearningRedirectStatus"
enum="ResourcePrefetchPredictorRedirectStatus" expires_after="2022-12-19">
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@chromium.org</owner>
<summary>
When the prefetch predictor has origins in the local database for a given
navigation to preconnect and preresolve, records stats about whether
redirect was predicted correctly or incorrectly.
</summary>
</histogram>
<histogram name="LoadingPredictor.PreresolveCount" units="hosts"
expires_after="2022-12-19">
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@chromium.org</owner>
<summary>
The number of hosts that were preresolved for a page load. It includes only
successful DNS lookups. Logged after the preconnect manager completes all
jobs attached to the page load.
</summary>
</histogram>
<histogram name="LoadingPredictor.PreresolveHitsPercentage" units="%"
expires_after="2022-12-19">
<owner>spelchat@chromium.org</owner>
<owner>chrome-brapp-loading@chromium.org</owner>
<summary>
The percentage of hosts that were preresolved and requested by a page load
to the total number of hosts that were preresolved for a page load. Logged
after the preconnect manager completes all jobs attached to the page load.
</summary>
</histogram>
<histogram name="LowPriorityIframes.IframeRequestPriority"
enum="WebURLRequestPriority" expires_after="M77">
<owner>tbansal@chromium.org</owner>
<summary>
Original Blink priority of the request that belongs to an iframe. Recorded
for every request fetched via Blink, but only when the experiment to lower
the priority of iframes is enabled.
</summary>
</histogram>
<histogram name="LowPriorityIframes.MainFrameRequestPriority"
enum="WebURLRequestPriority" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
Original Blink priority of the request that belongs to the main frame.
Recorded for every request fetched via Blink, but only when the experiment
to lower the priority of iframes is enabled.
</summary>
</histogram>
<histogram name="Mac.FileMenuNativeShare" units="BooleanSuccess"
expires_after="2022-12-31">
<owner>nasims@google.com</owner>
<owner>ellyjones@chromium.org</owner>
<summary>
Whether the user successfully shared via a native sharing extension after
selecting it from the File &gt; Share menu. False can indicate failure or
user-initiated cancellation.
</summary>
</histogram>
<histogram name="Mac.UniversalLink.APIDuration" units="ms"
expires_after="2022-07-01">
<obsolete>
Removed 2021 November.
</obsolete>
<owner>avi@chromium.org</owner>
<owner>mark@chromium.org</owner>
<summary>
Native macOS apps can claim regions of the URL space for themselves, and so
on every navigation, Chromium calls the SFUniversalLink API to determine if
the URL being navigated to requires special handling. The SFUniversalLink
API is usually instantaneous, but for some machines it's very slow. This
metric logs the amount of time that it the SFUniversalLink API took to run,
if over 100ms. This metric is logged once per run of Chrome, because if that
API call ever takes longer than 100ms, it is disabled and never used again
in that run of Chrome.
</summary>
</histogram>
<histogram name="ManagedUsers.BlockedIframeCount" units="iframes"
expires_after="2021-07-23">
<owner>yilkal@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The number of blocked iframes per unblocked main frame load. The value is
recorded when the main frame finishes loading.
</summary>
</histogram>
<histogram name="ManagedUsers.FilteringResult"
enum="SupervisedUserSafetyFilterResult" expires_after="2022-06-12">
<owner>agawronska@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The counts of results from supervised user URL filtering. Each entry
includes the outcome of the filter (i.e. allowed, blocked, or unknown) and
the page transition type (how the user got there, e.g. typed URL, clicked
link).
</summary>
</histogram>
<histogram name="ManagedUsers.KidsManagementClassifyUrlFailureDelay" units="ms"
expires_after="M85">
<owner>escordeiro@chromium.org</owner>
<owner>unichrome-eng@google.com</owner>
<summary>
The extra page load delays introduced by network requests due to the
supervised user url filtering feature, measured once per page load, for
failed requests. This is the delay to fetch the token and call the
ClassifyUrl rpc, when there is a cache miss.
</summary>
</histogram>
<histogram name="ManagedUsers.KidsManagementClassifyUrlSuccessDelay" units="ms"
expires_after="M85">
<owner>escordeiro@chromium.org</owner>
<owner>unichrome-eng@google.com</owner>
<summary>
The extra page load delays introduced by network requests due to the
supervised user url filtering feature, measured once per page load. This is
the delay to fetch the token and call the ClassifyUrl rpc, when there is a
cache miss. Only recorded for successful requests.
</summary>
</histogram>
<histogram name="ManagedUsers.KidsManagementUrlCheckerResponseStatus"
enum="KidsManagementURLCheckerResponseStatus" expires_after="M85">
<owner>escordeiro@chromium.org</owner>
<owner>unichrome-eng@google.com</owner>
<summary>
The counts of response status from supervised user
KidsManagementURLCheckerCLient. Each entry includes the outcome of a request
(i.e. success, net error, parsing error).
</summary>
</histogram>
<histogram name="ManagedUsers.RequestPermissionSource"
enum="ManagedUserURLRequestPermissionSource" expires_after="2021-07-23">
<owner>michaelpg@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The counts of request for permission sent from main frame or sub-frame.
</summary>
</histogram>
<histogram name="ManagedUsers.SafeSitesDelay" units="ms"
expires_after="2022-10-04">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The extra page load delays introduced by network requests due to the
supervised user SafeSites feature, measured once per page load.
</summary>
</histogram>
<histogram name="ManagedUsers.SafetyFilter"
enum="SupervisedUserSafetyFilterResult" expires_after="2022-08-19">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The counts of results from the supervised user safety filter. Each entry
includes the outcome of the filter (i.e. allowed, blocked, or unknown) and
the page transition type (how the user got there, e.g. typed URL, clicked
link). This only includes URL requests that were handled by the SafeSites
filter (both online and the static blocklist).
</summary>
</histogram>
<histogram name="ManagedUsers.Whitelist.Count" units="allowlists"
expires_after="M88">
<obsolete>
Removed in M89.
</obsolete>
<owner>agawronska@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The number of allowlists installed for a supervised user. Recorded at every
profile startup.
</summary>
</histogram>
<histogram name="Manifest.FetchResult" enum="ManifestFetchResultType"
expires_after="2020-12-13">
<owner>mgiuca@chromium.org</owner>
<summary>
Tracks whether the Manifest fetch succeed and why it failed if it failed.
</summary>
</histogram>
<histogram name="Manifest.HasProperty" enum="Boolean"
expires_after="2022-06-26">
<owner>mgiuca@chromium.org</owner>
<summary>
Tracks which properties of a Manifest were present when it was parsed. If a
property can't be parsed, it will be recorded as not present. These
histograms will only be used if the Manifest was correctly fetched and
parsed and the parsed manifest is not empty.
</summary>
</histogram>
<histogram name="Manifest.ParseIdResult" enum="ManifestParseIdResultType"
expires_after="2022-07-03">
<owner>phillis@chromium.org</owner>
<owner>desktop-pwas-team@chromium.org</owner>
<summary>Tracks the result of parsing id field in the Manifest.</summary>
</histogram>
<histogram name="Manifest.ParseSuccess" enum="Boolean"
expires_after="2020-06-07">
<owner>mgiuca@chromium.org</owner>
<summary>
Tracks the Manifest parsing result. A failure will be recorded if the
Manifest was incorrectly structured. This doesn't take into account parse
failures for each individual properties.
</summary>
</histogram>
<histogram name="MerchantTrust.BottomSheet.CloseReason"
enum="BottomSheet.StateChangeReason" expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records the reason that the merchant trust bottom sheet is closed. Recorded
when the bottom sheet is closed. Implemented for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.BottomSheet.DurationFullyOpened" units="ms"
expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records the duration in milliseconds that the merchant trust bottom sheet is
left fully expanded. Implemented for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.BottomSheet.DurationHalfOpened" units="ms"
expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records the duration in milliseconds that the merchant trust bottom sheet is
left half expanded. Implemented for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.BottomSheet.DurationPeeked" units="ms"
expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records the duration in milliseconds that the merchant trust bottom sheet is
peeking. Implemented for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.BottomSheet.IsFullyViewed" enum="Boolean"
expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records whether the merchant trust bottom sheet is fully expanded. Recorded
when the bottom sheet is closed. Implemented for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.BottomSheet.IsHalfViewed" enum="Boolean"
expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records whether the merchant trust bottom sheet is half expanded. Recorded
when the bottom sheet is closed. Implemented for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.BottomSheet.OpenSource"
enum="MerchantTrustBottomSheetOpenedSource" expires_after="M102">
<owner>zhiyuancai@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records which ui the bottom sheet is opened from. Recorded when the bottom
sheet is opened. Implemented for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.Message.ClearReason"
enum="MerchantTrustMessageClearReason" expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records why the prepared merchant trust message is cleared. Recorded when
the prepared message is cleared. Implemented for Android. In M96 and later
this includes MESSAGE_CONTEXT_NO_LONGER_VALID and
SWITCH_TO_DIFFERENT_WEBCONTENTS.
</summary>
</histogram>
<histogram name="MerchantTrust.Message.DismissReason"
enum="MessageDismissReason" expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records the reason that the merchant trust message is dismissed. Implemented
for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.Message.DurationPrepared" units="ms"
expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records the duration in milliseconds from the merchant trust message being
prepared to it being shown or cleared. Implemented for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.Message.DurationShown" units="ms"
expires_after="M102">
<owner>ayman@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records the duration in milliseconds that the merchant trust message is
shown. Implemented for Android.
</summary>
</histogram>
<histogram name="MerchantTrust.PageInfo.IsStoreInfoVisible"
enum="BooleanVisible" expires_after="M102">
<owner>zhiyuancai@chromium.org</owner>
<owner>chrome-shopping@google.com</owner>
<summary>
Records whether the store info row is visible in page info. Recorded when
the page info is opened. Implemented for Android.
</summary>
</histogram>
<histogram name="Mist.SwitchResult" enum="MistSwitchResult" expires_after="M77">
<owner>akhouderchah@chromium.org</owner>
<owner>benchan@chromium.org</owner>
<summary>
The result (e.g. success or the type of failure) of a modem interface switch
operation performed by mist on Chrome OS.
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.ErrorOrResponseCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<summary>
The net error or HTTP response code of a mixed content resource request that
was autoupgraded to HTTPS
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Failure.IsAd" enum="Boolean"
expires_after="M89">
<owner>carlosil@chromium.org</owner>
<summary>
Whether or not an autoupgrade mixed content request was for a resource we
know to be an ad
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Failure.Type"
enum="ResourceType" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Logs the type of each resource request that is autoupgraded to HTTPS and
fails to load.
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Response.Type"
enum="ResourceType" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Logs the type of each resource request that was autoupgraded to HTTPS and
resulted in a response.
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Start.Type"
enum="ResourceType" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Logs the type of each resource request that is autoupgraded to HTTPS. This
is logged when the request is started.
</summary>
</histogram>
<histogram name="MixedAutoupgrade.ResourceRequest.Status"
enum="MixedContentAutoupgradeStatus" expires_after="M89">
<owner>carlosil@chromium.org</owner>
<summary>
The status of a mixed content resource request that was autoupgraded to
HTTPS
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.BlacklistPathUpdated"
enum="BooleanSuccess" expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.BlocklistPathUpdated.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
Records the result of writing the path of the module blocklist cache to the
registry so that chrome_elf.dll can use it. A value is emitted every time
the cache is updated because another instance of Chrome with a different
User Data directory could have overwritten the path to point to their own
version of the cache.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.BlacklistStatus"
enum="ModuleBlocklistStatus" expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.BlocklistStatus.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
The status of a blocklisted module in the process. Recorded when the cache
is updated.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.DeleteResult" enum="BooleanSuccess"
expires_after="M82">
<obsolete>
Renamed to ModuleBlocklistCache.DeleteResult.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
The result of deleting the module blocklist cache when third-party module
blocking is disabled. Attempting to delete an empty file is considered a
success.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.ExpectedMD5Digest" enum="Boolean"
expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.ExpectedMD5Digest.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
Records whether the MD5 digest of the module blocklist cache matched the one
recorded in the Local State file.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.ModuleCount" units="modules"
expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.ModuleCount.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
Records the number of modules in the module blocklist cache at the time it
was written to disk.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.ReadResult"
enum="ModuleBlocklistCacheReadResult" expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.ReadResult.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>
The result of reading the current module blocklist cache while updating it.
</summary>
</histogram>
<histogram name="ModuleBlacklistCache.WriteResult" enum="BooleanSuccess"
expires_after="M85">
<obsolete>
Renamed to ModuleBlocklistCache.WriteResult.
</obsolete>
<owner>pmonette@chromium.org</owner>
<summary>The result of writing the updated module blocklist cache.</summary>
</histogram>
<histogram name="ModuleBlocklistCache.BlocklistPathUpdated"
enum="BooleanSuccess" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the result of writing the path of the module blocklist cache to the
registry so that chrome_elf.dll can use it. A value is emitted every time
the cache is updated because another instance of Chrome with a different
User Data directory could have overwritten the path to point to their own
version of the cache.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.BlocklistStatus"
enum="ModuleBlocklistStatus" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The status of a blocklisted module in the process. Recorded when the cache
is updated.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.DeleteResult" enum="BooleanSuccess"
expires_after="M82">
<owner>pmonette@chromium.org</owner>
<summary>
The result of deleting the module blocklist cache when third-party module
blocking is disabled. Attempting to delete an empty file is considered a
success.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.ExpectedMD5Digest" enum="Boolean"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether the MD5 digest of the module blocklist cache matched the one
recorded in the Local State file.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.ModuleCount" units="modules"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the number of modules in the module blocklist cache at the time it
was written to disk.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.ReadResult"
enum="ModuleBlocklistCacheReadResult" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The result of reading the current module blocklist cache while updating it.
</summary>
</histogram>
<histogram name="ModuleBlocklistCache.WriteResult" enum="BooleanSuccess"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>The result of writing the updated module blocklist cache.</summary>
</histogram>
<histogram name="ModuleIntegrityVerification.BytesModified" units="bytes"
expires_after="M85">
<owner>anthonyvd@chromium.org</owner>
<summary>
Represents the amount of bytes in a module that are different on disk and in
memory. Logged when the ModuleIntegrityVerifier determines that a module is
different on disk and in memory after being triggered by an incident.
</summary>
</histogram>
<histogram name="ModuleIntegrityVerification.RelocationsUnordered"
enum="ModuleIndex" expires_after="M85">
<obsolete>
Removed in M87.
</obsolete>
<owner>grt@chromium.org</owner>
<summary>
Logged when the relocations in a module are not ordered causing the module
verification to abort.
</summary>
</histogram>
<histogram name="Mojo.Channel.Linux.SharedMemWriteBytes" units="bytes"
expires_after="2021-11-01">
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The size in bytes of individual messages written into shared memory.
</summary>
</histogram>
<histogram name="Mojo.Channel.Linux.SharedMemWriteBytes_Fail_NoLock"
units="bytes" expires_after="2021-11-01">
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The size in bytes of individual messages that could not be written due to
lock contention.
</summary>
</histogram>
<histogram name="Mojo.Channel.Linux.SharedMemWriteBytes_Fail_NoSpace"
units="bytes" expires_after="2022-05-08">
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The size in bytes of individual messages that could not be written due to
shared memory buffer exhaustion.
</summary>
</histogram>
<histogram name="Mojo.Channel.Linux.SharedMemWriteBytes_Fail_TooLarge"
units="bytes" expires_after="2022-05-08">
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The size in bytes of individual messages that could not be written due to
message being larger than the shared buffer size.
</summary>
</histogram>
<histogram name="Mojo.Channel.WriteMessageHandles" units="count"
expires_after="2021-11-07">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>The number of handles sent with a channel message.</summary>
</histogram>
<histogram name="Mojo.Channel.WriteMessageLatency" units="ms"
expires_after="2022-06-26">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
Measures the time taken to fully write a channel message to the underlying
channel.
</summary>
</histogram>
<histogram name="Mojo.Channel.WriteMessageSize" units="bytes"
expires_after="2022-06-19">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>The size of a message written to a channel.</summary>
</histogram>
<histogram name="Mojo.Channel.WriteQueued" enum="Boolean"
expires_after="2021-07-01">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
Tracks whether or not a message is written directly to a channel or queued.
</summary>
</histogram>
<histogram name="Mojo.Channel.WriteQueuePendingMessages" units="count"
expires_after="2022-06-26">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>
The number queued messages waiting to be written, measured when a channel
flush is attempted.
</summary>
</histogram>
<histogram name="Mojo.Channel.WritevBatchedMessages" units="messages"
expires_after="2022-05-15">
<owner>amistry@chromium.org</owner>
<owner>bgeffon@chromium.org</owner>
<owner>rockot@google.com</owner>
<summary>The number of messages batched into a single writev call.</summary>
</histogram>
<histogram name="Mojo.Connector.MaxUnreadMessageQuotaUsed" units="messages"
expires_after="2022-05-01">
<owner>siggi@chromium.org</owner>
<owner>rockot@chromium.org</owner>
<summary>
The maximal unread message quota used for the lifetime of a Connector. This
is sampled for a configurable percentage of Connectors only when the feature
MojoRecordUnreadMessageCount is enabled. By default 1% of Connectors are
sampled, as there's some overhead involved in enabling the unread message
quota on a MessagePipe. See //mojo/public/cpp/bindings/lib/connector.cc.
</summary>
</histogram>
<histogram name="Mojo.InvalidUTF8String" units="BooleanValid"
expires_after="2022-04-01">
<owner>rsesek@chromium.org</owner>
<owner>chrome-mojo@google.com</owner>
<summary>
Emitted any time a Mojo string is deserialized and is not valid UTF-8.
</summary>
</histogram>
<histogram name="MojoLevelDBEnv.IOError" enum="LevelDBIOErrorMethods"
expires_after="M87">
<owner>mek@chromium.org</owner>
<summary>Methods where leveldb's Mojo environment has IO errors.</summary>
</histogram>
<histogram name="Mouse.Acceleration.Changed" enum="BooleanEnabled"
expires_after="M87">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks mouse acceleration setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.Acceleration.Started" enum="BooleanEnabled"
expires_after="M87">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks mouse acceleration setting on startup. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.PointerSensitivity.Changed" enum="PointerSensitivity"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks mouse sensitivity setting changes by the user. This replaces the old
Mouse.Sensitivity.Changed metric. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.PointerSensitivity.Started" enum="PointerSensitivity"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks mouse sensitivity setting on startup. This replaces the old
Mouse.Sensitivity.Started metric. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.ReverseScroll.Changed" enum="BooleanEnabled"
expires_after="M77">
<owner>lannm@chromium.org</owner>
<summary>
Tracks mouse reverse scroll setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Mouse.ReverseScroll.Started" enum="BooleanEnabled"
expires_after="M85">
<owner>lannm@chromium.org</owner>
<summary>
Tracks mouse reverse scroll setting on startup. Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="Mouse.ScrollAcceleration" enum="BooleanEnabled"
expires_after="2022-06-15">
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>khorimoto@chromium.org</owner>
<owner>zentaro@chromium.org</owner>
<summary>
Whether mouse scroll acceleration is enabled. Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="Mouse.ScrollSensitivity" enum="PointerSensitivity"
expires_after="2020-12-01">
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>khorimoto@chromium.org</owner>
<owner>zentaro@chromium.org</owner>
<summary>Mouse scroll sensitivity value. Only reported on Chrome OS.</summary>
</histogram>
<histogram name="MPArch.ChildProcessLaunchFirst" units="ms"
expires_after="2022-07-03">
<owner>pasko@chromium.org</owner>
<owner>yfriedman@chromium.org</owner>
<summary>
The time it takes to spawn the first child subprocess (including sandbox
init).
</summary>
</histogram>
<histogram name="MPArch.ChildProcessLaunchSubsequent" units="ms"
expires_after="2022-06-26">
<owner>pasko@chromium.org</owner>
<owner>yfriedman@chromium.org</owner>
<summary>
The time it takes to spawn child sub processes not counting the first one.
</summary>
</histogram>
<histogram name="MPArch.ForkTime" units="ms" expires_after="2020-02-23">
<owner>lizeb@chromium.org</owner>
<summary>
Time to call fork() or clone(), in ms. Recorded at each fork excluding from
the zygote, only on posix platforms.
</summary>
</histogram>
<histogram name="MPArch.RPHCountPerLoad" units="units" expires_after="M77">
<owner>ppi@chromium.org</owner>
<summary>
The number of RenderProcessHosts (i.e. renderer processes) present when each
load completes. This is basically the average number of sub-processes over
time. See also Tabs.TabCountPerLoad.
</summary>
</histogram>
<histogram name="MPArch.RWH_RepaintDelta" units="units"
expires_after="2018-08-30">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>TBD</summary>
</histogram>
<histogram name="MPArch.RWH_TabSwitchPaintDuration" units="ms"
expires_after="M85">
<obsolete>
Removed in M98. Replaced by Browser.Tabs.TotalSwitchDuration.*
</obsolete>
<owner>jbauman@chromium.org</owner>
<summary>
Time from tab switch requested to tab appearing on screen (Aura and Mac
only).
</summary>
</histogram>
<histogram name="MultiProfile.SwitchActiveUserUIPath"
enum="MultiProfileSwitchActiveUserAction" expires_after="2020-05-10">
<owner>skuhne@chromium.org</owner>
<summary>
Count the number of times each UI path is taken for switching the active
account in a Chrome OS multiprofile session. UI paths include the system
tray and the keyboard shortcut.
</summary>
</histogram>
<histogram name="MultiProfile.TeleportWindowType"
enum="MultiProfileTeleportWindowType" expires_after="2020-05-31">
<owner>skuhne@chromium.org</owner>
<summary>
Counts the number of teleported windows by types in separated desktop mode.
</summary>
</histogram>
<histogram name="MultiProfile.UsersPerSessionIncremental" units="units"
expires_after="2022-04-10">
<owner>skuhne@chromium.org</owner>
<summary>
The number of users simultaneously signed into a multiprofile session on
Chrome OS. This is recorded whenever a user gets added to the session. To
get the correct count, all following counts must be subtracted. Example: If
100 single user, 20 two user and 5 three user sessions, there were
100-20-5=75 single user sessions, 100-80=20 dual user sessions and so on.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.ConfirmReadDirectoryResult"
enum="PermissionAction" expires_after="2022-02-06">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
Did the user confirm read access to a directory via the Native File System
API.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.FileChooserResult" units="units"
expires_after="2022-04-24">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
The number of files a user picked using the file picker in the Native File
System API. Recorded as 0 if the user cancelled the picker.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.ReadPermissionRequestOutcome"
enum="NativeFileSystemPermissionRequestOutcome" expires_after="2022-05-01">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
The result of an attempt to request write permission to a file or directory
via the Native File System API.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.SensitiveDirectoryAccessResult"
enum="SensitiveDirectoryAccessResult" expires_after="2021-12-05">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
Records if the file or directory selected by the user through the Native
File System API is considered a sensitive directory, and thus was blocked.
</summary>
</histogram>
<histogram name="NativeFileSystemAPI.WritePermissionRequestOutcome"
enum="NativeFileSystemPermissionRequestOutcome" expires_after="2022-02-06">
<owner>mek@chromium.org</owner>
<owner>src/content/browser/file_system_access/OWNERS</owner>
<summary>
The result of an attempt to request write permission to a file or directory
via the Native File System API.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.AuthenticationMethod"
enum="NativeSmbFileShare_AuthMethod" expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/ash/smb_client/OWNERS</owner>
<summary>
The method used to authenticate to a share. This is called on each attempted
mount.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.GetSharesResult"
enum="NativeSmbFileShare_MountResult" expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/ash/smb_client/OWNERS</owner>
<summary>
The result of the GetShares operation for Native SMB File Share. This is
recorded after the D-Bus call to GetShares returns.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.MountCount" units="Active Mounts"
expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/ash/smb_client/OWNERS</owner>
<summary>
The number of active mounts that a user has. This is recorded after a share
has been successfully mounted.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.MountResult"
enum="NativeSmbFileShare_MountResult" expires_after="M102">
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/ash/smb_client/OWNERS</owner>
<summary>
The result of the mount operation for Native SMB File Share. This is
recorded after the D-Bus call to Mount returns.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.ReadDirectoryCount" units="units"
expires_after="M85">
<obsolete>
Removed in M87. No longer used with smbfs.
</obsolete>
<owner>zentaro@chromium.org</owner>
<summary>
The number of entries read when calling ReadDirectory. This is recorded
after the D-Bus call to ReadDirectory returns.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.ReadDirectoryDuration" units="ms"
expires_after="M85">
<obsolete>
Removed in M87. No longer used with smbfs.
</obsolete>
<owner>zentaro@chromium.org</owner>
<summary>
The duration of ReadDirectory call to SmbProvider in milliseconds. This is
recorded after the D-Bus call returns.
</summary>
</histogram>
<histogram name="NativeSmbFileShare.RemountResult"
enum="NativeSmbFileShare_MountResult" expires_after="M94">
<obsolete>
Removed in M94.
</obsolete>
<owner>simmonsjosh@google.com</owner>
<owner>src/chrome/browser/ash/smb_client/OWNERS</owner>
<summary>
The result of the Remount operation during startup. This is recorded after
the D-Bus call to Remount returns.
</summary>
</histogram>
<histogram name="NativeTheme.GetSystemColor" units="ms"
expires_after="2021-04-04">
<owner>pkasting@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>Time required to run ui::NativeTheme::GetSystemColor().</summary>
</histogram>
<histogram name="NativeTheme.GetSystemColor.UsesColorProvider" enum="Boolean"
expires_after="2022-07-03">
<owner>pkasting@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>Records if the color provider computed the color.</summary>
</histogram>
<histogram name="NCN.CellularConnectionSubtype" enum="ConnectionSubtype"
expires_after="M77">
<owner>bmcquade@chromium.org</owner>
<summary>
The connection subtype of the network the client is connected to, when the
client is on a cellular connection. This histogram is logged once per UMA
record, if the user is on a cellular connection, at the time the record is
finalized.
</summary>
</histogram>
<histogram name="NCN.NetworkOperatorMCCMNC" units="units"
expires_after="2021-10-27">
<obsolete>
Deprecated in 10/2021 because the location permission protected API is
required to get this information and this isn't a must-have histogram.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>bengr@google.com</owner>
<summary>
The MCC (mobile country code) and MNC (mobile network code) of the network
operator when a new metrics log is created or when the network connection is
changed. A value of zero means a non-mobile network or the operator code is
unknown.
</summary>
</histogram>
<histogram name="Networks.RememberedShared" units="units"
expires_after="2020-08-01">
<owner>stevenjb@chromium.org</owner>
<summary>
Number of shared remembered (preferred) networks on Chrome OS. Updated any
time the network list changes.
</summary>
</histogram>
<histogram name="Networks.RememberedUnshared" units="units"
expires_after="2020-08-01">
<owner>stevenjb@chromium.org</owner>
<summary>
Number of private remembered (preferred) networks on Chrome OS. Updated any
time the network list changes.
</summary>
</histogram>
<histogram name="Networks.Visible" units="units" expires_after="2020-08-01">
<owner>stevenjb@chromium.org</owner>
<summary>
Number of visible (in-range) networks on Chrome OS. Updated any time the
network list changes.
</summary>
</histogram>
<histogram name="NQE.CachedNetworkQualityAvailable" enum="BooleanAvailable"
expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Records if the cached network quality (from memory or from a persistent
source) was available. Recorded right after connection change event.
</summary>
</histogram>
<histogram name="NQE.CellularSignalStrength.ECTReduction"
units="ECT level reduction" expires_after="2021-10-10">
<obsolete>
Obsoleted July 2021.
</obsolete>
<owner>tbansal@chromium.org</owner>
<summary>
Number of buckets by which effective connection type was reduced or capped
due to low cellular signal strength. Recorded only on cellular networks, and
only when the value of the effective connection typed is capped.
</summary>
</histogram>
<histogram name="NQE.CellularSignalStrength.LevelAvailable"
enum="BooleanAvailable" expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Whether the signal strength for the cellular network was available or not.
Recorded right before a connection change event. Recorded only on cellular
connections on Android platform.
</summary>
</histogram>
<histogram name="NQE.ConnectivityMonitor.NetworkChangeEvent"
enum="NQE.ConnectivityMonitor.NetworkChangeType" expires_after="2021-08-29">
<obsolete>
Removed January 2022.
</obsolete>
<owner>rockot@google.com</owner>
<owner>zhongyi@chromium.org</owner>
<summary>
When ConnectivityMonitor establishes that the current default network may be
failing and is Wi-Fi, it asks the operating system to activate a mobile
network for subsequent use. Whenever the system's default network changes,
this logs the relationship between the new default network and the network
preemptively activated by ConnectivityMonitor, if any.
</summary>
</histogram>
<histogram name="NQE.ConnectivityMonitor.TimeToSwitchNetworks" units="ms"
expires_after="2022-01-02">
<owner>rockot@google.com</owner>
<owner>zhongyi@chromium.org</owner>
<summary>
The Network Quality Estimator (NQE) observes network activity to look for
connectivity issues. If it begins to observe failures on a previously
functioning network, it tracks the time at which the failures were first
observed. If the device subsequently switches its default network to
different network (or offline), this histogram logs the number of
milliseconds elapsed since the original failures were observed.
</summary>
</histogram>
<histogram name="NQE.EffectiveConnectionType.OnECTComputation"
enum="NQEEffectiveConnectionType" expires_after="2022-05-01">
<owner>tbansal@chromium.org</owner>
<owner>src/net/nqe/OWNERS</owner>
<summary>
Effective connection type estimated by the network quality estimator.
Recorded every time the effective connection type is computed.
</summary>
</histogram>
<histogram name="NQE.EndToEndRTT.OnECTComputation" units="ms"
expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>src/net/nqe/OWNERS</owner>
<summary>
Rough estimate of the computed end-to-end round trip time. Recorded by the
network quality estimator every time the effective connection type is
computed.
</summary>
</histogram>
<histogram name="NQE.HttpRttReduction.BasedOnRTTCounts" units="ms"
expires_after="2021-10-01">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Duration by which HTTP RTT was reduced because of low confidence.
</summary>
</histogram>
<histogram name="NQE.Kbps.OnECTComputation" units="Kbps"
expires_after="2021-11-21">
<owner>bengr@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Rough estimate of the downstream peak throughput (in kilobits per second).
Recorded by the network quality estimator every time the effective
connection type is computed.
</summary>
</histogram>
<histogram name="NQE.NetworkIdAvailable" enum="BooleanAvailable"
expires_after="2021-07-22">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Whether the NetworkID (SSID of the Wi-Fi network, or the MCC/MNC operator of
the cellular network) was available or not. Recorded only on Wi-Fi and
cellular networks. Recorded right after the connection type changes.
</summary>
</histogram>
<histogram name="NQE.Prefs.ReadCount" units="count" expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Number of times the network quality prefs were read by the network quality
estimator.
</summary>
</histogram>
<histogram name="NQE.Prefs.ReadSize" units="count" expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Count of the number of network IDs in the prefs read by the network quality
estimator.
</summary>
</histogram>
<histogram name="NQE.Prefs.WriteCount" units="count" expires_after="2021-10-10">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Number of times the network quality prefs were written by the network
quality estimator.
</summary>
</histogram>
<histogram name="NQE.RTT.ObservationSource" enum="NQEObservationSource"
expires_after="2022-02-20">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Number of RTT observations indexed by the source of the observation.
Recorded by the network quality estimator every time a new observation is
made or synthesized.
</summary>
</histogram>
<histogram name="NQE.RTT.OnECTComputation" units="ms"
expires_after="2022-01-16">
<owner>bengr@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Rough estimate of the round trip time at the URLRequest layer. Recorded by
the network quality estimator every time the effective connection type is
computed.
</summary>
</histogram>
<histogram base="true" name="NQE.SignalStrengthQueried" enum="Boolean"
expires_after="2021-11-14">
<obsolete>
Obsleted July 2021.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Recorded as true when the signal strength of the current network is queried.
</summary>
</histogram>
<histogram name="NQE.TransportRTT.OnECTComputation" units="ms"
expires_after="2022-06-26">
<owner>bengr@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Rough estimate of the computed round trip time at the transport layer.
Recorded by the network quality estimator every time the effective
connection type is computed.
</summary>
</histogram>
<histogram name="NQE.WifiSignalStrength.LevelAvailable" enum="BooleanAvailable"
expires_after="2020-07-06">
<owner>tbansal@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Whether the signal strength for the Wifi network was available or not.
Recorded right before a connection change event. Recorded only on Wifi
connections on Android platform.
</summary>
</histogram>
<histogram name="OAuth2Login.MergeSessionFailure" enum="GoogleServiceAuthError"
expires_after="2022-11-29">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Failure reason of MergeSession call during Chrome OS login, Chrome Signin or
account addition. On all OSes as of M44 (previously CrOS only).
</summary>
</histogram>
<histogram name="OAuth2Login.MergeSessionRetry" enum="GoogleServiceAuthError"
expires_after="2022-11-29">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Retry reason of failed MergeSession call during Chrome OS login, Chrome
Signin or account addition. On all OSes as of M44 (previously CrOS only).
</summary>
</histogram>
<histogram name="OAuth2Login.PostMergeVerification"
enum="PostMergeVerificationOutcome" expires_after="2021-06-17">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Outcome of Chrome OS GAIA cookie post-merge session verification process. It
measures how often /MergeSession request collided with browser session
restore process resulting in partially authenticated primary GAIA session.
</summary>
</histogram>
<histogram name="OAuth2Login.PreMergeVerification"
enum="PostMergeVerificationOutcome" expires_after="2021-06-17">
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Outcome of Chrome OS GAIA cookie pre-merge session verification process. It
measures how often we need to perform /MergeSession request to
re-authenticated exisitng user with GAIA.
</summary>
</histogram>
<histogram name="OAuth2Login.SessionRestore" enum="GaiaSessionRestoreOutcome"
expires_after="2022-08-01">
<owner>anastasiian@chromium.org</owner>
<owner>sinhak@chromium.org</owner>
<summary>Outcome of Chrome OS GAIA cookie session restore process.</summary>
</histogram>
<histogram name="OAuth2Login.SessionRestoreTimeToFailure" units="ms"
expires_after="2022-08-01">
<owner>anastasiian@chromium.org</owner>
<owner>sinhak@chromium.org</owner>
<summary>How long it takes for the session restore to fail.</summary>
</histogram>
<histogram name="OAuth2Login.SessionRestoreTimeToSuccess" units="ms"
expires_after="2022-08-01">
<owner>anastasiian@chromium.org</owner>
<owner>sinhak@chromium.org</owner>
<summary>
How long it takes for the session restore to finish succeessfully.
</summary>
</histogram>
<histogram name="OccludedWindowMouseEvents" units="events"
expires_after="2021-12-12">
<obsolete>
Retired in M99.
</obsolete>
<owner>davidbienvenu@chromium.org</owner>
<owner>fdoray@chromium.org</owner>
<summary>
Incremented each time a mouse event is handled by a window that is marked as
occluded. This number should be 0 or very close to 0. It should be much less
than the number of times a window is mark occluded -
WindowOcclusionChanged.Occluded.
</summary>
</histogram>
<histogram name="OffscreenCanvas.TextMetrics.SetFont" units="microseconds"
expires_after="2021-07-14">
<obsolete>
Retired in M93, replaced by OffscreenCanvas.TextMetrics.SetFont2 which has a
wider range.
</obsolete>
<owner>yiyix@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Time spent in microseconds to perform call SetFont in canvas for
OffscreenCanvas. It's measured each time SetFont is called.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="OffscreenCanvas.TextMetrics.SetFont2" units="microseconds"
expires_after="M93">
<obsolete>
Retired in M94.
</obsolete>
<owner>yiyix@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Time spent in microseconds to perform call SetFont in canvas for
OffscreenCanvas. It's measured each time SetFont is called.
This differs from OffscreenCanvas.TextMetrics.SetFont in that it uses
buckets up to ten seconds rather than ten milliseconds (due to a change in
the underlying histogramming function called).
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="OriginTrials.ValidationResult" enum="OriginTrialTokenStatus"
expires_after="2021-10-10">
<owner>chasej@chromium.org</owner>
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Counts the results of token validation checks to enable experimental
features. The result for each token validation check is counted once per
token per execution context (e.g. page, worker).
</summary>
</histogram>
<histogram name="OSCrypt.BackendUsage" enum="LinuxPasswordStoreUsage"
expires_after="2023-01-09">
<owner>cfroussios@chromium.org</owner>
<owner>mamir@chromium.org</owner>
<summary>
The backend selected for this user and whether it was initialised
successfully.
</summary>
</histogram>
<histogram name="OSCrypt.Win.KeyDecryptionError" enum="WinGetLastError"
expires_after="2021-08-01">
<owner>wfh@chromium.org</owner>
<owner>forshaw@chromium.org</owner>
<summary>
The Windows GetLastError after a failure from calling into DPAPI to decrypt
the master key for the os_crypt library on Windows. This is recorded during
the OSCrypt::Init each time the decryption fails.
</summary>
</histogram>
<histogram name="OSX.ExceptionHandlerEvents" enum="OSXExceptionHandlerEvents"
expires_after="M85">
<owner>mark@chromium.org</owner>
<summary>Events seen by the OSX NSException swizzle.</summary>
</histogram>
<histogram name="OSX.Fullscreen.Enter.Source" enum="OSXFullscreenSource"
expires_after="M85">
<owner>spqchan@chromium.org</owner>
<summary>
This event is recorded each time a user triggers fullscreen for a browser
window. It indicates if the fullscreen is triggered for the browser or the
tab content.
</summary>
</histogram>
<histogram name="OSX.Fullscreen.Enter.Style" enum="OSXFullscreenStyle"
expires_after="2018-08-30">
<owner>erikchen@chromium.org</owner>
<summary>
This event is recorded each time a user triggers fullscreen for a browser
window. It indicates the mechanism (immersive vs. AppKit) and the type of
AppKit Fullscreen (Presentation Mode vs. Canonical Fullscreen).
</summary>
</histogram>
<histogram name="OSX.Fullscreen.Enter.WindowLocation"
enum="OSXFullscreenWindowLocation" expires_after="2018-08-30">
<owner>erikchen@chromium.org</owner>
<summary>
This event is recorded each time a user triggers fullscreen for a browser
window. It indicates the screen in which the window was fullscreened, and
the number of screens available.
</summary>
</histogram>
<histogram name="OSX.Handoff.Origin" enum="OSXHandoffOrigin"
expires_after="2018-08-30">
<owner>erikchen@chromium.org</owner>
<summary>
This event is recorded each time a Handoff is received by Chrome on OSX. The
enumeration indicates the source of the Handoff.
</summary>
</histogram>
<histogram name="OSX.Installation.OtherChromeInstances"
enum="OSXOtherChromeInstancesResult" expires_after="2020-12-12">
<obsolete>
Removed 11/2020.
</obsolete>
<owner>avi@chromium.org</owner>
<owner>mark@chromium.org</owner>
<summary>
The instances of other copies of Google Chrome on the user's Mac. Logged
once on startup, and only for Chrome Beta and Chrome Dev. Will be used to
determine if/how home directory migration will be done for side-by-side.
</summary>
</histogram>
<histogram name="OSX.NativeShare" units="BooleanSuccess"
expires_after="2021-09-05">
<obsolete>
Removed July 2021, superceded by Mac.FileMenuNativeShare.
</obsolete>
<owner>lgrey@chromium.org</owner>
<summary>
Whether the user successfully shared via a native sharing extension after
selecting it from the File &gt; Share menu. False can indicate failure or
user-initiated cancellation. This is obsolete; the same data is currently
being collected as Mac.FileMenuNativeShare.
</summary>
</histogram>
<histogram name="OSX.Settings.ScreensHaveSeparateSpaces"
enum="OSXScreensHaveSeparateSpaces" expires_after="M85">
<owner>erikchen@chromium.org</owner>
<summary>
The configuration of the setting &quot;Screens Have Separate Spaces&quot;
available in OSX 10.9+.
</summary>
</histogram>
<histogram name="OSX.SystemHotkeyMap.LoadSuccess" enum="BooleanSuccess"
expires_after="2018-08-30">
<owner>erikchen@chromium.org</owner>
<summary>
Whether an attempt to load the system hotkeys on a Mac was successful.
</summary>
</histogram>
<histogram name="OutdatedUpgradeBubble.NumLaterPerEnableAU" units="units"
expires_after="M85">
<owner>mad@chromium.org</owner>
<summary>
Counts the number of times the user clicked on the later button of the
outdated upgrade bubble, before clicking on the enable updates button in the
same Chrome session.
</summary>
</histogram>
<histogram name="OutdatedUpgradeBubble.NumLaterPerReinstall" units="units"
expires_after="M85">
<owner>mad@chromium.org</owner>
<summary>
Counts the number of times the user clicked on the later button of the
outdated upgrade bubble, before clicking on the reinstall button in the same
Chrome session.
</summary>
</histogram>
<histogram name="Overscroll.Cancelled3" enum="OverscrollNavigationType"
expires_after="2021-02-21">
<owner>nzolghadr@chromium.org</owner>
<summary>
Overscroll gestures that were aborted before they were completed.
</summary>
</histogram>
<histogram name="Overscroll.Navigated3" enum="OverscrollNavigationType"
expires_after="2021-01-10">
<owner>nzolghadr@chromium.org</owner>
<summary>
Navigations that were triggered due to completed overscroll gesture. Note
that not all completed overscroll gestures trigger a navigation.
</summary>
</histogram>
<histogram name="Overscroll.Started3" enum="OverscrollNavigationType"
expires_after="2021-01-10">
<owner>nzolghadr@chromium.org</owner>
<summary>
Overscroll gestures initiated by the user. Note that not all overscroll
gestures started are completed (e.g. the overscroll gesture is aborted if
user clicks or presses a key during the gesture).
</summary>
</histogram>
<histogram name="Ozone.NeuralStylusReport.ActivePalmTouchCount"
units="touch event count" expires_after="2020-09-30">
<owner>napper@chromium.org</owner>
<owner>robsc@chromium.org</owner>
<summary>
When a stylus is touched to screen, the number of palms on the device at
that time.
</summary>
</histogram>
<histogram name="Ozone.NeuralStylusReport.FingerAgeBeforeStylus"
units="duration" expires_after="2020-09-30">
<owner>napper@chromium.org</owner>
<owner>robsc@chromium.org</owner>
<summary>
The time between a finger and a stylus touch. The finger may or may not
still be on the touchscreen.
</summary>
</histogram>
<histogram name="Ozone.NeuralStylusReport.PalmAgeBeforeStylus" units="duration"
expires_after="2020-09-30">
<owner>napper@chromium.org</owner>
<owner>robsc@chromium.org</owner>
<summary>
The time between a palm and a stylus touch. The palm may or may not still be
on the touchscreen.
</summary>
</histogram>
<histogram name="Ozone.TouchEventConverterEvdev.HoldCountAtCancel"
units="touch event" expires_after="2020-12-01">
<owner>robsc@chromium.org</owner>
<summary>
The count of the number of held events cancelled when we decide to finally
cancel a stroke. Only reported if events have been held, and will be
positive. Events are only held from PalmDetectionFilter.
</summary>
</histogram>
<histogram name="Ozone.TouchEventConverterEvdev.HoldCountAtRelease"
units="touch event" expires_after="2020-12-01">
<owner>robsc@chromium.org</owner>
<summary>
The count of the number of held events released at once for a stroke when we
decide to release. Only reported if events have been held, and will be
positive. Events are only held from PalmDetectionFilter.
</summary>
</histogram>
<histogram name="P2P.Client.Canceled.WaitingTimeSeconds" units="seconds"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The wall-clock time spent until a lookup was canceled. This is reported
every time p2p is used to find a candidate but the request was canceled.
</summary>
</histogram>
<histogram name="P2P.Client.Found.CandidateCount" units="count"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of candidates on the LAN, i.e. the number of peers on the LAN
offering at least N bytes of the requested file X. This is reported after
examining responses from all peers on the LAN and picking a candidate.
</summary>
</histogram>
<histogram name="P2P.Client.Found.ConnectionCount" units="count"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of p2p downloads of the peer that the returned URL points to.
This is reported after examining responses from all peers on the LAN and
picking a candidate.
</summary>
</histogram>
<histogram name="P2P.Client.Found.WaitingTimeSeconds" units="seconds"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The wall-clock time spent waiting for the LAN-wide number of p2p downloads
(i.e. the sum of p2p downloads from each peer on the LAN) to drop below the
threshold. This is reported after examining responses from all peers on the
LAN and picking a candidate.
</summary>
</histogram>
<histogram name="P2P.Client.LookupResult" enum="P2PLookupResult"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The result of the lookup. Possible values include &quot;Found&quot; (if a
candidate - i.e. a peer offering at least N bytes of file X - was chosen),
&quot;Not Found&quot; (if no candidate could be found), &quot;Vanished&quot;
(if a candidate was found but vanished while waiting in line),
&quot;Canceled&quot; (if a candidate was found but the request was canceled
while waiting in line), and &quot;Filtered&quot; (if it was detected that
mDNS was filtered). This is reported after examining responses from all
peers on the LAN when p2p is used to find a candidate.
</summary>
</histogram>
<histogram name="P2P.Client.NumPeers" units="count" expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of peers implementing p2p file sharing on the network. This is
reported every time p2p is used to look up a resource on a network where
mDNS is not filtered.
</summary>
</histogram>
<histogram name="P2P.Client.Vanished.WaitingTimeSeconds" units="seconds"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The wall-clock time spent waiting for one or more candidates (i.e. peers
offering at least N bytes of file X) that all vanished before the LAN-wide
number of p2p downloads dropped below the threshold. This is reported every
time candidates were found using p2p but then vanished.
</summary>
</histogram>
<histogram name="P2P.Server.ClientCount" units="count"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of currently connected HTTP clients. This is reported every time
a HTTP client connects.
</summary>
</histogram>
<histogram name="P2P.Server.ContentServedInterruptedMB" units="MB"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
Number of megabytes (1,000,000 bytes) served from the device (via HTTP)
where the client disconnects prematurely. This is reported every time a file
is served and the client disconnects before receiving all data.
</summary>
</histogram>
<histogram name="P2P.Server.ContentServedSuccessfullyMB" units="MB"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
Number of megabytes (1,000,000 bytes) served from the device (via HTTP).
This is reported every time a file have been served successfully.
</summary>
</histogram>
<histogram name="P2P.Server.DownloadSpeedKBps" units="kB/s"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The average speed at which the download was served at, in kB/s. This is
reported every time a file have been served successfully.
</summary>
</histogram>
<histogram name="P2P.Server.FileCount" units="count" expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The number of files available via p2p. This is reported every time a file is
added or removed to the /var/cache/p2p directory.
</summary>
</histogram>
<histogram name="P2P.Server.RangeBeginPercentage" units="%"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
When a client resumes a download, the HTTP request includes range specifier
to skip the bytes it already has. This metric conveys this as a percentage
of the file size. This is reported every time a file is served, even if the
request does not include a range specifier (in which case 0 is reported).
</summary>
</histogram>
<histogram name="P2P.Server.RequestResult" enum="P2PServerResult"
expires_after="2021-12-29">
<owner>ahassani@chromium.org</owner>
<owner>chromeos-core-services@google.com</owner>
<summary>
The result of the HTTP request. Possible values include &quot;Response
Sent&quot; (the resource was found and the response was successfully sent),
&quot;Response Interrupted&quot; (the resource was found but the client
disconnected), &quot;Malformed&quot; (the request was malformed), &quot;Not
Found&quot; (the request was for a resource that was not found), and
&quot;Index&quot; (the request was for the '/' or '/index.html' resource).
This is reported for every HTTP request handled.
</summary>
</histogram>
<histogram name="PaintHolding.CommitTrigger2" enum="PaintHoldingCommitTrigger2"
expires_after="2022-05-29">
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Records the reason that a commit was triggered, to enable research into
which event (non-same-origin, FCP, timeout, etc) led to the first commit.
</summary>
</histogram>
<histogram name="PaintHolding.InputTiming2" enum="PaintHoldingInputTiming"
expires_after="2022-06-05">
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Records whether or not input arrived before the first commit.
</summary>
</histogram>
<histogram name="PartnerBookmark.Count2" units="bookmarks"
expires_after="2021-08-09">
<owner>bttk@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
The number of partner bookmark entries. Logged when using the bookmark, and
at most once per cold start. Note that the distribution is weighted by
bookmark usage.
</summary>
</histogram>
<histogram name="PartnerBookmark.FaviconThrottleFetchResult"
enum="PartnerBookmark.FaviconFetchResult" expires_after="M77">
<owner>tedchoc@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
The response we got back from our favicon fetching throttler, once for each
bookmark at each cold start. Only recorded on Android.
</summary>
</histogram>
<histogram name="PartnerBookmark.LoadingTime" units="ms"
expires_after="2021-07-10">
<owner>bttk@chromium.org</owner>
<owner>wychen@chromium.org</owner>
<summary>
The time spent on loading partner bookmarks, from kickOffReading() to
bookmarkModelLoaded() callback.
</summary>
</histogram>
<histogram name="Pepper.Graphics3DHasShareGroup" units="BooleanShareGroup"
expires_after="M77">
<owner>jbauman@chromium.org</owner>
<summary>
True if a non-flash Pepper Graphics3D context has a share group.
</summary>
</histogram>
<histogram name="Pepper.InterfaceUsed" enum="PepperInterface"
expires_after="2022-06-19">
<owner>bbudge@chromium.org</owner>
<owner>raymes@chromium.org</owner>
<summary>
The number of out-of-process plugin processes that have loaded a particular
PPB interface version.
</summary>
</histogram>
<histogram name="Pepper.PluginContextSecurity.TCPConnect" enum="BooleanSecure"
expires_after="M77">
<owner>raymes@chromium.org</owner>
<owner>rsleevi@chromium.org</owner>
<summary>
Whether a Pepper TCP connect attempt comes from a plugin in a secure or an
insecure origin.
</summary>
</histogram>
<histogram name="Pepper.PluginContextSecurity.UDPBind" enum="BooleanSecure"
expires_after="M77">
<owner>raymes@chromium.org</owner>
<owner>rsleevi@chromium.org</owner>
<summary>
Whether a Pepper UDP bind attempt comes from a plugin in a secure or an
insecure origin.
</summary>
</histogram>
<histogram name="PerformanceHints.Observer.HintForURLResult"
enum="PerformanceHintsObserverHintForURLResult" expires_after="2021-10-04">
<owner>jds@google.com</owner>
<owner>src/chrome/browser/performance_hints/OWNERS</owner>
<summary>
Records the result of querying PerformanceHintsObserver for a URL-specific
performance hint. This enables tracking how often the
OptimizationGuideDecider provides a hint in time for a HintForURL request.
This is recorded once for each surface shown (e.g. once per link context
menu opened).
</summary>
</histogram>
<histogram name="PerformanceHints.Observer.PerformanceClassForURL"
enum="PerformanceHintsPerformanceClass" expires_after="2021-10-04">
<owner>jds@google.com</owner>
<owner>src/chrome/browser/performance_hints/OWNERS</owner>
<summary>
Records the PerformanceClass determined for a given URL. This value
represents the expected loading performance for the URL. This is recorded
before any overrides are performed by the PerformanceHintsObserver.
</summary>
</histogram>
<histogram base="true" name="PerformanceHints.Observer.SourceLookupStatus"
enum="PerformanceHintsObserverSourceLookupStatus"
expires_after="2021-10-04">
<owner>jds@google.com</owner>
<owner>src/chrome/browser/performance_hints/OWNERS</owner>
<summary>
Records the result of a hint lookup in a single source (e.g. link hints of
the current page, the page's OptimizationMetadata, etc). See the
PerformanceHintsSource suffix for name completions. All source suffix
histograms should have the same total count.
This is recorded for each source once per surface shown (e.g. each source is
recorded once per link context menu opened).
</summary>
</histogram>
<histogram
name="PerformanceManager.FrameSiteInstanceProcessRelationship.ByProcess2"
enum="FrameSiteInstanceProcessRelationship" expires_after="2020-12-31">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Tracks the types of frames that are being hosted by a process over its
entire lifetime. An entry in the
&quot;AllFramesHaveDistinctSiteInstances&quot; means that the process only
ever hosted frames with distinct site instances over its entire lifetime.
Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram
name="PerformanceManager.FrameSiteInstanceProcessRelationship.ByTime2"
enum="FrameSiteInstanceProcessRelationship" expires_after="2020-12-31">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Tracks the types of frames that are being hosted by a process, aggregated
over time. Each entry in each bucket corresponds to a process being in that
state for one second. Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram name="PerformanceManager.FramesPerRendererByTime" units="units"
expires_after="2021-03-07">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Tracks the number of frames hosted per renderer by time. An entry in bucket
N corresponds to N frames being hosted by a renderer process for 1 second.
Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram name="PerformanceManager.SiteInstancesPerRendererByTime"
units="units" expires_after="2020-12-31">
<owner>chrisha@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Tracks the number of site instances hosted per renderer by time. An entry in
bucket N corresponds to N site instances being hosted by a renderer process
for 1 second. Recorded on state changes and every 5 minutes.
</summary>
</histogram>
<histogram name="PerformanceManager.WorkerClientFound" enum="BooleanFound"
expires_after="2020-11-30">
<owner>pmonette@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Records a boolean indicating if a worker's client frame node could be found
when trying to connect the worker to a client frame, given its ID. This is
supposed to be always true if the performance manager has perfect coverage
of WebContents objects.
</summary>
</histogram>
<histogram name="PerformanceMonitor.AverageCPU" units="PercentCPUUsage"
expires_after="2021-10-30">
<obsolete>
Replaced in 2021-03 by PerformanceMonitor.AverageCPU2, which reports this
value in permyriad (1/10000) instead of percent and changes the upper bound
of the histogram.
</obsolete>
<owner>fdoray@chromium.org</owner>
<owner>oysteine@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Average CPU utilization of a process, read out at each two-minute interval.
The utilization is in the 0-100% range per CPU, which is then summed up.
I.e. a quadcore system fully loaded would read as 400%.
</summary>
</histogram>
<histogram name="PerformanceMonitor.AverageCPU2.Total{UsageScenario}"
units="hundredth of percent" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
See definitioin of PerformanceClass.AverageCPU2.ProcessName. This is
recorded for {UsageScenario} (an interval represents 2 minutes of Chrome
runtime, see go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram name="PerformanceMonitor.AverageCPU2.{ProcessName}"
units="hundredth of percent" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Average CPU utilization of process type {ProcessName}, read out at each
two-minute interval. The utilization is in the 0-100% range per CPU, which
is then summed up and multiplied by 100. The histogram is capped at 20000
(equivalent to 2 cores fully loaded). I.e. 4 cores busy at 25% each will
read as 25 * 4 * 100 = 10000.
NOTE: This metric has one signigicant limitation, it doesn't report the CPU
usage of processes that terminate before the end of the interval. This means
that short lived processes will rarely be included in the data. Furthermore,
we know that short-lived processes are very common (see
Renderer.ProcessLifetime). A future version of this metric will address this
limitation.
</summary>
<token key="ProcessName" variants="ProcessName"/>
</histogram>
<histogram name="PerformanceMonitor.AverageDisk" units="BytesPerSecond"
expires_after="M85">
<obsolete>
Removed 04/2021. Not needed for current investigations.
</obsolete>
<owner>etienneb@chromium.org</owner>
<owner>oysteine@chromium.org</owner>
<summary>
Average disk utilization of a process, recorded at every two-minute
interval. The amount of data transferred (Total I/O bytes per second) for a
given process.
NOTE: This metric has one signigicant limitation, it doesn't report the CPU
usage of processes that terminate before the end of the interval. This means
that short lived processes will rarely be included in the data. Furthermore,
we know that short-lived processes are very common (see
Renderer.ProcessLifetime). A future version of this metric will address this
limitation.
</summary>
</histogram>
<histogram name="PerformanceMonitor.EnergyImpact.Total{UsageScenario}"
units="ScaledUnits" expires_after="2022-11-30">
<owner>olivierli@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
See definition of PerformanceMonitor.EnergyImpact.ProcessName. This is
recorded for {UsageScenario} (an interval represents 2 minutes of Chrome
runtime, see go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram name="PerformanceMonitor.EnergyImpact.{ProcessName}"
units="ScaledUnits" expires_after="2022-11-30">
<owner>olivierli@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
(Mac only) A synthetic power use estimate, as displayed in macOS Activity
Monitor and the battery menu. This incorporates CPU utilization, idle
wakeups, IO, and task QoS level using per-machine-model weights. Divide by
100 to match Activity Monitor's scale. Recorded every two minutes.
NOTE: This metric has one signigicant limitation, it doesn't report the CPU
usage of processes that terminate before the end of the interval. This means
that short lived processes will rarely be included in the data. Furthermore,
we know that short-lived processes are very common (see
Renderer.ProcessLifetime). A future version of this metric will address this
limitation.
</summary>
<token key="ProcessName" variants="ProcessName"/>
</histogram>
<histogram name="PerformanceMonitor.HighCPU" enum="BooleanHit"
expires_after="M85">
<obsolete>
Removed 04/2021. PerformanceMonitor.AverageCPU2 has the same data with more
granularity.
</obsolete>
<owner>oysteine@chromium.org</owner>
<summary>
The number of times a process has continuously stayed above a certain
threshold of CPU utilization over a certain time period (currently set to
two minutes).
</summary>
</histogram>
<histogram name="PerformanceMonitor.IdleWakeups.Total{UsageScenario}"
units="WakeupsPerSecond" expires_after="2022-11-30">
<owner>olivierli@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
See definition of PerformanceMonitor.IdleWakeups.ProcessName. This is
recorded for {UsageScenario} (an interval represents 2 minutes of Chrome
runtime, see go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram name="PerformanceMonitor.IdleWakeups.{ProcessName}"
units="WakeupsPerSecond" expires_after="2022-11-30">
<owner>olivierli@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The average CPU idle wakeups per second, sampled every two minutes.
NOTE: This metric has one signigicant limitation, it doesn't report the CPU
usage of processes that terminate before the end of the interval. This means
that short lived processes will rarely be included in the data. Furthermore,
we know that short-lived processes are very common (see
Renderer.ProcessLifetime). A future version of this metric will address this
limitation.
</summary>
<token key="ProcessName" variants="ProcessName"/>
</histogram>
<histogram
name="PerformanceMonitor.PackageExitIdleWakeups.Total{UsageScenario}"
units="WakeupsPerSecond" expires_after="2022-11-30">
<owner>olivierli@chromium.org</owner>
<owner>catan-team@chromium.orgg</owner>
<summary>
See definition of PerformanceMonitor.PackageExitIdleWakeups.ProcessName.
This is recorded for {UsageScenario} (an interval represents 2 minutes of
Chrome runtime, see go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram name="PerformanceMonitor.PackageExitIdleWakeups.{ProcessName}"
units="WakeupsPerSecond" expires_after="2022-11-30">
<owner>olivierli@chromium.org</owner>
<owner>catan-team@chromium.orgg</owner>
<summary>
(Mac only) The average package exit idle wakeups per second, sampled every
two minutes. This is a subset of wakeups that indicate that the processor
complex was taken out of low-power state. For more info, see the
powermetrics man page on macOS.
NOTE: This metric has one signigicant limitation, it doesn't report the CPU
usage of processes that terminate before the end of the interval. This means
that short lived processes will rarely be included in the data. Furthermore,
we know that short-lived processes are very common (see
Renderer.ProcessLifetime). A future version of this metric will address this
limitation.
</summary>
<token key="ProcessName" variants="ProcessName"/>
</histogram>
<histogram name="PerformanceMonitor.ResourceCoalition.Availability"
enum="CoalitionIDAvailability" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Details about whether or not it's possible to get coalition resource usage
data on the system. Only on macOS, recorded once at startup.
</summary>
</histogram>
<histogram
name="PerformanceMonitor.ResourceCoalition.BytesReadPerSecond{UsageScenario}"
units="milliBytesPerSecond" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The IO reads reported by the resource coalition mechanism on macOS. The data
is reported as the rate per second during this interval with a millibyte
granularity. This is recorded for {UsageScenario} (an interval represents 2
minutes of Chrome runtime, see go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram
name="PerformanceMonitor.ResourceCoalition.BytesWrittenPerSecond{UsageScenario}"
units="milliBytesPerSecond" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The IO writes reported by the resource coalition mechanism on macOS. The
data is reported as the rate per second during this interval with a
millibyte granularity. This is recorded for {UsageScenario} (an interval
represents 2 minutes of Chrome runtime, see
go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram name="PerformanceMonitor.ResourceCoalition.CPUTime"
units="hundredth of percent" expires_after="2022-11-30">
<obsolete>
Deprecated in 07/2021 because the computation was wrong. Replaced by
PerformanceMonitor.ResourceCoalition.CPUTime2.
</obsolete>
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Average CPU utilization reported by the resource coalition mechanism on
macOS. Read out at each two-minute interval. The utilization is in the
0-100% range per CPU, which is then summed up and multiplied by 100. The
histogram is capped at 20000 (equivalent to 2 cores fully loaded). I.e. 4
cores busy at 25% each will read as 25 * 4 * 100 = 10000.
</summary>
</histogram>
<histogram name="PerformanceMonitor.ResourceCoalition.CPUTime2{UsageScenario}"
units="hundredth of percent" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Average CPU utilization reported by the resource coalition mechanism on
macOS. The utilization is in the 0-100% range per CPU, which is then summed
up and multiplied by 100. The histogram is capped at 20000 (equivalent to 2
cores fully loaded). I.e. 4 cores busy at 25% each will read as 25 * 4 * 100
= 10000. This is recorded for {UsageScenario} (an interval represents 2
minutes of Chrome runtime, see go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram name="PerformanceMonitor.ResourceCoalition.Energy"
units="milliwatts" expires_after="2022-11-30">
<obsolete>
Deprecated in 07/2021 because the name of the metric was wrong. Replaced by
PerformanceMonitor.ResourceCoalition.Power.
</obsolete>
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The energy usage reported by the resource coalition mechanism on macOS.
Reported every 2 minutes. Only available on devices with an ARM CPU.
</summary>
</histogram>
<histogram
name="PerformanceMonitor.ResourceCoalition.EnergyImpact{UsageScenario}"
units="centi-EnergyImpact" expires_after="2022-11-30">
<owner>siggi@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
(Mac only) A synthetic power use estimate, as displayed in macOS Activity
Monitor and the battery menu. This incorporates CPU utilization, idle
wakeups, IO, and task QoS level using per-machine-model weights. Divide by
100 to match Activity Monitor's scale. Only available on macs with an Intel
CPU.
This EnergyImpact score is computed from the usage reported by the resource
coalition mechanism on macOS. It accounts for the resource usage of all
Chrome processes no matter how short-lived, as well as XPC services running
on Chrome's behalf.
This is recorded for {UsageScenario} (an interval represents 2 minutes of
Chrome runtime, see go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram name="PerformanceMonitor.ResourceCoalition.GPUTime"
units="hundredth of percent" expires_after="2022-11-30">
<obsolete>
Deprecated in 07/2021 because the computation was wrong. Replaced by
PerformanceMonitor.ResourceCoalition.GPUTime2.
</obsolete>
<owner>sebmarchand@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Average GPU utilization reported by the resource coalition mechanism on
macOS. Read out at each two-minute interval. The utilization is in the
0-100% range and is multiplied by 100. The histogram is capped at 10000
(equivalent to the GPU being used 100% of the time).
</summary>
</histogram>
<histogram name="PerformanceMonitor.ResourceCoalition.GPUTime2{UsageScenario}"
units="hundredth of percent" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Average GPU utilization reported by the resource coalition mechanism on
macOS. The utilization is in the 0-100% range and is multiplied by 100. The
histogram is capped at 10000 (equivalent to the GPU being used 100% of the
time). This is recorded for {UsageScenario} (an interval represents 2
minutes of Chrome runtime, see go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram
name="PerformanceMonitor.ResourceCoalition.InterruptWakeupsPerSecond{UsageScenario}"
units="milliWakeupsPerSecond" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The interrupt wakeup rate reported by the resource coalition mechanism on
macOS. The data is reported as the rate per second during this interval with
a milliwakeup granularity. This is recorded for {UsageScenario} (an interval
represents 2 minutes of Chrome runtime, see
go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram
name="PerformanceMonitor.ResourceCoalition.PlatformIdleWakeupsPerSecond{UsageScenario}"
units="milliWakeupsPerSecond" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The platform idle wakeup rate reported by the resource coalition mechanism
on macOS. The data is reported as the rate per second during this interval
with a milliwakeup granularity. This is recorded for {UsageScenario} (an
interval represents 2 minutes of Chrome runtime, see
go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram name="PerformanceMonitor.ResourceCoalition.Power{UsageScenario}"
units="milliwatts" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
The power usage reported by the resource coalition mechanism on macOS. Only
available on devices with an ARM CPU. This is recorded for {UsageScenario}
(an interval represents 2 minutes of Chrome runtime, see
go/chrome_power_use_per_scenario).
</summary>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram
name="PerformanceMonitor.ResourceCoalition.QoSLevel.{QoSLevel}{UsageScenario}"
units="hundredth of percent" expires_after="2022-11-30">
<owner>fdoray@chromium.org</owner>
<owner>catan-team@chromium.org</owner>
<summary>
Average CPU time spent in a given QoS level, as reported by the resource
coalition mechanism on macOS. The utilization is in the 0-100% range and is
multiplied by 100. The histogram is capped at 10000 (equivalent to the GPU
being used 100% of the time). This is recorded for {UsageScenario} (an
interval represents 2 minutes of Chrome runtime, see
go/chrome_power_use_per_scenario).
</summary>
<token key="QoSLevel">
<variant name="Background"/>
<variant name="Default"/>
<variant name="Legacy"/>
<variant name="Maintenance"/>
<variant name="UserInitiated"/>
<variant name="UserInteractive"/>
<variant name="Utility"/>
</token>
<!-- Usage scenario variant defined in tools/metrics/histograms/metadata/power/histograms.xml -->
<token key="UsageScenario" variants="UsageScenario"/>
</histogram>
<histogram name="PeriodicBackgroundSync.Event.BatchSize" units="events"
expires_after="2022-07-31">
<owner>nator@chromium.org</owner>
<owner>rayankans@chromium.org</owner>
<summary>
Records the number of `periodicsync` events which were fired in a batch. A
batch is defined as the set of `periodicsync` events dispatched at the same
time by the BackgroundSyncManager. Periodic syncs usually run in a batch.
</summary>
</histogram>
<histogram name="PeriodicBackgroundSync.Event.FromWakeupTask"
enum="BackgroundSyncWakeupTask" expires_after="2022-07-31">
<owner>nator@chromium.org</owner>
<owner>rayankans@chromium.org</owner>
<summary>
Records whether the fired `periodicsync` events upon completion orginated
from a background wakeup task or the foreground.
</summary>
</histogram>
<histogram name="PeriodicBackgroundSync.Event.Time" units="ms"
expires_after="2022-09-04">
<owner>nator@chromium.org</owner>
<owner>rayankans@chromium.org</owner>
<summary>
Time taken to execute a batch of periodicsync events. A batch is defined as
the set of `periodicsync` events dispatched at the same time by the
BackgroundSyncManager. Periodic syncs often run in a batch.
</summary>
</histogram>
<histogram name="PictureInPictureWindow.ButtonPressed"
enum="OverlayWindowControl" expires_after="M85">
<owner>fbeaufort@chromium.org</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Records Picture-in-Picture window control buttons pressed by user (basically
everything except user tap gestures).
</summary>
</histogram>
<histogram name="PictureInPictureWindow.TapGesture" enum="OverlayWindowControl"
expires_after="M85">
<owner>fbeaufort@chromium.org</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Records Picture-in-Picture window control user tap gestures.
</summary>
</histogram>
<histogram name="PLT.iOS.BrowserInitiatedPageLoadTime" units="ms"
expires_after="M92">
<obsolete>
Replaced by PLT.iOS.BrowserInitiatedPageLoadTime2 as of M92, in order to use
more granular buckets above 10 seconds.
</obsolete>
<owner>djean@chromium.org</owner>
<owner>ajuma@chromium.org</owner>
<summary>
Page load time for Browser-initiated navigations.
Browser-initiated navigations include all navigations initiated by
interacting with Chrome's UI elements, except for back/forward navigations.
Specifically, typing a URL into the omnibox, tapping the reload button,
loading a bookmark, and loading a page from the reading list (including when
offline) are all considered browser-initiated. Additionally, background
loads for prerendering and reading-list offline sync are also
browser-initiated, as is a reload triggered by switching to a tab whose
WKWebView renderer process was killed by the OS.
This is recorded for successful main-frame navigations (that is, navigations
that don't result in the browser displaying an error page). The recorded
value measures the time from the navigation request being sent to the
renderer process until all frames have fired their load events. For
background loads, the same interval is measured while the page loads and
fires load events in the background; the metric is not recorded again if the
background-loaed page is later displayed in the foreground.
Page loads that require network fetches will be slower than those where all
necessary resources are already present in WebKit's HTTP cache. Reload
navigations where all cached resources are up-to-date are particularly fast,
since they don't require any rendering updates either.
It is possible for a user to interact with a page before all load events
have been fired, so the recorded value should not be interpreted as the time
before the page becomes interactive.
Most things that affect user-perceived page load time on iOS are within
WebKit, not within Chromium/Chrome code. To assess whether a change in this
metric is caused by a WebKit change, split by OS version. WebKit changes
always come with an OS version change. Obviously, aside from WebKit and
Chromium changes, this metric can move due to exogenous factors such as
changes in what type of web page people are looking at or changes in the
implementation of popular websites.
Any navigation that is not considered browser-initiated is considered to be
renderer-initiated (see PLT.iOS.RendererInitiatedPageLoadTime).
</summary>
</histogram>
<histogram name="PLT.iOS.BrowserInitiatedPageLoadTime2" units="ms"
expires_after="2022-08-09">
<owner>djean@chromium.org</owner>
<owner>ajuma@chromium.org</owner>
<summary>
Page load time for Browser-initiated navigations.
Browser-initiated navigations include all navigations initiated by
interacting with Chrome's UI elements, except for back/forward navigations.
Specifically, typing a URL into the omnibox, tapping the reload button,
loading a bookmark, and loading a page from the reading list (including when
offline) are all considered browser-initiated. Additionally, background
loads for prerendering and reading-list offline sync are also
browser-initiated, as is a reload triggered by switching to a tab whose
WKWebView renderer process was killed by the OS.
This is recorded for successful main-frame navigations (that is, navigations
that don't result in the browser displaying an error page). The recorded
value measures the time from the navigation request being sent to the
renderer process until all frames have fired their load events. For
background loads, the same interval is measured while the page loads and
fires load events in the background; the metric is not recorded again if the
background-loaed page is later displayed in the foreground.
Page loads that require network fetches will be slower than those where all
necessary resources are already present in WebKit's HTTP cache. Reload
navigations where all cached resources are up-to-date are particularly fast,
since they don't require any rendering updates either.
It is possible for a user to interact with a page before all load events
have been fired, so the recorded value should not be interpreted as the time
before the page becomes interactive.
Most things that affect user-perceived page load time on iOS are within
WebKit, not within Chromium/Chrome code. To assess whether a change in this
metric is caused by a WebKit change, split by OS version. WebKit changes
always come with an OS version change. Obviously, aside from WebKit and
Chromium changes, this metric can move due to exogenous factors such as
changes in what type of web page people are looking at or changes in the
implementation of popular websites.
Any navigation that is not considered browser-initiated is considered to be
renderer-initiated (see PLT.iOS.RendererInitiatedPageLoadTime2).
</summary>
</histogram>
<histogram name="PLT.iOS.RendererInitiatedPageLoadTime" units="ms"
expires_after="M92">
<obsolete>
Replaced by PLT.iOS.RendererInitiatedPageLoadTime2 as of M92, in order to
use more granular buckets above 10 seconds.
</obsolete>
<owner>djean@chromium.org</owner>
<owner>ajuma@chromium.org</owner>
<summary>
Page load time for Renderer-initiated navigations.
Renderer-initiated navigations are all main-frame navigations that are not
considered to be browser-initiated (see
PLT.iOS.BrowserInitiatedPageLoadTime). Specificially, tapping on links
within web content, navigations triggered by JavaScript, navigations for
restoring tabs on launch, and back/forward navigations are all considered to
be renderer-initiated.
This is recorded for successful main-frame navigations (that is, navigations
that don't result in the browser displaying an error page). However, this is
not recorded when WebKit handles a back/forward navigation using its page
cache (that is, when the DOM representation of the destination is still
loaded in memory from a recent visit), since we don't get the full set of
WebKit navigation callbacks for such navigations. The recorded value
measures the time from the browser process being notified that the
navigation has started, to all frames having fired their load events. The
time that the browser process is notified that the navigation has started is
usually just after a network request is sent, but can be later for
back/forward navigations on sites that use pushState to generate history
entries; in the latter case, the navigation may be almost finished by the
time the browser finds out about it. As such, depending on the cause of the
navigation, different things are measured. Some types will be very fast
(e.g., pushState/replaceState) and others (such as tapping on links) will be
slower. Furthermore, navigations that require network fetches will be slower
than those where all necessary resources are already present in WebKit's
HTTP cache.
It is possible for a user to interact with a page before all load events
have been fired, so the recorded value should not be interpreted as the time
before the page becomes interactive.
Most things that affect user-perceived page load time on iOS are within
WebKit, not within Chromium/Chrome code. To assess whether a change in this
metric is caused by a WebKit change, split by OS version. WebKit changes
always come with an OS version change. Obviously, aside from WebKit and
Chromium changes, this metric can move due to exogenous factors such as
changes in what type of web page people are looking at or changes in the
implementation of popular websites.
</summary>
</histogram>
<histogram name="PLT.iOS.RendererInitiatedPageLoadTime2" units="ms"
expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->
<owner>djean@chromium.org</owner>
<owner>ajuma@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
Page load time for Renderer-initiated navigations.
Renderer-initiated navigations are all main-frame navigations that are not
considered to be browser-initiated (see
PLT.iOS.BrowserInitiatedPageLoadTime). Specificially, tapping on links
within web content, navigations triggered by JavaScript, navigations for
restoring tabs on launch, and back/forward navigations are all considered to
be renderer-initiated.
This is recorded for successful main-frame navigations (that is, navigations
that don't result in the browser displaying an error page). However, this is
not recorded when WebKit handles a back/forward navigation using its page
cache (that is, when the DOM representation of the destination is still
loaded in memory from a recent visit), since we don't get the full set of
WebKit navigation callbacks for such navigations. The recorded value
measures the time from the browser process being notified that the
navigation has started, to all frames having fired their load events. The
time that the browser process is notified that the navigation has started is
usually just after a network request is sent, but can be later for
back/forward navigations on sites that use pushState to generate history
entries; in the latter case, the navigation may be almost finished by the
time the browser finds out about it. As such, depending on the cause of the
navigation, different things are measured. Some types will be very fast
(e.g., pushState/replaceState) and others (such as tapping on links) will be
slower. Furthermore, navigations that require network fetches will be slower
than those where all necessary resources are already present in WebKit's
HTTP cache.
It is possible for a user to interact with a page before all load events
have been fired, so the recorded value should not be interpreted as the time
before the page becomes interactive.
Most things that affect user-perceived page load time on iOS are within
WebKit, not within Chromium/Chrome code. To assess whether a change in this
metric is caused by a WebKit change, split by OS version. WebKit changes
always come with an OS version change. Obviously, aside from WebKit and
Chromium changes, this metric can move due to exogenous factors such as
changes in what type of web page people are looking at or changes in the
implementation of popular websites.
Do not modify this metric in any way without contacting
chrome-analysis-team@google.com.
</summary>
</histogram>
<histogram name="PLT.PT_RequestToStart" units="ms" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
This time is based on the NavigationTiming spec and is a more accurate
version of PLT.RequestToStart. Start: requestStart. Request:
navigationStart.
</summary>
</histogram>
<histogram name="PLT.PT_StartToCommit" units="ms" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
This time is based on the NavigationTiming spec and is a more accurate
version of PLT.StartToCommit. Start: requestStart. Commit: responseStart.
</summary>
</histogram>
<histogram name="PLT.PT_StartToFinish" units="ms" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
This time is based on the NavigationTiming spec and is a more accurate
version of PLT.StartToFinish. Start: requestStart. Finish: loadEventEnd.
</summary>
</histogram>
<histogram name="PLT.RequestToStart" units="ms" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
Time from &quot;request&quot; to &quot;start.&quot; &quot;Request&quot;==
time when user requested document. &quot;Start&quot;== time when renderer
requested load of document, after any unload of last document.
</summary>
</histogram>
<histogram base="true" name="PointingStick.Acceleration" enum="BooleanEnabled"
expires_after="2021-04-01">
<obsolete>
Removed in 2021-03.
</obsolete>
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>hcutts@chromium.org</owner>
<owner>khorimoto@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Acceleration setting for pointing sticks (typically TrackPoints, the
miniature red joysticks found in some laptop keyboards). Only reported on
Chrome OS.
</summary>
</histogram>
<histogram base="true" name="PointingStick.PointerSensitivity"
enum="PointerSensitivity" expires_after="2021-04-01">
<obsolete>
Removed in 2021-03.
</obsolete>
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>hcutts@chromium.org</owner>
<owner>khorimoto@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Sensitivity value for pointing sticks (typically TrackPoints, the miniature
red joysticks found in some laptop keyboards). Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="PointingStick.PrimaryButtonRight"
enum="PointerPrimaryButton" expires_after="2021-04-01">
<obsolete>
Removed in 2021-03.
</obsolete>
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>hcutts@chromium.org</owner>
<owner>khorimoto@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Setting for the primary button of pointing sticks (typically TrackPoints,
the miniature red joysticks found in some laptop keyboards). Only reported
on Chrome OS.
</summary>
</histogram>
<histogram name="PowerBookmarks.BookmarkManager.PriceTrackingEnabled"
enum="PriceTrackingState" expires_after="2023-01-24">
<owner>wylieb@chromium.org</owner>
<owner>chrome-collections@google.com</owner>
<summary>
Tracks the interactions with the price-tracking toggle present when viewing
previously saved products.
</summary>
</histogram>
<histogram name="PowerBookmarks.BookmarkSaveFlow.PriceTrackingEnabled"
enum="PriceTrackingState" expires_after="2023-01-24">
<owner>wylieb@chromium.org</owner>
<owner>chrome-collections@google.com</owner>
<summary>
Tracks the interactions with the price-tracking toggle present when
initially saving products.
</summary>
</histogram>
<histogram name="PrefetchedSignedExchangeCache.BodySize" units="bytes"
expires_after="2022-04-24">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The body size of each prefetched signed exchanges in
PrefetchedSignedExchangeCache which is attached to a frame. Recorded when
the frame is deleted or is navigated to different document.
</summary>
</histogram>
<histogram name="PrefetchedSignedExchangeCache.BodySizeTotal" units="bytes"
expires_after="2022-05-01">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The total body size of prefetched signed exchanges in
PrefetchedSignedExchangeCache which is attached to a frame. This metric is
recorded when the frame is deleted or is navigated to different document.
This is not recorded when there is no prefetched signed exchanges.
</summary>
</histogram>
<histogram name="PrefetchedSignedExchangeCache.Count" units="count"
expires_after="2022-05-01">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The number of prefetched signed exchanges in PrefetchedSignedExchangeCache
which is attached to a frame. This metric is recorded when the frame is
deleted or is navigated to different document. This is not recorded when
there is no prefetched signed exchanges.
</summary>
</histogram>
<histogram name="PrefetchedSignedExchangeCache.HeadersSizeTotal" units="bytes"
expires_after="2022-05-01">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The total headers size of prefetched signed exchanges including outer
response headers and inner response headers in PrefetchedSignedExchangeCache
which is attached to a frame. This metric is recorded when the frame is
deleted or is navigated to different document. This is not recorded when
there is no prefetched signed exchanges.
</summary>
</histogram>
<histogram name="PrefService.PersistentLogRecallProtobufs"
enum="PersistedLogsLogReadStatus" expires_after="M77">
<obsolete>
Expired in M77, later removed.
</obsolete>
<owner>holte@chromium.org</owner>
<summary>The status when loading PersistedLogs from Prefs.</summary>
</histogram>
<histogram name="PrefService.ReadError" enum="PrefServiceReadError"
expires_after="M81">
<owner>csharp@chromium.org</owner>
<summary>
Enumeration of errors that happened when reading Preferences files.
</summary>
</histogram>
<histogram name="Previews.CacheControlNoTransform.BlockedPreview"
enum="PreviewsType" expires_after="2021-08-09">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>sophiechang@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Blocked previews due to Cache-Control:no-transform directive.
</summary>
</histogram>
<histogram name="Previews.ContentLength" units="KB" expires_after="M85">
<obsolete>
Not even logged by code. Obsolete in 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The actual data used for a page load using a preview optimization.
</summary>
</histogram>
<histogram name="Previews.DataInflation" units="KB" expires_after="M85">
<obsolete>
Not even logged by code. Obsolete in 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated amount that the content was inflated for a page load using a
previews optimization. Recorded when a page load using a previews
optimization inflates the data used.
</summary>
</histogram>
<histogram name="Previews.DataInflationPercent" units="%" expires_after="M85">
<obsolete>
Not even logged by code. Obsolete in 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated percent of data used that a page load would have otherwise
cost for a page load using a previews optimization. Recorded when a page
load using a previews optimization inflates the data used.
</summary>
</histogram>
<histogram name="Previews.DataSavings" units="KB" expires_after="M85">
<obsolete>
Obsolete as of 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated data savings for a page load using a previews optimization.
Recorded when a page load using a previews optimization reduces the data
used.
</summary>
</histogram>
<histogram name="Previews.DataSavingsPercent" units="%" expires_after="M85">
<obsolete>
Obsolete as of 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated percent of data savings for a page load using a previews
optimization. Recorded when a page load using a previews optimization
reduces the data used.
</summary>
</histogram>
<histogram name="Previews.DeferAllScript.DenyListMatch" enum="BooleanDetected"
expires_after="2020-10-18">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
Records true when a URL matches the regex of denylist. Recorded at the time
of navigation commit.
</summary>
</histogram>
<histogram name="Previews.DeferAllScript.RedirectLoopDetectedUsingCache"
enum="BooleanDetected" expires_after="2020-09-27">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
Records true when a redirect loop is detected when defer all script is in
use. Recorded at the time of navigation commit.
</summary>
</histogram>
<histogram name="Previews.EligibilityReason" enum="PreviewsEligibilityReason"
expires_after="2021-07-11">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
When evaluating whether to show a user a preview, the preview might be
disallowed for various reasons. If the preview is disallowed, then this
reports the reason for disallowing it. If the preview is allowed, then this
generally reports &quot;Previews Allowed&quot;. It may instead report
&quot;Previews Allowed without server rule check&quot; for a preview that
expects to check server rules but they are not enabled. Recorded throughout
navigation at the beginning of each navigation, after each redirect, and
during commit.
</summary>
</histogram>
<histogram name="Previews.LitePageNotificationInfoBar"
enum="PreviewsLitePageInfoBarAction" expires_after="2021-08-09">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>src/components/data_reduction_proxy/OWNERS</owner>
<summary>
User interactions with the HTTPS Server Previews notification InfoBar.
</summary>
</histogram>
<histogram name="Previews.OmniboxAction" enum="PreviewsUserOmniboxAction"
expires_after="2021-08-09">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<summary>User interactions with the Previews Android Omnibox UI.</summary>
</histogram>
<histogram name="Previews.OptOut.UserOptedOut" enum="PreviewsUserOptedOut"
expires_after="2021-03-31">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>sophiechang@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Whether the user chose to reload the original page when shown a preview.
</summary>
</histogram>
<histogram name="Previews.OriginalContentLength" units="KB" expires_after="M85">
<obsolete>
Not even logged by code. Obsolete in 09/2020.
</obsolete>
<owner>ryansturm@chromium.org</owner>
<summary>
The estimated content length of a page load using a preview optimization.
</summary>
</histogram>
<histogram name="Previews.PageEndReason" enum="PageEndReason"
expires_after="2021-08-09">
<obsolete>
Obsoleted 02/2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<summary>Records why the page load ended on a given preview type.</summary>
</histogram>
<histogram name="Previews.Triggered.EffectiveConnectionType2"
enum="NQEEffectiveConnectionType" expires_after="2020-12-12">
<obsolete>
Obsolete as of 11/2020.
</obsolete>
<owner>dougarnett@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the effective connection type of a navigation that triggers a
preview. This is captured at commit time but uses the effective connection
type from the beginning of the navigation.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.CookieDomainCount" units="units"
expires_after="2022-01-30">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
The number of unique cookie domains for which accesses has been recorded for
in the Access Context Audit database. Logged on initialization of the Access
Context Audit DB on 1% of starts.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.DatabaseSize" units="KiB"
expires_after="2022-01-30">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
Size of the Access Context Audit database file in KiB. Determined by
directly inspecting the database file. Logged on initialization of the
Access Context Audit DB on 1% of starts.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.RecordCount" units="units"
expires_after="2022-01-30">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
The total number of access records stored in the Access Context Audit
database. Logged on initialization of the Acceess Context Audit DB on 1% of
starts.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.StorageOriginCount" units="units"
expires_after="2022-01-30">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
The number of unique origins associated with origin keyed storage APIs
recorded in the Access Context Audit database. Logged on initialization of
the Access Context Audit DB on 1% of starts.
</summary>
</histogram>
<histogram name="Privacy.AccessContextAudit.TopFrameOriginCount" units="units"
expires_after="2022-01-30">
<owner>msramek@chromium.org</owner>
<owner>sauski@google.com</owner>
<summary>
The number of unique top frame origins for which access to storage APIs has
been recorded in the Access Context Audit database. Logged on initialization
of the Acceess Context Audit DB on 1% of starts.
</summary>
</histogram>
<histogram name="Privacy.AccuracyTip.AccuracyTipInteraction"
enum="AccuracyTipInteraction" expires_after="2022-06-19">
<owner>dullweber@chromium.org</owner>
<owner>eokoyomon@chromium.org</owner>
<summary>
The interaction performed on the accuracy tip UI. Recorded when UI is
closed.
</summary>
</histogram>
<histogram name="Privacy.AccuracyTip.AccuracyTipTimeOpen" units="ms"
expires_after="M100">
<owner>dullweber@chromium.org</owner>
<owner>eokoyomon@chromium.org</owner>
<summary>
The amount of time the accuracy tip UI was shown. Recorded when UI is
closed.
</summary>
</histogram>
<histogram name="Privacy.AccuracyTip.NumDialogsShown" units="dialogs"
expires_after="2022-06-26">
<owner>dullweber@chromium.org</owner>
<owner>eokoyomon@chromium.org</owner>
<summary>
The number of accuracy tip dialogs that have been shown to the user.
Recorded when UI is closed.
</summary>
</histogram>
<histogram name="Privacy.AccuracyTip.PageStatus" enum="AccuracyTipStatus"
expires_after="2022-06-05">
<owner>dullweber@chromium.org</owner>
<owner>eokoyomon@chromium.org</owner>
<summary>The accuracy status of a page. Recorded on each page load.</summary>
</histogram>
<histogram name="Privacy.ClearOnExitSyncEvent" enum="ClearOnExitSyncEvent"
expires_after="M103">
<owner>sauski@google.com</owner>
<owner>chrome-friendly-settings@google.com</owner>
<summary>
Interactions between sync and the cookies clear on exit setting. Only
recorded when the user has cookies clear on exit enabled.
</summary>
</histogram>
<histogram name="Privacy.ConsentAuditor.ConsentGiven.Feature"
enum="ConsentAuditorFeature" expires_after="M85">
<owner>markusheintz@google.com</owner>
<owner>msramek@google.com</owner>
<summary>
Logged each time the user grants a consent for a feature integrated with the
consent auditor. The value indicates which feature.
</summary>
</histogram>
<histogram name="Privacy.ConsentAuditor.ConsentNotGiven.Feature"
enum="ConsentAuditorFeature" expires_after="M85">
<owner>markusheintz@google.com</owner>
<owner>msramek@google.com</owner>
<summary>
Logged each time the user denies or revokes a consent for a feature
integrated with the consent auditor. The value indicates which feature.
</summary>
</histogram>
<histogram name="Privacy.CookieControlsSetting" enum="CookieControlsMode"
expires_after="never">
<!-- expires-never: tracked as an important privacy metric. -->
<owner>dullweber@chromium.org</owner>
<owner>huanzhong@chromium.org</owner>
<summary>
Whether third-party cookies are blocked in incognito mode or completely.
Recorded at the Profile startup. In case that &quot;Block all cookies&quot;
is selected in settings, this metric records BlockThirdParty.
</summary>
</histogram>
<histogram name="Privacy.DoNotTrackSetting" enum="BooleanEnabled"
expires_after="never">
<!-- expires-never: tracked as an important privacy metric. -->
<owner>mkwst@chromium.org</owner>
<owner>msramek@chromium.org</owner>
<summary>
Whether the Do Not Track setting is enabled. Recorded at the Profile
startup.
</summary>
</histogram>
<histogram name="Privacy.ThirdPartyCookieBlockingEnabledForSite" enum="Boolean"
expires_after="2022-04-10">
<obsolete>
Removed in M96. Replaced by
Navigation.MainFrame.ThirdPartyCookieBlockingEnabled.
</obsolete>
<owner>dullweber@chromium.org</owner>
<owner>huanzhong@chromium.org</owner>
<summary>
Records whether third party cookie blocking was enabled for a site on page
load. Only recorded for users who enabled the cookie controls ui.
</summary>
</histogram>
<histogram name="Privacy.ThirdPartyCookieBlockingSetting" enum="BooleanEnabled"
expires_after="never">
<!-- expires-never: tracked as an important privacy metric. -->
<owner>mkwst@chromium.org</owner>
<owner>msramek@chromium.org</owner>
<owner>dullweber@chromium.org</owner>
<summary>
Whether the third party cookie blocking setting is enabled. Recorded at the
Profile startup.
Previously recorded as the &quot;ThirdPartyCookieBlockingEnabled&quot; and
&quot;ThirdPartyCookieBlockingDisabled&quot; actions.
</summary>
</histogram>
<histogram name="PrivacySandbox.AggregationService.ReportStatus"
enum="PrivacySandboxAggregationServiceReportStatus"
expires_after="2022-07-16">
<owner>alexmt@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records the high level request status of each aggregatable report. These
reports are requested by APIs that rely on private, secure aggregation (e.g.
Attribution Reporting API).
Recorded for every aggregatable report sent. It might retry in case of
failure but only the final status will be counted for each report.
</summary>
</histogram>
<histogram name="PrivacySandbox.AggregationService.Storage.Sql.InitStatus"
enum="PrivacySandboxAggregationServiceStorageSqlInitStatus"
expires_after="2022-07-16">
<owner>alexmt@chromium.org</owner>
<owner>linnan@chromium.org</owner>
<summary>
Records initialization statuses of AggregationServiceStorageSql. Note:
currently AggregationServiceStorageSql is initialized lazily.
</summary>
</histogram>
<histogram name="Process.Sandbox.Launch.Error" enum="WinGetLastError"
expires_after="never">
<!-- expires-never: metric needed for diagnosing sandbox issues. -->
<owner>forshaw@chromium.org</owner>
<owner>wfh@chromium.org</owner>
<summary>
Errors returned while launching sandboxed process on Windows. For decoding
error code please refer to http://goo.gl/fJJiAv.
</summary>
</histogram>
<histogram name="Process.Sandbox.Launch.Warning" enum="WinGetLastError"
expires_after="2021-01-02">
<owner>forshaw@chromium.org</owner>
<owner>wfh@chromium.org</owner>
<summary>
Warnings returned while launching sandboxed process on Windows. For decoding
error code please refer to http://goo.gl/fJJiAv. This will only be logged
when SpawnTarget succeeds with SBOX_ALL_OK but the last warning result does
not equal SBOX_ALL_OK.
</summary>
</histogram>
<histogram name="Process.Sandbox.Launch.WarningResultCode"
units="LaunchErrorCodes" expires_after="2021-01-02">
<owner>forshaw@chromium.org</owner>
<owner>wfh@chromium.org</owner>
<summary>
The warning launch error returned while launching sandboxed process on
Windows. This will only be logged when SpawnTarget succeeds with SBOX_ALL_OK
but the last warning result does not equal SBOX_ALL_OK.
</summary>
</histogram>
<histogram name="Process.Sandbox.Lowbox.Launch.Error" enum="WinGetLastError"
expires_after="M85">
<owner>shrikant@chromium.org</owner>
<summary>
Errors returned while launching lowbox enabled sandboxed process on Windows.
For decoding error code please refer to http://goo.gl/fJJiAv.
</summary>
</histogram>
<histogram name="ProxyOverriddenBubble.UserSelection"
units="ExtensionBubbleAction" expires_after="2020-12-31">
<obsolete>
Code removed 2021/06.
</obsolete>
<owner>rdevlin.cronin@chromium.org</owner>
<summary>
The action taken by the user when the &quot;proxy overridden&quot; extension
warning bubble is shown. Logged immediately after the action is taken.
</summary>
</histogram>
<histogram base="true" name="PurgeAndSuspend.Experimental.MemoryGrowth"
units="KB" expires_after="M81">
<!-- Name completed by histogram_suffixes name="PurgeAndSuspendExperiment" -->
<owner>tasak@google.com</owner>
<summary>
The growth of the background renderer's memory usage after a background
renderer is purged. This is recorded 5, 10 and 15 minutes after the purge.
</summary>
</histogram>
<histogram name="PurgeAndSuspend.Experimental.TimeToFirstActivePaint"
units="ms" expires_after="M81">
<obsolete>
Removed 2020-10.
</obsolete>
<owner>tasak@google.com</owner>
<summary>
Time elapsed from when the backgrounded and purged renderer is foregrounded
until the renderer is painted. This is recorded every time the backgrounded
and purged renderer is foregrounded.
</summary>
</histogram>
<histogram
name="PurgeAndSuspend.Experimental.TimeToFirstActivePaint.AfterBackgrounded.5min"
units="ms" expires_after="M81">
<obsolete>
Removed 2020-10.
</obsolete>
<owner>tasak@google.com</owner>
<summary>
Time elapsed from when the renderer, which is kept backgrounded for more
than 5 minutes, is foregrounded until the renderer is painted. This is
recorded every time such renderer is foregrounded.
</summary>
</histogram>
<histogram name="PushMessaging.BackgroundBudget" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
Whenever a Service Worker receives a push message, this records the budget
available to the service worker, which is an internal Chrome value for the
amount of background processing a service worker is allowed to do without
visibly alerting the user. Scale for the budget is 0 to 100.
</summary>
</histogram>
<histogram name="PushMessaging.CheckOriginForAbuseTime" units="ms"
expires_after="2022-06-19">
<owner>knollr@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Time from receiving a push message until we checked its origin against
SafeBrowsing. Logged for each received message after the origin abuse check
completes if the origin has notification permissions.
</summary>
</histogram>
<histogram name="PushMessaging.DeliverQueuedMessageTime" units="ms"
expires_after="2022-06-19">
<owner>knollr@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Time from receiving a push message until just before firing the push event
on the Service Worker registration. This might be delayed when a Service
Worker receives multiple messages in a short period as they are handled in
series. Logged just before firing the push event for a message.
</summary>
</histogram>
<histogram name="PushMessaging.DeliveryStatus" enum="PushEventStatus"
expires_after="2022-06-12">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a Service Worker receives a push message, this records whether the
overall operation was successful, or otherwise the type of error
encountered.
</summary>
</histogram>
<histogram name="PushMessaging.DeliveryStatus.FindServiceWorker"
enum="ServiceWorkerStatusCode" expires_after="M98">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When attempting to deliver a push message to a Service Worker, this records
the result of finding the Service Worker registration given its ID and
origin.
</summary>
</histogram>
<histogram name="PushMessaging.DeliveryStatus.ServiceWorkerEvent"
enum="ServiceWorkerStatusCode" expires_after="M98">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a Service Worker receives a push message, this records the precise
result received from the Service Worker code.
</summary>
</histogram>
<histogram name="PushMessaging.GetRegistrationStatus"
enum="PushGetRegistrationStatus" expires_after="2022-06-26">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a webpage asks for details about its current push messaging
registration, this records whether the request is successful, or otherwise
the type of error encountered.
</summary>
</histogram>
<histogram name="PushMessaging.MessageHandledTime" units="ms"
expires_after="2022-04-24">
<owner>knollr@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Time from receiving a push message until we finished handling it. This
includes the time spent in the Service Worker to handle the push event.
Logged after the push event has been handled.
</summary>
</histogram>
<histogram name="PushMessaging.PushSubscriptionChangeStatus"
enum="PushEventStatus" expires_after="M98">
<owner>peter@chromium.org</owner>
<owner>rayankans@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a Service Worker receives a pushsubscriptionchange event, this records
whether the overall operation was successful, or otherwise the type of error
encountered.
</summary>
</histogram>
<histogram name="PushMessaging.ReceivedMessageInBackground" enum="Boolean"
expires_after="M98">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
Whenever a Service Worker receives a push message, this records whether
Chrome is completely running in the background. A successful report means
that the message was received when Chrome was in complete background mode,
without UI, while a failure means it was in some other state: in background
with some apps running, showing browser windows, etc.
</summary>
</histogram>
<histogram name="PushMessaging.RegistrationStatus"
enum="PushRegistrationStatus" expires_after="2022-06-19">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a webpage registers for push messaging, this records whether the
request is successful, or otherwise the type of error encountered.
</summary>
</histogram>
<histogram name="PushMessaging.SESForLowBudgetOrigin" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
When a Service Worker hits low budget when servicing a push message, this
records what the Site Engagement Service score is at that time.
</summary>
</histogram>
<histogram name="PushMessaging.SESForNoBudgetOrigin" units="units"
expires_after="2018-08-30">
<owner>peter@chromium.org</owner>
<summary>
When a Service Worker hits zero budget when servicing a push message, this
records what the Site Engagement Service score is at that time.
</summary>
</histogram>
<histogram name="PushMessaging.TimeToReadPersistedMessages" units="ms"
expires_after="M98">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a message arrives for a lazy subscription and Chrome isn't in the
foreground, it is persisted on disk until next time Chrome is in the
foreground. This histogram measures the time spent in reading and replaying
persisted messages when Chrome goes to the foreground.
</summary>
</histogram>
<histogram name="PushMessaging.UnregistrationGCMResult" enum="GCMClientResult"
expires_after="2022-04-24">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When unregistering a legacy non-InstanceID push messaging subscription, this
records the result returned by the GCMDriver (note that exceeding the
maximum number of retries due to network errors is logged as SERVER_ERROR).
</summary>
</histogram>
<histogram name="PushMessaging.UnregistrationIIDResult" enum="InstanceIDResult"
expires_after="2022-04-24">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When unregistering an InstanceID push messaging subscription, this records
the result returned from deleting the InstanceID (note that exceeding the
maximum number of retries due to network errors is logged as SERVER_ERROR).
</summary>
</histogram>
<histogram name="PushMessaging.UnregistrationReason"
enum="PushUnregistrationReason" expires_after="2022-06-26">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When unregistering a website from push messaging, this records the reason
why it is being unregistered.
</summary>
</histogram>
<histogram name="PushMessaging.UnregistrationStatus"
enum="PushUnregistrationStatus" expires_after="2022-07-03">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When unregistering a website from push messaging, this records whether the
request is successful, or otherwise the type of error encountered.
</summary>
</histogram>
<histogram name="PushMessaging.UserVisibleStatus" enum="PushUserVisibleStatus"
expires_after="2022-06-19">
<owner>peter@chromium.org</owner>
<owner>knollr@chromium.org</owner>
<summary>
When a Service Worker receives a push message, this records whether it
showed user-visible UX (like a notification), or whether we showed a forced
notification on its behalf.
</summary>
</histogram>
<histogram name="PushMessaging.VisibleNotificationCount" units="notifications"
expires_after="M98">
<owner>knollr@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Records the number of visible notifications for a Service Worker when it
receives a push message. Counted and recorded after handling the push event.
</summary>
</histogram>
<histogram name="Rappor.DailyEvent.IntervalType" enum="DailyEventIntervalType"
expires_after="M85">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>Counts how often daily interval events were fired.</summary>
</histogram>
<histogram name="Rappor.DiscardReason" enum="RapporDiscardReason"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>
For each Rappor log that is discarded, the reason that it was discarded.
</summary>
</histogram>
<histogram name="Rappor.FailedUploadErrorCode" enum="NetErrorCodes"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>Net error codes for failed Rappor uploads.</summary>
</histogram>
<histogram name="Rappor.LoadCohortResult" enum="RapporLoadResultType"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>
Success or errors encountered when loading Rappor cohort pref.
</summary>
</histogram>
<histogram name="Rappor.LoadSecretResult" enum="RapporLoadResultType"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>
Success or errors encountered when loading Rappor secret pref.
</summary>
</histogram>
<histogram name="Rappor.UploadResponseCode" enum="HttpResponseCode"
expires_after="M77">
<obsolete>
Removed in M90
</obsolete>
<owner>holte@chromium.org</owner>
<summary>
For each upload to the Rappor server, log the response received from the
server.
</summary>
</histogram>
<histogram name="ReadingList.BookmarkBarState.On{Frequency}AddToReadingList"
enum="BookmarkBarState" expires_after="2022-02-20">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The state of the bookmark bar recorded {Frequency} a user adds to the
reading list. (Desktop only).
</summary>
<token key="Frequency">
<variant name="Every" summary="every time"/>
<variant name="First" summary="the first time"/>
</token>
</histogram>
<histogram name="ReadingList.ContextMenu" enum="ReadingListContextMenuActions"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
The action chosen by the user after displaying the reading list context
menu.
</summary>
</histogram>
<histogram name="ReadingList.Download.Failures" units="count"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
Number of tries before the download of the entry is successful.
</summary>
</histogram>
<histogram name="ReadingList.Download.Status" enum="ReadingListDownloadStatus"
expires_after="2022-06-05">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>Final status of the download of a reading list entry.</summary>
</histogram>
<histogram name="ReadingList.FirstReadAgeOnDeletion" units="hours"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
Time since the first read of the reading list entry getting deleted. 0 if it
has never been read.
</summary>
</histogram>
<histogram name="ReadingList.OfflineVersionDisplayed" enum="Boolean"
expires_after="2022-05-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>Whether the displayed version is the offline one.</summary>
</histogram>
<histogram name="ReadingList.Read.AgeOnDeletion" units="hours"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
Time since the creation of the read reading list entry getting deleted.
</summary>
</histogram>
<histogram name="ReadingList.Read.AgeOnFirstRead" units="hours"
expires_after="2022-06-15">
<owner>thegreenfrog@chromium.org</owner>
<owner>olivierrobin@google.com</owner>
<summary>
Time since the creation of the read reading list entry being read for the
first time.
</summary>
</histogram>
<histogram name="ReadingList.Read.Number" units="count"
expires_after="2022-05-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>Number of read entries in reading list.</summary>
</histogram>
<histogram name="ReadingList.SyncStateMatchesBookmarks" enum="BooleanMatched"
expires_after="2022-02-20">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
Records whether the reading list and bookmarks sync states match on startup
when not in Incognito or guest mode (Desktop only).
</summary>
</histogram>
<histogram name="ReadingList.Unread.AgeOnDeletion" units="hours"
expires_after="2022-03-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>
Time since the creation of the unread reading list entry getting deleted.
</summary>
</histogram>
<histogram name="ReadingList.Unread.Number" units="count"
expires_after="2022-05-15">
<owner>gambard@chromium.org</owner>
<owner>bling-team@google.com</owner>
<summary>Number of unread entries in reading list.</summary>
</histogram>
<histogram name="ReadingList.WebUI.InitialEntriesRenderTime" units="ms"
expires_after="2022-02-20">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
Records the time taken to load the Read Later WebUI and render (at least)
the initial list of entries. This is roughly equivalent to 'time to first
meaningful paint' for the Read Later UI.
</summary>
</histogram>
<histogram name="ReadingList.WebUI.LoadCompletedTime" units="ms"
expires_after="2022-06-26">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The amount of time between the render frame host StartProvisionalLoad event
and the render frame DocumentOnLoadCompleted event for the Read Later WebUI
page.
</summary>
</histogram>
<histogram name="ReadingList.WebUI.LoadDocumentTime" units="ms"
expires_after="2022-06-26">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The amount of time between the render frame host StartProvisionalLoad and
DidFinishDocumentLoad events for the Read Later WebUI page.
</summary>
</histogram>
<histogram name="ReadingList.WebUI.ReadingListDataReceived" units="ms"
expires_after="2021-08-15">
<obsolete>
Deprecated as of 2021/02. Metric is no longer needed.
</obsolete>
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The time taken for the WebUI in the renderer to receive the full list of
entries for the current user profile. This is measured as the time from when
the data was first requested by the WebUI to when the data was received by
the WebUI.
</summary>
</histogram>
<histogram name="ReadingList.WindowDisplayedDuration" units="ms"
expires_after="2022-06-19">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
Records the amount of time between when a reading list bubble is opened and
when it is closed. It does so by recording the difference in time between
when the the hosting WebUIBubbleDialogView's Widget is first created and
when the widget is destroyed. This is logged on Desktop only.
</summary>
</histogram>
<histogram name="ReadingList.{ReadStatus}.Count.{Variation}" units="count"
expires_after="2022-02-20">
<owner>corising@chromium.org</owner>
<owner>chrome-desktop-ui-sea@google.com</owner>
<summary>
The number of {ReadStatus} items in the reading list. Recorded {Variation}.
</summary>
<token key="ReadStatus">
<variant name="Read" summary="read"/>
<variant name="Unread" summary="unread"/>
</token>
<token key="Variation">
<variant name="OnModelLoaded"
summary="when the reading list model is loaded"/>
<variant name="OnUMAUpload" summary="every UMA upload"/>
</token>
</histogram>
<histogram name="RecoveryComponent.Event" enum="RecoveryComponentEvent"
expires_after="M77">
<owner>robertshield@chromium.org</owner>
<summary>Log each stage of a recovery component event.</summary>
</histogram>
<histogram base="true" name="RecurrenceRanker.InitializationStatus"
enum="RecurrenceRankerInitializationStatus" expires_after="2021-02-01">
<obsolete>
Removed January 2021.
</obsolete>
<!-- Name completed by histogram_suffixes
name="RecurrenceRankerModel" -->
<owner>tby@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
Records situations that can occur during the configuration and
initialization of a RecurrenceRanker.
</summary>
</histogram>
<histogram base="true" name="RecurrenceRanker.JsonConfigConversionStatus"
enum="BooleanSuccess" expires_after="2021-02-01">
<obsolete>
Removed January 2021.
</obsolete>
<!-- Name completed by histogram_suffixes
name="RecurrenceRankerModel" -->
<owner>tby@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
Whether the conversion of a JSON config for a RecurrenceRanker succeeded for
failed.
</summary>
</histogram>
<histogram base="true" name="RecurrenceRanker.SerializationStatus"
enum="RecurrenceRankerSerializationStatus" expires_after="2021-02-01">
<obsolete>
Removed January 2021.
</obsolete>
<!-- Name completed by histogram_suffixes
name="RecurrenceRankerModel" -->
<owner>tby@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
Reports the result of a save or load of a RecurrenceRanker model.
</summary>
</histogram>
<histogram base="true" name="RecurrenceRanker.Usage"
enum="RecurrenceRankerUsage" expires_after="2021-02-01">
<obsolete>
Removed January 2021.
</obsolete>
<!-- Name completed by histogram_suffixes
name="RecurrenceRankerModel" -->
<owner>tby@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
Reports when the functions of a RecurrenceRanker model are used.
</summary>
</histogram>
<histogram base="true" name="RelaunchNotification.ShowResult"
enum="RelaunchNotificationShowResult" expires_after="2021-06-20">
<obsolete>
Removed in M90.
</obsolete>
<owner>ayaelattar@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>
The result of an attempt to show a relaunch notification dialog.
</summary>
</histogram>
<histogram name="RenderFrameHostImpl.DroppedInterfaceRequestName"
enum="RenderFrameHostImpl.InterfaceNames" expires_after="M85">
<obsolete>
Removed in January 2022.
</obsolete>
<owner>engedy@chromium.org</owner>
<summary>
For each load and dropped Mojo interface request in a frame, records a
sample with a value corresponding to the hash of the interface name,
calculated as the lower 31 bits of the interface name's metric name hash.
Interface requests to RenderFrame::GetRemoteInterfaces are dropped when they
arrive to the RenderFrameHostImpl after the RenderFrameHostImpl had already
committed the next cross-document navigation.
This means that |document_scoped_interface_provider_binding_| was already
unbound at the time from the interface connection that had been used to
service RenderFrame::GetRemoteInterface for the previous load, so those
interface requests are dropped.
</summary>
</histogram>
<histogram name="RenderFrameHostImpl.DroppedInterfaceRequests" units="count"
expires_after="M85">
<obsolete>
Removed in January 2022.
</obsolete>
<owner>engedy@chromium.org</owner>
<summary>
For each load in a frame, records the number of interface requests to
RenderFrame::GetRemoteInterfaces that arrived to the RenderFrameHostImpl
after the RFHI had already committed the next cross-document navigation.
This means that |document_scoped_interface_provider_binding_| was already
unbound at the time from the interface connection that had been used to
service RenderFrame::GetRemoteInterface for the previous load, so those
interface requests are dropped. This histogram measures how often, if at
all, that happens in practice.
</summary>
</histogram>
<histogram name="RenderTextHarfBuzz.GetFallbackFontsTime" units="ms"
expires_after="2022-07-14">
<owner>ccameron@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
Time retrieve the fallback fonts on the system used for
RenderTextHarfBuzz::ShapeRuns. This metric is known to be quite slow on bad
cases.
</summary>
</histogram>
<histogram name="RenderTextHarfBuzz.GetFallbackFontTime" units="ms"
expires_after="2022-07-14">
<owner>ccameron@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
Time retrieve the preferred fallback font on the system used for
RenderTextHarfBuzz::ShapeRuns. Fallback font is determined based on the
input text and locale.
</summary>
</histogram>
<histogram name="RenderTextHarfBuzz.ShapeRunsFallback" enum="ShapeRunFallback"
expires_after="2022-07-14">
<owner>ccameron@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
This metric records the fallback font mechanism required to complete the
shaping of a text.
</summary>
</histogram>
<histogram name="RenderTextHarfBuzz.ShapeRunsWithFallbackFontsTime" units="ms"
expires_after="2022-07-14">
<owner>ccameron@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<summary>
Time to perform RenderTextHarfBuzz::ShapeRuns with retrieved the fallback
fonts. This metric is known to be quite slow on bad cases.
</summary>
</histogram>
<histogram name="RenderViewContextMenu.Shown" enum="RenderViewContextMenuItem"
expires_after="2022-04-17">
<owner>avi@chromium.org</owner>
<owner>edwardjung@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<summary>Count of renderer view context menu items shown.</summary>
</histogram>
<histogram name="RenderViewContextMenu.Used" enum="RenderViewContextMenuItem"
expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
<owner>avi@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
Count of renderer view context menu items (Only commands now) used.
The user action RenderViewContextMenu.Used.IDC_CONTENT_CONTEXT_SEARCHWEBFOR
is also logged in case that IDC_CONTENT_CONTEXT_SEARCHWEBFOR is logged to
this histogram.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram name="ReportingAndNEL.BackingStoreUpdateOutcome"
enum="NetReportingAndNelBackingStoreUpdateOutcome"
expires_after="2020-09-09">
<owner>yhirano@chromium.org</owner>
<owner>src/net/reporting/OWNERS</owner>
<summary>
The outcome of updating the backing store. This is recorded whenever a batch
of pending operations is committed to the backing store. Success occurs when
all operations are committed successfully. Trouble is recorded when some
operations are unsuccessful but committing the batch succeeds. Failure is
recorded when the commit fails.
</summary>
</histogram>
<histogram name="ReportingAndNEL.CorruptMetaTable" units="units"
expires_after="2021-06-25">
<obsolete>
Removed June 2021 in favor of a local histogram. See
Net.SQLite.CorruptMetaTableRecovered (which is a local histogram only logged
to, and viewable from, chrome://histograms).
</obsolete>
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
Records the detection of a corrupted meta table for the Reporting and NEL
DB. This is recorded when database migration fails to update the database to
the current version.
</summary>
</histogram>
<histogram name="ReportingAndNEL.CorruptMetaTableRecoveryFailed" units="units"
expires_after="2021-06-25">
<obsolete>
Removed June 2021 in favor of a local histogram. See
Net.SQLite.CorruptMetaTableRecovered (which is a local histogram only logged
to, and viewable from, chrome://histograms).
</obsolete>
<owner>chlily@chromium.org</owner>
<owner>sburnett@chromium.org</owner>
<summary>
Records a failure to recover a corrupted meta table for the Reporting and
NEL DB. This is recorded when a corrupt meta table is detected (see
ReportingAndNEL.CorruptMetaTable), and attempting to recover by deleting and
reinitializing the database fails.
</summary>
</histogram>
<histogram name="ReportingAndNEL.InitializeDBOutcome"
enum="NetReportingAndNelInitializeDbOutcome" expires_after="2020-09-09">
<owner>yhirano@chromium.org</owner>
<owner>src/net/reporting/OWNERS</owner>
<summary>
The outcome of initializing the SQLite database. This is recorded upon the
first load request after startup, which will typically occur upon the first
network request.
</summary>
</histogram>
<histogram name="ReportingAndNEL.KillDatabaseResult" enum="BooleanSuccess"
expires_after="2020-09-09">
<owner>yhirano@chromium.org</owner>
<owner>src/net/reporting/OWNERS</owner>
<summary>
Whether killing the database because it was corrupted beyond repair
succeeded. This is recorded when a fatal SQLite error is detected.
</summary>
</histogram>
<histogram name="ReportingAndNEL.NumberOfLoadedNELPolicies"
units="policy count" expires_after="2020-09-09">
<owner>yhirano@chromium.org</owner>
<owner>src/net/reporting/OWNERS</owner>
<summary>
The number of NEL policies loaded from the store. This is recorded when the
NetworkErrorLoggingService requests a load from the backing store, which
typically happens upon the first network request after startup.
</summary>
</histogram>
<histogram name="ReportingAndNEL.NumberOfLoadedReportingEndpointGroups"
units="endpoint group count" expires_after="2020-09-09">
<owner>yhirano@chromium.org</owner>
<owner>src/net/reporting/OWNERS</owner>
<summary>
The number of Reporting endpoint groups loaded from the store. This is
recorded when the ReportingCache requests a load from the backing store,
which happens upon receipt of the first Report-To header or queued report
after startup.
</summary>
</histogram>
<histogram name="ReportingAndNEL.NumberOfLoadedReportingEndpoints"
units="endpoint count" expires_after="2020-09-09">
<owner>yhirano@chromium.org</owner>
<owner>src/net/reporting/OWNERS</owner>
<summary>
The number of Reporting endpoints loaded from the store. This is recorded
when the ReportingCache requests a load from the backing store, which
happens upon receipt of the first Report-To header or queued report after
startup.
</summary>
</histogram>
<histogram name="ReportingAndNEL.TimeInitializeDB" units="ms"
expires_after="2020-09-09">
<obsolete>
Removed Jan 2022: no longer needed and expired.
</obsolete>
<owner>yhirano@chromium.org</owner>
<owner>src/net/reporting/OWNERS</owner>
<summary>
The time (ms) taken to initialize the Reporting and NEL DB. This is recorded
when the DB is initialized, which typically occurs upon the first network
request after startup.
</summary>
</histogram>
<histogram name="Reset.ChromeOS.PowerwashDialogShown"
enum="PowerwashDialogViewType" expires_after="M77">
<owner>merkulova@chromium.org</owner>
<summary>
Records the number of times the factory reset dialog was shown. Grouped by
the viewtype.
</summary>
</histogram>
<histogram name="ResourceLoadingHints.ResourceLoadingBlocked"
units="loading blocked" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
Records if the loading of a resource was blocked because the resource URL
matched the resource loading hints. Recorded every time a resource load is
requested.
</summary>
</histogram>
<histogram
name="ResourceLoadingHints.ResourceLoadingBlocked.ResourceLoadPriority.Allowed"
enum="WebURLRequestPriority" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
Records the resource load priority of a resource when its loading is not
blocked due to the resource loading hints. Recorded every time a resource
load is requested, and the load is not blocked due to the resource loading
hints.
</summary>
</histogram>
<histogram
name="ResourceLoadingHints.ResourceLoadingBlocked.ResourceLoadPriority.Blocked"
enum="WebURLRequestPriority" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<summary>
Records the resource load priority of a resource when its loading is blocked
due to the resource loading hints. Recorded every time a resource load is
requested and the resource load is blocked because the resource URL matched
the resource loading hints.
</summary>
</histogram>
<histogram
name="ResourceLoadingHints.ResourcePatternsAvailableAtCommitForRedirect"
enum="BooleanAvailable" expires_after="M85">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
Records if the resource patterns were available at the time of page commit
if the committed previews type was RESOURCE_LOADING_HINTS and the navigation
was redirected. This is a subset of the ResourcePatternsAvailableAtCommit
histogram.
</summary>
</histogram>
<histogram name="ResourceScheduler.ActiveSchedulerClientsCount" units="clients"
expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<summary>
The number of active resource scheduler clients indicates the severity of
system contention. A client is active when it has at least one request
either in the pending request queue owned by the client or in flight. This
is emitted when a new resource scheduler client is created.
</summary>
</histogram>
<histogram
name="ResourceScheduler.BrowserInitiatedHeavyRequest.QueuingDuration"
units="ms" expires_after="M82">
<owner>tbansal@chromium.org</owner>
<summary>
The amount of time the ResourceScheduler queued a browser initiated request
that was expected to be heavy (i.e., has large request/response sizes).
Recorded when the request is dispatched by the resource scheduler to the
network stack. Recorded only when the traffic annotation tag of the request
is present in the set of annotation tags that can be throttled.
</summary>
</histogram>
<histogram
name="ResourceScheduler.DelayableRequests.WaitTimeToAvoidContentionWithNonDelayableRequest"
units="ms" expires_after="M85">
<obsolete>
Obsoleted M85.
</obsolete>
<owner>tbansal@chromium.org</owner>
<summary>
Records how long after the start of a delayable resource request, a
non-delayable resource request arrived. This is the duration of time that
the delayable request should have been queued for so as to avoid any network
contetion with later-arriving non-delayable requests.
</summary>
</histogram>
<histogram name="ResourceScheduler.NonDelayableLastEndToNonDelayableStart"
units="ms" expires_after="M85">
<obsolete>
Obsoleted M85.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the end of a non-delayable resource request to
the start of the next non-delayable resource request. Recorded at the start
of all non-delayable requests that are preceeded by at least one completed
non-delayable request in the same resource scheduler client.
</summary>
</histogram>
<histogram
name="ResourceScheduler.NonDelayableLastEndToNonDelayableStart.NonDelayableNotInFlight"
units="ms" expires_after="2020-12-14">
<obsolete>
Obsoleted M89.
</obsolete>
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the end of a non-delayable resource request to
the start of the next non-delayable resource request. Recorded at the start
of all non-delayable requests that are preceeded by at least one completed
non-delayable request in the same resource scheduler client. Recorded only
when a non-delayable request is NOT in-flight.
</summary>
</histogram>
<histogram
name="ResourceScheduler.NonDelayableLastStartOrEndToNonDelayableStart"
units="ms" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the start of a non-delayable resource request
or end of a non-delayable request (whichever happened later) to the start of
the next non-delayable resource request. Recorded at the start of all
non-delayable requests that are preceeded by at least one started
non-delayable request in the same resource scheduler client.
</summary>
</histogram>
<histogram name="ResourceScheduler.NonDelayableLastStartToNonDelayableStart"
units="ms" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the start of a non-delayable resource request
to the start of the next non-delayable resource request. Recorded at the
start of all non-delayable requests that are preceeded by at least one
started non-delayable request in the same resource scheduler client.
</summary>
</histogram>
<histogram
name="ResourceScheduler.NonDelayableLastStartToNonDelayableStart.NonDelayableInFlight"
units="ms" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
The duration of time between the start of a non-delayable resource request
to the start of the next non-delayable resource request. Recorded at the
start of all non-delayable requests that are preceeded by at least one
started non-delayable request in the same resource scheduler client.
Recorded only when a delayable request is in-flight.
</summary>
</histogram>
<histogram
name="ResourceScheduler.NumDelayableRequestsInFlightAtStart.NonDelayable"
units="requests" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<summary>
Records the number of delayable requests in-flight when a non-delayable
request is started.
</summary>
</histogram>
<histogram name="ResourceScheduler.NumSkippedScans.ScheduleStart"
units="requests" expires_after="M85">
<owner>csharrison@chromium.org</owner>
<summary>
The number of LoadAnyStartablePendingRequests scans that were skipped due to
smarter task scheduling around reprioritization.
</summary>
</histogram>
<histogram name="ResourceScheduler.PeakDelayableRequestsInFlight"
units="requests" expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<summary>
Records the highest number of delayable requests that were in-flight when
the given request with higher priority was in-flight.
</summary>
</histogram>
<histogram name="ResourceScheduler.PeakObservedQueueingDelay" units="ms"
expires_after="2021-09-01">
<owner>tbansal@chromium.org</owner>
<owner>dougarnett@chromium.org</owner>
<summary>
Within a request's lifetime, the peak observed queueing delay tells whether
the request was affected by the network congestion. Records the maximum
network queueing delay when the given request was in-flight. This is emitted
when the request is completed.
</summary>
</histogram>
<histogram name="ResourceScheduler.RequestQueuingDuration" units="ms"
expires_after="2022-01-02">
<owner>tbansal@chromium.org</owner>
<summary>
The amount of time the ResourceScheduler queued a request. Recorded in
separate histograms based on the request loading priority at the time the
request was dequeued.
</summary>
</histogram>
<histogram name="ResourceScheduler.RequestsCount" units="requests count"
expires_after="M82">
<owner>jfwang@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the count of number of requests in-flight. Recorded when a request
is started by the resource scheduler.
</summary>
</histogram>
<histogram
name="ResourceScheduler.WeakSignalThrottling.WeakSignalDuration.{NetworkType}"
units="ms" expires_after="2021-12-01">
<owner>eseckler@chromium.org</owner>
<owner>khokhlov@chromium.org</owner>
<owner>skyostil@chromium.org</owner>
<summary>
Records the duration of the period when some low-priority requests were
throttled due to weak radio signal. Only supported on Android.
</summary>
<token key="NetworkType">
<variant name="Cell"/>
<variant name="Wifi"/>
</token>
</histogram>
<histogram name="Rlz.SetRlzPingSent" enum="BooleanSuccess" expires_after="M85">
<owner>wzang@chromium.org</owner>
<summary>
Record if updating |should_send_rlz_ping| in RW_VPD is successful within the
maximum retry counts.
</summary>
</histogram>
<histogram name="Rollback.OobeRestoreResult" enum="Rollback_OobeRestoreResult"
expires_after="2022-04-01">
<owner>mpolzer@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
The result when attempting to restore data during a Chrome OS rollback.
</summary>
</histogram>
<histogram name="Rollback.RollbackSaveResult"
enum="Rollback_RollbackSaveResult" expires_after="2022-04-01">
<owner>mpolzer@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
The result when attempting to save data during a Chrome OS rollback.
</summary>
</histogram>
<histogram name="SB2.DownloadChecks" enum="SB2DownloadChecks"
expires_after="2022-07-03">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records results of SafeBrowsing download url check. Warning: this histogram
was expired from M78 to M91. Data may be missing.
This metric is used to populate a dashboard on go/crsb-site.
</summary>
</histogram>
<histogram name="SB2.DownloadUrlCheckDuration" units="ms"
expires_after="2022-05-02">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The time it takes for SafeBrowsing to check a download url. Warning: this
histogram was expired from M78 to M91. Data may be missing.
</summary>
</histogram>
<histogram name="SB2.GetHashResponseOrErrorCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="M85">
<owner>vakh@google.com</owner>
<summary>
Response or error codes from the SafeBrowsing service. Logged after a
GetHash request finishes to capture the response code or error code for that
call. Split out from SB2.GetHashErrorResponseOrErrorCode in M49.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeClosed" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user navigating away by for example, closing the tab, clicking the browser
back button or typing another URL in the address bar.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeExpandedSeeMore" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user expanding the &quot;see more info&quot; section of the page. (Only
applies to field trial version 2 of the interstitial.)
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeLearnMore" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user clicking on the learn more link.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeProceed" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user clicking on the proceed link.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeReportError" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user clicking on the report error link.
</summary>
</histogram>
<histogram name="SB2.PhishingInterstitialTimeTakeMeBack" units="ms"
expires_after="M85">
<owner>felt@chromium.org</owner>
<summary>
The time between when we show the SafeBrowsing phishing interstitial and the
user clicking on the big green back button.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.CanCheckUrl" enum="BooleanCanCheckUrl"
expires_after="2022-05-22">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Count of how many URLs were actually checked vs skipped via
RemoteSafeBrowsingDatabaseManager because the scheme is not supported by
Safe Browsing. Incremented each time a resource load is initiated.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.CheckDelta" units="microseconds"
expires_after="2022-01-09">
<owner>vakh@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The microseconds between sending the Safe Browsing API call and receiving
the response. Logged in java code and does not include any thread hops or
extra work. Note that this does include task queue time to respond to the
IPC (and that queue time is often non-trivial).
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.Elapsed" units="ms" expires_after="2022-05-15">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Latency of URL-classification API calls from Chrome via
RemoteSafeBrowsingDatabaseManager, logged per-request. This includes the
time to go through JNI, check the URL, and return the result and includes
several thread hops betwetween IO and UI threads. The resource-load will not
necessarily be delayed this much (see SB2.Delay for that).
</summary>
</histogram>
<histogram name="SB2.RemoteCall.InternalErrorStatusCode2"
enum="GooglePlayServicesConnectionResult" expires_after="never">
<!-- expires-never: This tracks the result of connecting to GmsCore for
Safe Browsing lookups, which is critical for security. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The status code provided by GmsCore if it is unable to respond to a URL
check request due to incorrect initialization, not being ready, etc. Logged
on each URL check that hits the internal error condition. The total number
of these should add up to the INTERNAL_ERROR reports under
SB2.RemoteCall.Result.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.Result" enum="SB2RemoteCallResult"
expires_after="2022-05-29">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Result of URL-classification API calls from Chrome via
RemoteSafeBrowsingApiHandler. Logged after each URL is judged safe/not-safe,
or hits a deadline. The INTERNAL_ERROR cases are further classified under
SB2.RemoteCall.InternalErrorStatusCode.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.ThreatSubType.PotentiallyHarmfulApp"
enum="SB2RemoteCallThreatSubType" expires_after="2021-07-28">
<obsolete>
Removed from code Jul 2021.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The threat sub-type annotated for URLs classified as PHA via remote calls
through RemoteSafeBrowsingApiHandler. &quot;PHA&quot; classifications
generate &quot;malware&quot; interstitials.
</summary>
</histogram>
<histogram name="SB2.RemoteCall.ThreatSubType.SocialEngineering"
enum="SB2RemoteCallThreatSubType" expires_after="2021-07-28">
<obsolete>
Removed from code Jul 2021.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The threat sub-type annotated returned for URLs classified as social
engineering via remote calls through RemoteSafeBrowsingApiHandler.
&quot;Social engineering&quot; classifications generate &quot;phishing&quot;
interstitials.
</summary>
</histogram>
<histogram base="true" name="SB2.RequestDestination" enum="RequestDestination"
expires_after="2022-06-19">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Request destinations of resources that were inspected by Safe Browsing in
the SafeBrowsingResourceThrottle. kDocument is for a main resource request
in a main frame or a Portal. Subframe requests are a combination of kIframe
and kFrame.
</summary>
</histogram>
<histogram name="SB2.ResourceTypes2" enum="ContentResourceType2"
expires_after="2022-01-16">
<obsolete>
Removed from code in M94. Replaced with SB2.RequestDestination.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Resource types of resources that were inspected by Safe Browsing in the
SafeBrowsingResourceThrottle.
Starting M89, this metric is derived from
network::mojom::RequestDestination. kPrefetch, kFavicon, kXhr, kPing,
kNavigationPreloadMainFrame, and kNavigationPreloadSubFrame are all mapped
to kSubResource.
</summary>
</histogram>
<histogram name="SBDownloadFeedback.UploadDuration" units="ms"
expires_after="2020-03-29">
<obsolete>
Removed 10-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The time it takes for the TwoPhaseUploader to complete. This is logged on
every upload.
</summary>
</histogram>
<histogram name="SBIRS.DiscardedIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident discarded by the safe browsing incident reporting
service as a result of profile or service destruction.
</summary>
</histogram>
<histogram name="SBIRS.DownloadMetadata.DeleteSuccess" enum="BooleanSuccess"
expires_after="2018-08-30">
<owner>caitkp@chromium.org</owner>
<summary>The result of deleting a profile's download metadata file.</summary>
</histogram>
<histogram name="SBIRS.DownloadMetadata.ReadResult" enum="MetadataReadResult"
expires_after="2018-08-30">
<owner>caitkp@chromium.org</owner>
<summary>The result of reading a profile's download metadata file.</summary>
</histogram>
<histogram name="SBIRS.DownloadMetadata.WriteResult" enum="MetadataWriteResult"
expires_after="2018-08-30">
<owner>caitkp@chromium.org</owner>
<summary>The result of writing a profile's download metadata file.</summary>
</histogram>
<histogram name="SBIRS.DroppedIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident given to the safe browsing incident reporting service
but dropped as a result of not participating in safe browsing.
</summary>
</histogram>
<histogram name="SBIRS.EnvCollectionTime" units="ms" expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to collect environmental data for a safe browsing incident
report.
</summary>
</histogram>
<histogram name="SBIRS.FindDownloadedBinaryTime" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to find the most recent binary download from all loaded
profiles when creating a safe browsing incident report.
</summary>
</histogram>
<histogram name="SBIRS.Incident" enum="IncidentType" expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident included in an incident report by the safe browsing
incident reporting service.
</summary>
</histogram>
<histogram name="SBIRS.InterIncidentTime" units="ms" expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time between two successive incidents collated into the same
incident report by the safe browsing incident reporting service.
</summary>
</histogram>
<histogram name="SBIRS.NoDownloadIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident pruned by the safe browsing incident reporting service
as a result of not having a matching binary download.
</summary>
</histogram>
<histogram name="SBIRS.PrunedIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident pruned from a report in the safe browsing incident
reporting service as a result of having previously been reported.
</summary>
</histogram>
<histogram name="SBIRS.ReceivedIncident" enum="IncidentType"
expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The type of incident received by the safe browsing incident reporting
service.
</summary>
</histogram>
<histogram name="SBIRS.ReportPayloadSize" units="bytes" expires_after="never">
<!-- expires-never: This tracks health of the incident reporting feature and
should be kept until we remove incident reporting. -->
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>The size, in bytes, of a safe browsing incident report.</summary>
</histogram>
<histogram name="SBIRS.UploadResult" enum="ReportProcessingResult"
expires_after="2022-05-15">
<owner>caitkp@google.com</owner>
<summary>
The result of an attempted report upload by the safe browsing incident
reporting service.
</summary>
</histogram>
<histogram name="SBIRS.VerifyBinaryIntegrity.0" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to verify the binary integrity of chrome.exe.
</summary>
</histogram>
<histogram name="SBIRS.VerifyBinaryIntegrity.1" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to verify the binary integrity of chrome.dll.
</summary>
</histogram>
<histogram name="SBIRS.VerifyBinaryIntegrity.2" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to verify the binary integrity of chrome_child.dll.
</summary>
</histogram>
<histogram name="SBIRS.VerifyBinaryIntegrity.3" units="ms"
expires_after="2018-08-30">
<owner>caitkp@google.com</owner>
<summary>
The elapsed time to verify the binary integrity of chrome_elf.dll.
</summary>
</histogram>
<histogram name="SBMultipartUploader.FailedUploadDuration" units="s"
expires_after="2022-09-29">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Measures the total duration (including delay due to retries) of a failed
upload request. This is recorded after the last retry on every failed
upload.
Warning: This histogram was expired in M91 and restored in M92. Data may be
missing in M91.
</summary>
</histogram>
<histogram name="SBMultipartUploader.NetworkRequestResponseCodeOrError"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="2022-09-29">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The HTTP response code or net error from each upload attempt. This is
recorded once for each network request made as part of an upload, i.e. if an
upload fails the first time, but a retry succeeds, this metric is recorded
twice.
Warning: This histogram was expired in M91 and restored in M92. Data may be
missing in M91.
</summary>
</histogram>
<histogram name="SBMultipartUploader.RetriesNeeded" units="retries"
expires_after="2022-09-29">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Counts how many retries were needed to complete the upload request. This is
emitted for every successful upload.
Warning: This histogram was expired in M91 and restored in M92. Data may be
missing in M91.
</summary>
</histogram>
<histogram name="SBMultipartUploader.SuccessfulUploadDuration" units="s"
expires_after="2022-09-29">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Measures the total duration (including delay due to retries) of a successful
upload request. This is recorded for every successful upload.
Warning: This histogram was expired in M91 and restored in M92. Data may be
missing in M91.
</summary>
</histogram>
<histogram name="SBMultipartUploader.UploadSize" units="bytes"
expires_after="2022-09-29">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The size of the upload request body. This is a combination of the upload
data and metadata. This is recorded once for each upload, regardless of
whether it was successful.
Warning: This histogram was expired in M91 and restored in M92. Data may be
missing in M91.
</summary>
</histogram>
<histogram name="SBMultipartUploader.UploadSuccess" enum="BooleanSuccess"
expires_after="2022-09-29">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Whether the overall upload request succeeded or not. This is recorded once
for an upload request, regardless of how many retries were needed to
complete the upload.
Warning: This histogram was expired in M91 and restored in M92. Data may be
missing in M91.
</summary>
</histogram>
<histogram name="ScreenLocker.AuthenticationFailure" enum="UnlockType"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
What type of authentication was attempted when the user failed to unlock the
lock screen.
</summary>
</histogram>
<histogram name="ScreenLocker.AuthenticationFailureTime" units="ms"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>The time spent for authentication in case of a failure.</summary>
</histogram>
<histogram name="ScreenLocker.AuthenticationSuccess" enum="UnlockType"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
What type of authentication was attempted when the user successfully
unlocked the lock screen.
</summary>
</histogram>
<histogram name="ScreenLocker.AuthenticationSuccessTime" units="ms"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>The time spent for authentication in case of a success.</summary>
</histogram>
<histogram name="ScreenLocker.ScreenLockTime" units="ms" expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS lock screen regressions. -->
<owner>antrim@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>The time spent before the screen locker is ready.</summary>
</histogram>
<histogram base="true" name="SendTabToSelf.ClickResult"
enum="SendTabToSelfClickResult" expires_after="2022-10-25">
<owner>jeffreycohen@chromium.org</owner>
<owner>ellyjones@chromium.org</owner>
<owner>chrome-sharing-core@google.com</owner>
<summary>
Records user flow for SendTabToSelf feature.
Only the &quot;SendTabToSelf target device is clicked&quot; bucket is
recorded today, causing sharing of a tab with the tapped device. Until M84
other buckets were recorded. Because each bucket represents a different
aspect of the flow, it's important to look at &quot;bucket count&quot;, not
&quot;bucket proportion&quot;.
On iOS this was not recorded between M85 and M90, inclusive (see
crbug.com/1204944).
</summary>
</histogram>
<histogram name="ServicesCustomization.LoadResult"
enum="ServicesCustomizationLoadResult" expires_after="M77">
<owner>alemate@chromium.org</owner>
<summary>
Records result of fetching and parsing OEM customization manifest. See
ServicesCustomizationDocument class for more info. Used only on Chrome OS.
</summary>
</histogram>
<histogram name="Servicification.Startup2" enum="ServicificationStartupMode"
expires_after="2023-01-01">
<owner>hanxi@chromium.org</owner>
<owner>yfriedman@chromium.org</owner>
<owner>hnakashima@chromium.org</owner>
<owner>mheikal@chromium.org</owner>
<summary>
Histogram of how Chrome is launched, either in ServiceManager only mode or
as full browser, as well as either cold start or warm start. See
go/servicification_startup_metrics for more details.
</summary>
</histogram>
<histogram name="Servicification.Startup3" enum="ServicificationStartupMode"
expires_after="2022-06-26">
<owner>hanxi@chromium.org</owner>
<owner>yfriedman@chromium.org</owner>
<owner>hnakashima@chromium.org</owner>
<owner>mheikal@chromium.org</owner>
<summary>
Histogram of how Chrome is launched, either in ServiceManager only mode or
as full browser, as well as either cold start or warm start. See
go/servicification_startup_metrics for more details. The UMA data is cached
in the SharedPreference compared with Servicification.Startup2, which might
lose some data when Chrome is running in the ServiceManager only mode.
</summary>
</histogram>
<histogram name="Setup.Install.AddAppContainerAce" enum="Boolean"
expires_after="M77">
<owner>forshaw@chromium.org</owner>
<summary>
True if the the installer successfully added AppContainer ACEs to the
application directory during installation and updating.
</summary>
</histogram>
<histogram name="Setup.Install.CumulativeDiskUsage2" units="MB"
expires_after="never">
<!-- expires-never: used to monitor memory usage of setup installer. -->
<owner>etiennep@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>
The cumulative disk usage in MB during install or uninstall attempt,
recorded right after the install/uninstall attempt on windows only.
</summary>
</histogram>
<histogram name="Setup.Install.DeleteAppLauncherClientsKey"
enum="BooleanDeletedOrNot" expires_after="2021-03-22">
<obsolete>
Removed in M94.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>src/chrome/installer/OWNERS</owner>
<summary>
Hit following a successful install or update when the legacy &quot;app
launcher&quot; Clients key is deleted from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.DeleteBinariesClientsKey"
enum="BooleanDeletedOrNot" expires_after="2021-03-22">
<obsolete>
Removed in M94.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>src/chrome/installer/OWNERS</owner>
<summary>
Hit following a successful install or update when the legacy
&quot;binaries&quot; Clients key is deleted from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.DeleteIExecuteCommandClassKey"
enum="BooleanDeletedOrNot" expires_after="2021-03-22">
<obsolete>
Removed in M94.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>src/chrome/installer/OWNERS</owner>
<summary>
Hit following a successful install or update when the COM registration for
the legacy &quot;IExecuteCommand&quot; implementation class key is deleted
from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.DeleteInstallExtensionCommand"
enum="BooleanDeletedOrNot" expires_after="2021-03-22">
<obsolete>
Removed in M94.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>src/chrome/installer/OWNERS</owner>
<summary>
Hit following a successful install or update when the legacy
&quot;install-extension&quot; app command is deleted from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.LzmaUnPackStatus" enum="UnPackStatus"
expires_after="2022-03-22">
<owner>zmin@chromium.org</owner>
<owner>grt@chromium.org</owner>
<summary>Record the status of unpacking the contents of a 7z file.</summary>
</histogram>
<histogram name="Setup.Install.PeakPagefileUsage" units="KB"
expires_after="never">
<!-- expires-never: used to monitor memory usage of setup installer. -->
<owner>huangs@chromium.org</owner>
<summary>
The peak page file usage by setup.exe in KB during install or uninstall
attempt.
</summary>
</histogram>
<histogram name="Setup.Install.PeakWorkingSetSize" units="KB"
expires_after="never">
<!-- expires-never: used to monitor memory usage of setup installer. -->
<owner>huangs@chromium.org</owner>
<summary>
The peak working set size of setup.exe in KB during install or uninstall
attempt.
</summary>
</histogram>
<histogram name="Setup.Install.RemoveProfileStatistics"
enum="BooleanDeletedOrNot" expires_after="M87">
<owner>waffles@chromium.org</owner>
<summary>
Hit following a successful install or update when the legacy profile count
keys / values are deleted from the registry.
</summary>
</histogram>
<histogram name="Setup.Install.Result" enum="SetupInstallResult"
expires_after="never">
<!-- expires-never: Fundamental metric used to gague overall failure rates. -->
<owner>grt@chromium.org</owner>
<owner>bcwhite@chromium.org</owner>
<summary>
The final exit-result of the entire run of setup.exe on Windows.
</summary>
</histogram>
<histogram name="Setup.Install.ServiceInstallResult"
enum="SetupInstallServiceInstallResult" expires_after="2020-12-30">
<owner>ganesh@chromium.org</owner>
<owner>sorin@chromium.org</owner>
<owner>xiaolingbao@chromium.org</owner>
<summary>The outcome of attempting to install a service on Windows.</summary>
</histogram>
<histogram name="Setup.Install.ServiceRollbackResult"
enum="SetupInstallServiceRollbackResult" expires_after="2020-12-30">
<owner>ganesh@chromium.org</owner>
<owner>sorin@chromium.org</owner>
<owner>xiaolingbao@chromium.org</owner>
<summary>
The outcome of attempting to rollback an install of a service on Windows.
</summary>
</histogram>
<histogram base="true" name="Setup.Install.Win32ApiError"
enum="WinGetLastError" expires_after="2020-12-30">
<!-- Name completed by histogram_suffixes name="SetupInstallWin32Apis". -->
<owner>ganesh@chromium.org</owner>
<owner>sorin@chromium.org</owner>
<owner>xiaolingbao@chromium.org</owner>
<summary>Win32 APIs that error out during setup.</summary>
</histogram>
<histogram name="SharedMemory.MapBlockedForSecurity" enum="BooleanBlocked"
expires_after="M85">
<owner>dcheng@chromium.org</owner>
<owner>rsesek@chromium.org</owner>
<summary>
Tracks whether an attempt to map shared memory was blocked due to too much
shared memory already being mapped into the address space.
</summary>
</histogram>
<histogram name="ShortcutsProvider.DatabaseSize" units="units"
expires_after="2018-08-30">
<owner>mpearson@chromium.org</owner>
<summary>
The number of entries in shortcuts backend's database when initialized,
which happens during profile load.
</summary>
</histogram>
<histogram name="Shutdown.browser_exit.time2" units="units" expires_after="M81">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by the browser exit menu command.
</summary>
</histogram>
<histogram name="Shutdown.browser_exit.time_per_process" units="units"
expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by the browser exit menu command per renderer
process.
</summary>
</histogram>
<histogram name="Shutdown.end_session.time2" units="units" expires_after="M78">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by an end session (user logs off, shuts down or
reboots without explicitly exiting).
</summary>
</histogram>
<histogram name="Shutdown.end_session.time_per_process" units="units"
expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by an end session (user logs off, shuts down or
reboots without explicitly exiting) per renderer process.
</summary>
</histogram>
<histogram name="Shutdown.renderers.slow" units="units" expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
The number of renderer processes that couldn't be shutdown quickly due to
onbeforeunload or onunload listeners.
</summary>
</histogram>
<histogram name="Shutdown.renderers.total" units="units" expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
The number of renderer processes running when shutdown was called.
</summary>
</histogram>
<histogram name="Shutdown.ShutdownType" enum="ShutdownType"
expires_after="2020-04-19">
<owner>hashimoto@chromium.org</owner>
<summary>The type of the last shutdown.</summary>
</histogram>
<histogram name="Shutdown.window_close.time2" units="ms" expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by the last browser window being closed.
</summary>
</histogram>
<histogram name="Shutdown.window_close.time_per_process" units="units"
expires_after="M77">
<owner>hashimoto@chromium.org</owner>
<summary>
Time for shutdown initiated by the last browser window being closed per
renderer process.
</summary>
</histogram>
<histogram name="SignedExchange.CertificateFetch.CacheHit"
enum="BooleanCacheHit" expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Records if the fetched Signed Exchange certchain was served from HTTP cache
or not.
</summary>
</histogram>
<histogram name="SignedExchange.CertVerificationResult" enum="NetErrorCodes"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Reports the result of Signed Exchange cert verification, including success.
</summary>
</histogram>
<histogram name="SignedExchange.CTVerificationResult" enum="CTComplianceStatus"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Reports the result of Signed Exchange CT verification, including success.
</summary>
</histogram>
<histogram name="SignedExchange.FallbackRedirectLoop" enum="BooleanDetected"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Records true when a fallback redirect of Signed Exchange has failed with
ERR_TO_MANY_REDIRECTS.
Total count of SignedExchange.LoadResult2 should be used as a baseline of
this histogram.
</summary>
</histogram>
<histogram name="SignedExchange.LoadResult2" enum="SignedExchangeLoadResult"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Records the result of loading a resource from Signed HTTP Exchange. Emitted
each time a response is handled as Signed Exchange.
</summary>
</histogram>
<histogram name="SignedExchange.OCSPResponseStatus" enum="OCSPResponseStatus"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The status of OCSP response in Signed Exchange certificates. Reported each
time Signed Exchange's OCSP check is performed.
</summary>
</histogram>
<histogram name="SignedExchange.OCSPRevocationStatus"
enum="OCSPRevocationStatus" expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Reports the revocation status of OCSP response in Signed Exchange
certificates. Emitted when Signed Exchange's OCSP check is performed, but
only when an up-to-date OCSP response was stapled.
</summary>
</histogram>
<histogram name="SignedExchange.Prefetch.LoadResult2"
enum="SignedExchangeLoadResult" expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Records if the prefetched Signed Exchange was properly formatted and passed
verification steps. Reported for each completed SignedExchange prefetch.
</summary>
</histogram>
<histogram name="SignedExchange.Prefetch.Precision.30Seconds"
enum="BooleanUsage" expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Records if the prefetched Signed Exchange was actually the target of a
navigation which happened within 30 seconds. Reported when a corresponding
navigation is observed, or from an periodic timer event which cleans up the
unmatched prefetch entries.
</summary>
</histogram>
<histogram name="SignedExchange.Prefetch.Recall.30Seconds" enum="BooleanUsage"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Records how much Signed Exchange navigations were prefetched and not
prefetched. Matched against 30 seconds window. Reported for each Signed
Exchange navigations.
</summary>
</histogram>
<histogram name="SignedExchange.SignatureVerificationError.Expired"
units="seconds" expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Recorded when Signed Exchange signature was expired. Records the time delta
between current time and signature's &quot;expires&quot; value.
</summary>
</histogram>
<histogram name="SignedExchange.SignatureVerificationError.NotYetValid"
units="seconds" expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Recorded when Signed Exchange signature was not yet valid. Records the time
delta between current time and signature's &quot;date&quot; value.
</summary>
</histogram>
<histogram name="SignedExchange.SignatureVerificationResult"
enum="SignedExchangeSignatureVerificationResult" expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Reports the result of Signed Exchange signature verification, including
success.
</summary>
</histogram>
<histogram name="SignedExchange.Time.CertificateFetch.Failure" units="ms"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The amount of time elapsed to fetch certificate chain from certUrl, for
which the fetch has failed.
</summary>
</histogram>
<histogram name="SignedExchange.Time.CertificateFetch.Success" units="ms"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The amount of time elapsed to fetch certificate chain from certUrl, for
which the fetch has succeeded.
</summary>
</histogram>
<histogram name="SignedExchange.Time.SignatureVerify" units="ms"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The amount of time that elapsed during
SignedExchangeSignatureVerifier::Verify.
</summary>
</histogram>
<histogram name="SignedExchange.TimeUntilExpiration" units="seconds"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
Number of seconds until the Signed Exchange's expiration time. Recorded when
Signed Exchange signature verification is performed, and emitted only for
Signed Exchanges within the validity period.
</summary>
</histogram>
<histogram name="SignedExchange.ValidityPingDuration" units="ms"
expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The amount of time elapsed to ping the original publisher of the Signed
Exchanges.
</summary>
</histogram>
<histogram name="SignedExchange.ValidityPingResult"
enum="SignedExchangeValidityPingResult" expires_after="2022-05-17">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>Reports the result of the Signed Exchange validity ping.</summary>
</histogram>
<histogram name="SiteIsolatedCodeCache.JS.Behaviour"
enum="SiteIsolatedCodeCacheJSBehaviour" expires_after="2022-05-22">
<owner>mythria@chromium.org</owner>
<owner>v8-team@google.com</owner>
<summary>
The behaviour of site isolated javascript code cache recorded for each cache
transaction. It records if the request was serviced and if serviced how it
was serviced for ex: hit, miss, update.
</summary>
</histogram>
<histogram name="SiteIsolatedCodeCache.WASM.Behaviour"
enum="SiteIsolatedCodeCacheWASMBehaviour" expires_after="2020-04-19">
<owner>bbudge@chromium.org</owner>
<summary>
The behaviour of site isolated web assembly code cache recorded for each
cache transaction during WASM compilation. It records if the request was
serviced and if serviced how it was serviced for ex: hit, miss, update.
</summary>
</histogram>
<histogram name="Skia.DrawScaleFactor" enum="SkiaScaleFactor"
expires_after="M85">
<obsolete>
Removed in Oct 2020.
</obsolete>
<owner>ericrk@chromium.org</owner>
<summary>The scale factor of any images drawn by Skia.</summary>
</histogram>
<histogram name="Skia.DrawTiled" enum="BooleanTiled" expires_after="M85">
<obsolete>
Removed in Oct 2020.
</obsolete>
<owner>ericrk@chromium.org</owner>
<summary>
Whether a call to drawBitmap(Rect) or drawImage(Rect) used the tiled or
non-tiled rasterization path.
</summary>
</histogram>
<histogram name="Skia.FilterQuality" enum="SkiaFilterQuality"
expires_after="M85">
<obsolete>
Removed in Oct 2020.
</obsolete>
<owner>ericrk@chromium.org</owner>
<summary>
The count of images drawn by Skia with a given filter quality.
</summary>
</histogram>
<histogram name="Skia.LockTexturePath" enum="SkiaLockTexturePath"
expires_after="M85">
<obsolete>
Removed in Oct 2020.
</obsolete>
<owner>ericrk@chromium.org</owner>
<summary>
The path taken by Skia when it attempts to lock a texture for use.
</summary>
</histogram>
<histogram name="Skia.SubmitRenderPasses" units="renderpasses"
expires_after="2022-07-09">
<owner>egdaniel@google.com</owner>
<owner>bsalomon@google.com</owner>
<summary>
The number of Skia render passes sent to the GPU during a GrContext::submit
call. The max value that is sent here is 100 so anything in the 100 bucket
actually includes render pass counts of 100+. Though we don't expect to be
reaching 100 render passes often. This is collected each time we submit to
the GPU in Skia.
</summary>
</histogram>
<histogram name="Skia.VulkanMemoryAllocator.AmountAllocated" units="KB"
expires_after="2022-07-09">
<owner>egdaniel@google.com</owner>
<owner>bsalomon@google.com</owner>
<summary>
The total amount of memory that the GrVkMemoryAllocator used by Skia's
Vulkan backend has allocated. This is GPU memory for VkImages and VkBuffers.
Note that the allocator may be shared with other users outside of Skia and
this amount includes their uses as well. This is collected each time we
request an allocation from Skia.
</summary>
</histogram>
<histogram name="Skia.VulkanMemoryAllocator.PercentUsed" units="%"
expires_after="2021-09-05">
<owner>egdaniel@google.com</owner>
<owner>bsalomon@google.com</owner>
<summary>
The percent of allocated memory that is in use by the GrVkMemoryAllocator
used by Skia's Vulkan backend. This is GPU memory for VkImages and
VkBuffers. Note that the allocator may be shared with other users outside of
Skia and this includes their allocations as well. This is collected each
time we request an allocation from Skia.
</summary>
</histogram>
<histogram name="Snackbar.Shown" enum="SnackbarIdentifier"
expires_after="never">
<!-- expires-never: Required as long as snackbars exist. -->
<owner>pavely@chromium.org</owner>
<owner>src/chrome/browser/ui/messages/OWNERS</owner>
<summary>
Records the identifier of a snackbar every time one is shown.
</summary>
</histogram>
<histogram name="SpecialLocale.PromotionDialog" enum="SpecialLocalePromoAction"
expires_after="M81">
<owner>ianwen@chromium.org</owner>
<summary>
Records how users interact with the special locale promotion dialog.
</summary>
</histogram>
<histogram name="Spellcheck.Android.Available" enum="BooleanAvailable"
expires_after="2021-10-10">
<obsolete>
Removed 2021/10: This histogram was added as part of an investigation that
has been completed.
</obsolete>
<owner>timvolodine@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Whether the Android spellchecking service was available at the start of a
new spellchecking session. Note that the user can disable the Android
spellchecking service in settings, in which case it will show up as not
available in the histogram.
Warning: for chrome versions 78-88 this histogram was listed as expired, so
for that period the data might be missing or incomplete.
</summary>
</histogram>
<histogram name="SpellCheck.Android.Latency" units="ms" expires_after="M77">
<obsolete>
Removed 2021/10: This histogram was added as part of an investigation that
has been completed.
</obsolete>
<owner>timvolodine@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Measures the amount of time it takes to receive results from the
spellchecking service on Android. More precisely this is the
SystemClock.elapsedRealtime() between the
SpellCheckerSession.getSentenceSuggestions() and the invocation of the
onGetSentenceSuggestions() callback.
</summary>
</histogram>
<histogram name="SpellCheck.MisspellRatio" units="%" expires_after="M90">
<obsolete>
Removed 2021/01: the relevant code path isn't used anymore.
</obsolete>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>The percentage of misspelled words within checked words.</summary>
</histogram>
<histogram name="SpellCheck.ReplaceRatio" units="%" expires_after="M90">
<obsolete>
Removed 2021/01: the relevant code path isn't used anymore.
</obsolete>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>The percentage of replaced words within misspelled words.</summary>
</histogram>
<histogram name="SpellCheck.SpellingService.Enabled" enum="BooleanEnabled"
expires_after="2022-06-19">
<owner>groby@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Whether the user has opted in to asking Google for spelling suggestions.
Recorded both when spelling is initialized and when the preference is
changed.
</summary>
</histogram>
<histogram name="SpellCheck.SpellingService.RequestDuration" units="ms"
expires_after="2022-06-26">
<owner>yyushkina@google.com</owner>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
The elapsed time, in ms, between the moment the SimpleURLLoader starts
downloading the request and the moment the SimpleURLLoader callback is
invoked after the request finishes, whether an error or a success.
</summary>
</histogram>
<histogram name="SpellCheck.SpellingService.RequestHttpResponseCode"
enum="HttpResponseCode" expires_after="2022-04-24">
<owner>yyushkina@google.com</owner>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>The HTTP code of Spelling service responses.</summary>
</histogram>
<histogram name="SpellCheck.SpellingService.RequestResultType"
enum="ServiceRequestResultType" expires_after="2022-07-03">
<owner>yyushkina@google.com</owner>
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Describes the results returned by the Spelling service by assigning them to
one of three high-level buckets: request/service error, success with no
suggestions, and success with spelling suggestions.
</summary>
</histogram>
<histogram name="SpellCheck.SuggestionHitRatio" units="%"
expires_after="2022-06-19">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
The percentage of replacement executions within suggestion occurrences.
</summary>
</histogram>
<histogram base="true" name="Spellcheck.Windows.ChromeLocalesSupport"
units="locales" expires_after="2022-06-26">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Counts how many languages are added to Chrome by the user but are not
supported for spell check (today Chrome only supports a hard-coded list of
locales for spell check).
This is a measure of the potential impact of adding support for non-Hunspell
locales in the spell check settings. This also helps answer the following
question: should the Chrome spell check settings raise awareness of Windows
language packs and / or link to documentation describing how to install a
Windows language pack?
This is recorded once during spell check initialization, and then once each
time the user changes their Chrome languages.
</summary>
</histogram>
<histogram base="true" name="Spellcheck.Windows.SpellcheckLocalesSupport"
units="locales" expires_after="2022-06-26">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Of all the currently enabled spell check languages, counts how many are
supported by the different spell checkers (Hunspell and the Windows OS).
This helps measure the impact and reach of the native spell checker
integration.
This is recorded once during spell check initialization, and then once each
time the user changes their enabled spell check languages.
</summary>
</histogram>
<histogram base="true" name="Spellcheck.Windows.SpellcheckRequestDuration"
units="ms" expires_after="2022-07-03">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Measures the time it takes to perform one spell check end to end. The start
time is taken just before invoking Hunspell or the native spell checker (via
Mojo), and the end time is taken just before invoking the Blink spell check
callback.
This is recorded every time a spell check is performed.
</summary>
</histogram>
<histogram base="true" name="Spellcheck.Windows.SuggestionGatheringDuration"
units="ms" expires_after="2022-08-20">
<owner>gujen@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Measures the time it takes to generate spelling suggestions when a user
right clicks a misspelled word. The start time is taken just before invoking
Hunspell for the suggestions, and the end time is taken just after the final
suggestion list is constructed.
This is recorded every time the user opens the context menu on a misspelled
word, but only if the suggestions hadn't been pre-generated (which happens
when all spell check locales are supported by the OS spell checker).
</summary>
</histogram>
<histogram name="Sqlite.CloseFailure" enum="SqliteErrorCode"
expires_after="M85">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>Error which prevented database close.</summary>
</histogram>
<histogram name="Sqlite.DeprecationVersionResult"
enum="SqliteVersionDeprecation" expires_after="M77">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>
Annotations for which bits of sql::MetaTable::CheckDeprecated() fire.
</summary>
</histogram>
<histogram name="Sqlite.Error" enum="SqliteErrorCode"
expires_after="2020-02-16">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>SQLite extended error codes.</summary>
</histogram>
<histogram name="Sqlite.MemoryKB.OneDay" units="KB" expires_after="M81">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>
SQLite memory footprint from sqlite3_memory_used() recorded 1 day after
first database is opened by sql::Database.
</summary>
</histogram>
<histogram name="Sqlite.MemoryKB.OneHour" units="KB" expires_after="M81">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>
SQLite memory footprint from sqlite3_memory_used() recorded 1 hour after
first database is opened by sql::Database.
</summary>
</histogram>
<histogram name="Sqlite.MemoryKB.OneWeek" units="KB" expires_after="M81">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>
SQLite memory footprint from sqlite3_memory_used() recorded 1 week after
first database is opened by sql::Database.
</summary>
</histogram>
<histogram name="Sqlite.MemoryKB.TenMinutes" units="KB" expires_after="M81">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>
SQLite memory footprint from sqlite3_memory_used() recorded 10 minutes after
first database is opened by sql::Database.
</summary>
</histogram>
<histogram name="Sqlite.Migration.History" units="ms" expires_after="M85">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>
Time used to migrate History database schema to a new version.
</summary>
</histogram>
<histogram name="Sqlite.OpenFailure" enum="SqliteErrorCode" expires_after="M95">
<obsolete>
Removed in M92
</obsolete>
<owner>pwnall@chromium.org</owner>
<owner>src/storage/OWNERS</owner>
<summary>Error which prevented database open.</summary>
</histogram>
<histogram name="Sqlite.OpenProbeFailure" enum="SqliteErrorCode"
expires_after="M77">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>Error from first read of the database.</summary>
</histogram>
<histogram name="Sqlite.RazeDatabase" enum="SqliteErrorCode"
expires_after="M77">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>Errors attempting to Raze() database.</summary>
</histogram>
<histogram name="Sqlite.RazeDatabase2" enum="SqliteErrorCode"
expires_after="M77">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>Errors on second attempt to Raze() database.</summary>
</histogram>
<histogram name="Sqlite.RazeDatabaseTruncate" enum="SqliteErrorCode"
expires_after="M85">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>Errors truncating database for Raze().</summary>
</histogram>
<histogram name="Sqlite.RecoveryAttachError" enum="SqliteErrorCode"
expires_after="M77">
<owner>costan@google.com</owner>
<summary>
SQLite error code from failed ATTACH in sql::Recovery::Init().
</summary>
</histogram>
<histogram name="Sqlite.RecoveryEvents" enum="SqliteRecoveryEventEnum"
expires_after="M81">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>
Records specific failure and success cases in sql::Recovery implementation,
to determine which cases warrant further development. This histogram tracks
detected errors, some of which may cause multiple results. See recovery.cc
for details.
</summary>
</histogram>
<histogram name="Sqlite.RecoveryHandle" enum="SqliteErrorCode"
expires_after="M85">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>Error from sqlite3_backup_init() in sql::Recovery.</summary>
</histogram>
<histogram name="Sqlite.RecoveryStep" enum="SqliteErrorCode"
expires_after="M77">
<owner>costan@google.com</owner>
<summary>Error from sqlite3_backup_step() in sql::Recovery.</summary>
</histogram>
<histogram name="Sqlite.Stats2" enum="SqliteStats2Enum" expires_after="M81">
<obsolete>
Removed in M92
</obsolete>
<owner>pwnall@chromium.org</owner>
<summary>
SQLite failures encountered by //sql code. Intended to be viewed using
unique user counts. SQLite errors should be caused by media failures (random
variable with fairly low probability) or bad A/V software (not random, but
hopefully low enough that we can pretend it is).
</summary>
</histogram>
<histogram name="Sqlite.Version" units="units" expires_after="M81">
<obsolete>
Removed in M92
</obsolete>
<owner>costan@google.com</owner>
<summary>Version of pre-existing database at startup.</summary>
</histogram>
<histogram name="SSL.CertificateErrorReportEvent"
enum="CertificateErrorReportEvent" expires_after="M81">
<owner>meacer@chromium.org</owner>
<summary>
Users can opt in to send reports of certificate validation errors to Google.
This records the outcome whenever Chrome sends such a report.
Some certificate validation reports might not be received because proxies,
firewalls or other content filters might filter report uploads.
</summary>
</histogram>
<histogram name="SSL.CertificateErrorReportFailure" enum="NetErrorCodes"
expires_after="M81">
<obsolete>
Removed in M98
</obsolete>
<owner>estark@chromium.org</owner>
<summary>
Users can opt in to send reports of certificate validation errors to Google.
This records the error code whenever Chrome fails to send such a report.
</summary>
</histogram>
<histogram name="SSL.ExpectCTReportFailure2" enum="NetErrorCodes"
expires_after="M77">
<obsolete>
Expired in M77, code removed in M98
</obsolete>
<owner>estark@chromium.org</owner>
<summary>
Sites can opt in to Expect CT, a reporting feature that sends a report
whenever a TLS connection does not have valid Certificate Transparency
information associated with it. This records the error code when Chrome
fails to send an Expect CT report.
</summary>
</histogram>
<histogram name="SSL.ExpectCTReportSendingAttempt" units="units"
expires_after="M77">
<obsolete>
Expired in M77, code removed in M98
</obsolete>
<owner>estark@chromium.org</owner>
<summary>
Sites can opt in to Expect CT, a reporting feature that sends a report
whenever a TLS connection does not have valid Certificate Transparency
information associated with it. This metric fires whenever Chrome attempts
to send an Expect CT report.
</summary>
</histogram>
<histogram name="SSL.InsecureContent" enum="InsecureContentType"
expires_after="2020-02-23">
<obsolete>
Expired in 02/2020. Code removed in M98.
</obsolete>
<owner>estark@chromium.org</owner>
<summary>
Keeps track of various insecure content events, such as loading an HTTP
script from an HTTPS page.
</summary>
</histogram>
<histogram name="SSL.MixedContentShown" enum="MixedContentType"
expires_after="2021-08-22">
<obsolete>
Replaced by SSL.MixedContentShown2, which does not log the *WithCertErrors
buckets when the main frame load also has certificate errors. Removed in
03/2021.
</obsolete>
<owner>carlosil@chromium.org</owner>
<summary>Tracks when mixed content is displayed or run.</summary>
</histogram>
<histogram name="SSL.MixedContentShown2" enum="MixedContentType"
expires_after="2021-08-22">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Tracks when mixed content is loaded, differentiated by blockable,
optionally-blockable mixed content, and mixed forms. Also tracks when a site
with a valid certificate loads a subresource with an invalid certificate.
Replaced SSL.MixedContentShown.
</summary>
</histogram>
<histogram name="SSL.NonWebbyMixedContentLoaded" enum="Boolean"
expires_after="2020-12-01">
<owner>carlosil@chromium.org</owner>
<owner>estark@chromium.org</owner>
<summary>
Tracks when mixed content is loaded from a &quot;non-webby&quot; URL, e.g.
an external protocol. The security of such URLs is unknown, but they are
exempt from mixed content UI treatment because they don't usually return
data to the browser. This histogram tracks how often such content is loaded
so that we can decide whether to block such resources unless an enterprise
policy is enabled.
</summary>
</histogram>
<histogram name="SSORecallPromo.AccountsAvailable" units="units"
expires_after="2022-04-20">
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Number of accounts available for Single Sign On with the current device,
recorded at the time the SSO Promo is shown.
</summary>
</histogram>
<histogram name="SSORecallPromo.PromoAction" enum="SSOPromoUserAction"
expires_after="2022-06-19">
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Action the user takes when the Single Sign On promotion is shown.
</summary>
</histogram>
<histogram name="SSORecallPromo.PromoSeenCount" units="units"
expires_after="2022-06-19">
<owner>fernandex@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Number of times the promotion has been seen on the current device.
</summary>
</histogram>
<histogram name="StackSamplingProfiler.MetadataSlotsUsed" units="counts"
expires_after="2021-01-12">
<owner>charliea@chromium.org</owner>
<owner>wittman@chromium.org</owner>
<summary>
The number of sample metadata item slots used after successfully setting a
metadata item. This count reflects both active and inactive metadata items.
</summary>
</histogram>
<histogram name="Style.InvalidationTime" units="microseconds"
expires_after="2022-06-26">
<owner>futhark@chromium.org</owner>
<summary>
Microseconds spent in StyleEngine::InvalidateStyle. Only samples from high
resolution timers are recorded.
</summary>
</histogram>
<histogram name="Style.RebuildLayoutTreeTime" units="microseconds"
expires_after="2022-06-26">
<owner>futhark@chromium.org</owner>
<summary>
Microseconds spent in RebuildLayoutTree called from Document::UpdateStyle.
</summary>
</histogram>
<histogram name="Style.RecalcTime" units="microseconds"
expires_after="2022-06-26">
<owner>futhark@chromium.org</owner>
<summary>
Microseconds spent in RecalcStyle called from Document::UpdateStyle.
</summary>
</histogram>
<histogram name="SubresourceWebBundles.BundleFetchErrorCode"
enum="NetErrorCodes" expires_after="2022-06-12">
<owner>ksakamoto@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The net error code recorded when request for a subresource web bundle was
failed.
</summary>
</histogram>
<histogram name="SubresourceWebBundles.ContentLength" units="bytes"
expires_after="2022-06-05">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The value of content length header of a subresource web bundle, or zero if
the content-length header is missing.
</summary>
</histogram>
<histogram name="SubresourceWebBundles.LoadResult"
enum="SubresourceWebBundleLoadResult" expires_after="2022-06-05">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>The result of loading subresource web bundles.</summary>
</histogram>
<histogram name="SubresourceWebBundles.MaxMemoryUsagePerProcess" units="bytes"
expires_after="2022-06-05">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The max memory usage per renderer process for subresource web bundles which
are kept in the network process's memory. Recorded when all the subresource
web bundles for the renderer process are released.
</summary>
</histogram>
<histogram name="SubresourceWebBundles.ReceivedSize" units="bytes"
expires_after="2022-06-05">
<owner>horo@chromium.org</owner>
<owner>webpackage-dev@chromium.org</owner>
<summary>
The received data size of a subresource web bundle. Recorded when received
all the body of the subresource web bundle.
</summary>
</histogram>
<histogram name="Suggestions.FailedRequestErrorCode" enum="NetErrorCodes"
expires_after="2020-02-23">
<owner>mathp@chromium.org</owner>
<summary>
The counts of network error codes encountered by SuggestionsService when an
attempt to fetch suggestions from the server fails.
</summary>
</histogram>
<histogram name="Suggestions.FetchResponseCode" enum="HttpResponseCode"
expires_after="2020-05-31">
<owner>mathp@chromium.org</owner>
<summary>
The counts of HTTP response codes encountered by SuggestionsService when
attempting to fetch suggestions from the server.
</summary>
</histogram>
<histogram name="Suggestions.FetchSuccessLatency" units="ms"
expires_after="M81">
<owner>mathp@chromium.org</owner>
<summary>
The latency of a SuggestionsService fetch that results in a success
response.
</summary>
</histogram>
<histogram name="Suggestions.LocalBlacklistSize" units="URLcount"
expires_after="M77">
<obsolete>
Removed some time before 10/2020.
</obsolete>
<owner>siggi@chromium.org</owner>
<summary>
Number of URLs present in the Suggestions local blacklist when the
Suggestions service is created.
</summary>
</histogram>
<histogram name="Suggestions.ResponseState" enum="SuggestionsResponseState"
expires_after="M77">
<owner>mathp@chromium.org</owner>
<summary>
The counts of response states (such as empty or invalid) encountered by
SuggestionsService when attempting to fetch suggestions from the server.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionEnablement"
enum="SupervisedUserExtensionEnablement" expires_after="2022-11-08">
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records supervised users trying to enable or disable extensions. Enabled
count increments when the supervised user successfully enables an extension.
Disabled count increments when the supervised user successfully disables an
extension. Enable attempt failed count increments when the parent has turned
off the &quot;Permissions for sites, apps and extensions&quot; toggle and
the supervised user tries to enable an extension that requires custodian
approval or has a permissions increase.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionInstallDialog"
enum="SupervisedUserExtensionInstallDialog" expires_after="2022-11-08">
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records the actions of supervised users on the Extension Install Dialog.
Opened count increments when the supervised user tries to install an
extension from the Chrome Web Store and launches the Extension Install
Dialog. Asked Parent count increments when the supervised user clicks
&quot;Ask a parent&quot;. Child Canceled count increments when the
supervised user clicks &quot;Cancel&quot;.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionInstallDialog.AskedParentUserTime"
units="ms" expires_after="2021-09-05">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds for the child user to click the
&quot;Ask a parent&quot; button on the Extension Install Dialog.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionInstallDialog.ChildCanceledUserTime"
units="ms" expires_after="2021-09-05">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds for the child user to click the
&quot;Cancel&quot; button on the Extension Install Dialog.
</summary>
</histogram>
<histogram name="SupervisedUsers.Extensions2" enum="SupervisedUserExtension2"
expires_after="2022-11-08">
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records the progress of supervised users as they try to install Chrome
extensions. Extension Approval Granted count increments when the custodian
initially grants approval to install the extension. Permissions Increase
Granted count increments when the supervised user approves a newer version
of an existing extension with increased permissions. Extension Approval
Removed count increments when the supervised user removes an extension.
</summary>
</histogram>
<histogram name="SupervisedUsers.ExtensionsMayRequestPermissions"
enum="BooleanEnabled" expires_after="2022-11-08">
<owner>tobyhuang@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records the state of the &quot;Permissions for sites, apps and
extensions&quot; toggle. When parents/custodians have the toggle enabled,
supervised users may install extensions with parent/custodian approval, and
can approve permission updates by themselves. Otherwise, supervised users
cannot install extensions and cannot approve permission updates. If the
toggle is disabled and an extension has permissions updates, the extension
would remain force-disabled. The Disabled count increments when the parent
flips the toggle off, and increments twice if the supervised user logs in
while the toggle is in the off state. The Enabled count increments when the
parent flips the toggle on, and increments twice if the supervised user logs
in while the toggle is in the on state. While the double counting upon
logging in is less than ideal, at least the counts are balanced relative to
each other.
</summary>
</histogram>
<histogram name="SupervisedUsers.ParentPermissionDialog"
enum="SupervisedUserParentPermissionDialog" expires_after="2022-11-08">
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Records the actions of parents on the Parent Permission Dialog. Opened count
increments when the Parent Permission Dialog first opens. Parent Approved
count increments when the parent successfully types their password and
approves the extension. Parent Canceled count increments when the parent
cancels the dialog, denying the supervised user's attempt to enable the
extension. Failed count increments when there was some sort of failure in
the Parent Permission Dialog. No Parent Error count increments when the
supervised user doesn't have any associated parent email addresses for
asking approval. Note that this error also increments the Failed count.
</summary>
</histogram>
<histogram name="SupervisedUsers.ParentPermissionDialog.FailedUserTime"
units="ms" expires_after="2021-05-02">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds after opening for the Parent
Permission Dialog to fail due to various reasons.
</summary>
</histogram>
<histogram name="SupervisedUsers.ParentPermissionDialog.ParentApprovedUserTime"
units="ms" expires_after="2021-05-02">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds for the parent to successfully
type their password and approve the extension.
</summary>
</histogram>
<histogram name="SupervisedUsers.ParentPermissionDialog.ParentCanceledUserTime"
units="ms" expires_after="2021-08-01">
<obsolete>
Removed in M91.
</obsolete>
<owner>tobyhuang@chromium.org</owner>
<owner>agawronska@chromium.org</owner>
<owner>danan@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Measures the amount of time in milliseconds for the parent to cancel the
Parent Permission Dialog.
</summary>
</histogram>
<histogram name="SupervisedUsers.PerAppTimeLimits.AppsWithTimeLimit"
units="Apps" expires_after="2022-10-11">
<owner>agawronska@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The count of applications with time limit set by parents. Recorded once per
PerAppTimeLimit policy change.
</summary>
</histogram>
<histogram name="SupervisedUsers.PerAppTimeLimits.BlockedAppsCount"
units="Apps" expires_after="2022-10-11">
<owner>agawronska@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The count of applications blocked by parents. It only applies to ARC++
applications. Recorded once per PerAppTimeLimit policy change.
</summary>
</histogram>
<histogram name="SupervisedUsers.PerAppTimeLimits.Engagement" units="Apps"
expires_after="2022-10-11">
<owner>agawronska@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
Per-App Time Limits feature engagement measured by the number of apps with
time limits set for child user. Reported at the beginning of each user
session.
</summary>
</histogram>
<histogram name="SupervisedUsers.PerAppTimeLimits.PolicyChangeCount"
units="Changes" expires_after="2022-10-11">
<owner>agawronska@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-families@google.com</owner>
<summary>
The total number of PerAppTimeLimits policy changes seen in a session.
Recorded once at the end of the session.
</summary>
</histogram>
<histogram name="Supervision.ParentAccessCode.Action"
enum="ParentAccessCodeAction" expires_after="2023-01-10">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Action originated in parent access code dialog. Logged every time the action
happens.
</summary>
</histogram>
<histogram name="Supervision.ParentAccessCode.Usage"
enum="ParentAccessCodeUsage" expires_after="2023-01-10">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The context in which parent access code was used. Logged every time the new
parent access dialog is shown.
</summary>
</histogram>
<histogram name="Supervision.ParentAccessCode.ValidationResult.{Action}"
enum="ParentAccessCodeValidationResult" expires_after="2023-01-10">
<owner>agawronska@chromium.org</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
The result of the parent access code validation for {Action} action. Logged
every time the code is validated from the parent access dialog.
</summary>
<token key="Action">
<variant name="AddUser"/>
<variant name="All"/>
<variant name="ClockChange"/>
<variant name="Reauth"/>
<variant name="TimeLimits"/>
<variant name="TimezoneChange"/>
</token>
</histogram>
<histogram name="Supervision.StatusReport.Event"
enum="SupervisionStatusReportEvent" expires_after="M85">
<owner>escordeiro@google.com</owner>
<owner>brunoad@google.com</owner>
<owner>ldaguilar@google.com</owner>
<summary>
The event that triggered status report for supervised account.
</summary>
</histogram>
<histogram name="SyncFileSystem.ConflictResolutionPolicy"
enum="SyncFSConflictResolutionPolicy" expires_after="M85">
<obsolete>
Removed in M37.
</obsolete>
<owner>pwnall@chromium.org</owner>
<summary>
Overridden conflict resolution policy of Sync FileSystem API. Recorded for
each API call to override the policy.
</summary>
</histogram>
<histogram name="SyncFileSystem.Database.Open" enum="LevelDBStatus"
expires_after="M77">
<obsolete>
Removed in M93.
</obsolete>
<owner>pwnall@chromium.org</owner>
<summary>The result of opening the Sync FileSystem backend database.</summary>
</histogram>
<histogram name="SyncFileSystem.MetadataNumber" units="units"
expires_after="M85">
<obsolete>
Removed in M93.
</obsolete>
<owner>pwnall@chromium.org</owner>
<summary>
The number of cached backing remote file metadata in the Sync FileSystem
database. Recorded at the initialization phase of Sync FileSystem.
</summary>
</histogram>
<histogram name="SyncFileSystem.RegisteredAppNumber" units="units"
expires_after="M85">
<obsolete>
Removed in M93.
</obsolete>
<owner>pwnall@chromium.org</owner>
<summary>
The number of Chrome Apps that uses Sync FileSystem with V2 backend.
Recorded at the initialization phase of Sync FileSystem.
</summary>
</histogram>
<histogram name="SyncFileSystem.RegisterOriginResult"
enum="SyncFSRemoteServiceState" expires_after="2018-08-30">
<obsolete>
Removed in M93.
</obsolete>
<owner>pwnall@chromium.org</owner>
<summary>
The result of the registration of Chrome App to Sync FileSystem.
</summary>
</histogram>
<histogram name="SyncFileSystem.RegisterOriginTime" units="ms"
expires_after="M77">
<obsolete>
Removed in M93.
</obsolete>
<owner>peria@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Time elapsed to register a Chrome App to SyncFilesystem. Recorded for each
registration request by apps.
</summary>
</histogram>
<histogram name="SyncFileSystem.TrackerDB.Open" enum="LevelDBStatus"
expires_after="2018-08-30">
<obsolete>
Removed in M93.
</obsolete>
<owner>pwnall@chromium.org</owner>
<summary>The result of opening the Sync FileSystem tracker database.</summary>
</histogram>
<histogram name="SyncFileSystem.TrackerNumber" units="units"
expires_after="M85">
<obsolete>
Removed in M93.
</obsolete>
<owner>pwnall@chromium.org</owner>
<summary>
The number of the directory tree node that maps backing files to local files
in the Sync FileSystem database. Recorded at the initialization phase of
SyncFileSystem.
</summary>
</histogram>
<histogram name="Tablet.AppDrag.EndWindowState"
enum="AppWindowDragEndWindowState" expires_after="2022-01-30">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
Drag an app window from top in tablet mode will result in different window
states. Logged when the app drag ended to record the window end state.
</summary>
</histogram>
<histogram name="Tablet.AppWindowDrag.CountOfPerUserSession" units="times"
expires_after="2022-05-01">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of the action that drag an app window from top in tablet mode.
Logged when the TabletModeController is destructed, which means the user
session is ended.
</summary>
</histogram>
<histogram name="Tablet.AppWindowDrag.InSplitView.CountOfPerUserSession"
units="times" expires_after="2022-05-01">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of the action that drag an app window from top in tablet mode
when splitview is active. Logged when the TabletModeController is
destructed, which means the user session is ended.
</summary>
</histogram>
<histogram name="Tablet.CountOfVolumeAdjustType" units="numbers"
expires_after="2022-10-01">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of each volume adjust type in tablet mode. Logged when starts
volume adjust while in tablet mode.
</summary>
</histogram>
<histogram name="Tablet.TabDrag.CountOfPerUserSession" units="times"
expires_after="2022-04-24">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of the action that drag a tab of the browser window in tablet
mode. Logged when the TabletModeController is destructed, which means the
user session is ended.
</summary>
</histogram>
<histogram name="Tablet.TabDrag.DragType" enum="TabDragType"
expires_after="2022-10-05">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The type of a tab drag done in tablet mode. Logged when start to drag a tab
of the browser window in tablet mode.
</summary>
</histogram>
<histogram name="Tablet.TabDrag.InSplitView.CountOfPerUserSession"
units="times" expires_after="2022-05-01">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of the action that drag a tab of the browser window in tablet
mode when splitview is active. Logged when the TabletModeController is
destructed, which means the user session is ended.
</summary>
</histogram>
<histogram name="Tablet.WindowDrag.DragEndEventType"
enum="WindowDragEndEventType" expires_after="2022-10-01">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The type of the window (app window or tab strip) drag end event in tablet
mode. Logged when the window drag in tablet mode ended.
</summary>
</histogram>
<histogram name="Tablet.WindowDrag.OpenedWindowsNumber" units="numbers"
expires_after="2022-10-01">
<owner>minch@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
The number of windows in overview when dragging a window from top in tablet
mode. Logged when start the window drag and overview has been opened behind.
</summary>
</histogram>
<histogram name="TaskQueueManager.ActiveQueuesCount" units="units"
expires_after="M85">
<owner>altimin@chromium.org</owner>
<owner>farahcharab@chromium.org</owner>
<summary>
Used to track the number of active task queues in the task queue manager.
Reported every time a task is selected for execution.
</summary>
</histogram>
<histogram name="TaskQueueSelector.TaskServicedPerSelectorLogic"
enum="TaskQueueSelectorLogic" expires_after="M85">
<owner>altimin@chromium.org</owner>
<owner>farahcharab@chromium.org</owner>
<summary>
Used to track the number of tasks serviced due to starvation versus the
number of tasks serviced due to priroity. Incremented whenever a task queue
is selected to service.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Certificates.Microsoft" units="certificates"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of certificates for modules loaded (or potentially loaded)
into the browser process that are signed by Microsoft. A catalog counts as a
single certificate, and may refer to many modules. Measured shortly after
startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Certificates.Total" units="certificates"
expires_after="2019-12-31">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of certificates for modules loaded (or potentially loaded)
into the browser process. A catalog counts as a single certificate, and may
refer to many modules. Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.GetDriveLetterPathFound" enum="BooleanFound"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether an equivalent driver letter path was found for a device
path.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Heartbeat.BlockedModulesCount"
units="modules" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the number of modules that were blocked from loading into the
browser process by the third-party DLL blocking feature. This is recorded
every 5 minutes.
</summary>
</histogram>
<histogram
name="ThirdPartyModules.Heartbeat.PrintingWorkaround.BlockingEnabled"
enum="BooleanEnabled" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether or not Chrome is still blocking third-party DLLs. This is a
bit that turns to false when the in-process printing is invoked. Recorded
every 5 minutes.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Heartbeat.UniqueBlockedModulesCount"
units="modules" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the number of unique modules that were blocked from loading into the
browser process by the third-party DLL blocking feature. This is recorded
every 5 minutes.
</summary>
</histogram>
<histogram name="ThirdPartyModules.InputMethodEditorsCount" units="counts"
expires_after="M77">
<owner>pmonette@chromium.org</owner>
<summary>
The number of registered input method editors found on the user's machine.
This is emitted shortly after startup when the IME enumeration takes place.
</summary>
</histogram>
<histogram name="ThirdPartyModules.InstalledApplications.GetDataTime"
units="ms" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records the time it took to gather the list of installed third-party
programs and their install location or components.
</summary>
</histogram>
<histogram name="ThirdPartyModules.InstalledApplications.GotUserSidString"
enum="BooleanSuccess" expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether retrieving the current user SID was successful.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Loaded" units="modules"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of third-party modules (neither Microsoft nor Google) that
are loaded in the browser process. Measured shortly after startup. Windows
only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.NotLoaded" units="modules"
expires_after="2019-12-31">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of third-party modules (neither Microsoft nor Google) that
are not yet loaded in the browser process, but may potentially be (shell
extensions, for example). Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Signed" units="modules"
expires_after="2019-12-31">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of signed modules loaded (or potentially loaded) into the
browser process. Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Signed.Catalog" units="modules"
expires_after="2019-12-31">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of modules loaded (or potentially loaded) into the browser
process that are signed via a catalog. Measured shortly after startup.
Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Signed.Microsoft" units="modules"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of modules loaded (or potentially loaded) into the browser
process that are signed by Microsoft. Measured shortly after startup.
Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Total" units="modules"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of modules loaded (or potentially loaded) into the browser
process. Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Modules.Unsigned" units="modules"
expires_after="M85">
<owner>chrisha@chromium.org</owner>
<summary>
The total number of unsigned modules loaded (or potentially loaded) into the
browser process. Measured shortly after startup. Windows only.
</summary>
</histogram>
<histogram name="ThirdPartyModules.ShellExtensionsCount3" units="counts"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
The number of registered shell extensions found on the user's machine. This
is emitted shortly after startup when the shell extensions enumeration is
done. Doesn't count duplicates.
</summary>
</histogram>
<histogram name="ThirdPartyModules.TimeDateStampObtained" enum="BooleanSuccess"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Indicates whether the TimeDateStamp for a loaded module was successfully
obtained.
</summary>
</histogram>
<histogram name="ThirdPartyModules.Uninstallable" enum="BooleanUninstallable"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<summary>
Records whether or not a loaded third party module could be uninstalled
using the Windows Apps &amp; Features page.
</summary>
</histogram>
<histogram name="ThreadWatcher.ResponseTime" units="ms"
expires_after="2022-05-11">
<owner>dschinazi@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
The time it takes indicated thread to respond with a pong message for a ping
message from WatchDog thread.
</summary>
</histogram>
<histogram name="ThreadWatcher.ResponsiveThreads" units="units"
expires_after="2022-05-11">
<owner>dschinazi@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
This is the total number of watched threads that are responding when we got
no response from the watched thread.
</summary>
</histogram>
<histogram name="ThreadWatcher.Unresponsive" units="ms"
expires_after="2022-05-11">
<owner>dschinazi@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
This is the total unresponsive time since last pong message for the
indicated thread when we got no response from the watched thread.
</summary>
</histogram>
<histogram name="ThreadWatcher.UnresponsiveThreads" units="units"
expires_after="2022-05-11">
<owner>dschinazi@chromium.org</owner>
<owner>src/net/OWNERS</owner>
<summary>
This is the total number of watched threads that are not responding when we
got no response from the watched thread.
</summary>
</histogram>
<histogram name="Thumbnails.CopyFromSurfaceTime" units="ms" expires_after="M90">
<obsolete>
Removed 01/2021.
</obsolete>
<owner>dfried@chromium.org</owner>
<owner>pbos@chromium.org</owner>
<summary>
While taking a screenshot of the current tab for use as a thumbnail, the
time it took to copy the tab's contents into a bitmap.
</summary>
</histogram>
<histogram name="Thumbnails.Gradient.ImageDetectionTime" units="ms"
expires_after="M84">
<owner>carlosk@chromium.org</owner>
<owner>skym@chromium.org</owner>
<summary>
The time it takes to detect whether a thumbnail requires a gradient overlay.
This is run when thumbnails are downloaded for content suggestions, as they
load and the result is cached for future use. It is Android specific.
</summary>
</histogram>
<histogram name="Thumbnails.Gradient.ImageRequiresGradient" enum="Boolean"
expires_after="M84">
<owner>carlosk@chromium.org</owner>
<owner>skym@chromium.org</owner>
<summary>
Whether a thumbnail used for a suggestions image requires a gradient to be
overlaid to not fade into the background. It applies to the thumbnails used
for content suggestions and is Android specific.
</summary>
</histogram>
<histogram name="Thumbnails.ProcessBitmapTime" units="ms" expires_after="M90">
<obsolete>
Removed 01/2021.
</obsolete>
<owner>dfried@chromium.org</owner>
<owner>pbos@chromium.org</owner>
<summary>
While taking a screenshot of the current tab for use as a thumbnail, the
time it took to post-process the captured bitmap.
</summary>
</histogram>
<histogram name="TileManager.ExceededMemoryBudget" enum="TileMemoryBudget"
expires_after="2021-10-25">
<obsolete>
Removed Sept 2021 due to lack of use.
</obsolete>
<owner>pdr@chromium.org</owner>
<owner>vmpstr@chromium.org</owner>
<summary>
Measures whether the tile manager exceeded the hard GPU memory budget
(OOMed). Recorded each time the tile manager assigns GPU memory to tiles.
</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.Event" enum="TimeZoneRequestEvent"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>Events in TimeZoneRequest.</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.ResponseCode" enum="HttpResponseCode"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>Http response codes in TimeZoneRequest.</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.ResponseFailureTime" units="ms"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>
The time elapsed between the sending of the first API request and the time
the final (failed) response was recorded. Includes all retries.
</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.ResponseSuccessTime" units="ms"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>
The time elapsed between the sending of the first API request and the time
the final (successfull) response was recorded. Includes all retries.
</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.Result" enum="TimeZoneRequestResult"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>Result of TimeZoneRequest.</summary>
</histogram>
<histogram name="TimeZone.TimeZoneRequest.Retries" units="units"
expires_after="never">
<!-- expires-never: This reports external time zone provider health status and
should be kept until we use this API. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>Number of retries until the final response was recorded.</summary>
</histogram>
<histogram name="Toolbar.ChromeLabs.AshOwnerCheckTime" units="ms"
expires_after="M107">
<owner>elainechien@chromium.org</owner>
<owner>labs-on-chrome@google.com</owner>
<summary>
Chrome Labs features user-facing experiments through a button in the
toolbar.
Tracks time elapsed between when IsOwnerAsync is called and the callback to
show the Chrome Labs bubble is called when IsOwnerAsync returns.
</summary>
</histogram>
<histogram name="Toolbar.ChromeLabs.{State}LabAction"
enum="ChromeLabsSelectedLab" expires_after="M107">
<owner>elainechien@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Chrome Labs features user-facing experiments through a button in the
toolbar.
This metric tracks which experiment (also called lab in the context of
Chrome Labs) a user selects {State} for. This histogram is emitted to when
{State} is selected in the combobox of the ChromeLabs dialog.
</summary>
<token key="State">
<variant name="Default" summary="Default state selected for lab"/>
<variant name="Disable" summary="Disabled state selected for lab"/>
<variant name="Enable" summary="Enabled state selected for lab"/>
</token>
</histogram>
<histogram name="Toolbar.Menu.NewIncognitoTabPresentationDuration" units="ms"
expires_after="M85">
<owner>peterlaurens@chromium.org</owner>
<summary>
The number of millseconds between the user requesting a new incognito tab,
e.g. by tapping the New Incognito Tab entry in the main tools menu, and it
completing its animation on screen.
</summary>
</histogram>
<histogram name="Toolbar.ShowToolsMenuResponsiveness" units="ms"
expires_after="M77">
<owner>peterlaurens@chromium.org</owner>
<summary>
Number of milliseconds passed between the event that triggers the
presentation of the tools menu (the main menu of actions accessed from the
toolbar), and the actual appearance of the menu on screen. Includes the
animation duration.
</summary>
</histogram>
<histogram name="Toolbar.TabSwitcher.NewIncognitoTabPresentationDuration"
units="ms" expires_after="M85">
<owner>peterlaurens@chromium.org</owner>
<summary>
The number of millseconds between the user requesting a new incognito tab,
from within the tab switcher, e.g. by tapping the New Tab button from the
tab switcher UI, and it completing its animation on screen.
</summary>
</histogram>
<histogram name="Toolbar.TabSwitcher.NewTabPresentationDuration" units="ms"
expires_after="M85">
<owner>peterlaurens@chromium.org</owner>
<summary>
The number of millseconds between the user requesting a new tab, from within
the tab switcher UI, e.g. by tapping the New Tab button from the tab
switcher UI, and it completing its animation on screen.
</summary>
</histogram>
<histogram name="TouchBar.Default.Metrics" enum="DefaultTouchBarActions"
expires_after="2022-07-03">
<owner>ellyjones@chromium.org</owner>
<owner>chrome-mac-dev@google.com</owner>
<summary>Tracks the usage of the default touch bar buttons.</summary>
</histogram>
<histogram name="Touchpad.Acceleration.Changed" enum="BooleanEnabled"
expires_after="M87">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks touchpad acceleration setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.Acceleration.Started" enum="BooleanEnabled"
expires_after="M87">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks touchpad acceleration setting on startup. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.Device" enum="TouchpadDeviceState"
expires_after="M85">
<owner>jhawkins@chromium.org</owner>
<summary>Tracks touchpad device state.</summary>
</histogram>
<histogram name="Touchpad.HapticClickSensitivity.Changed"
enum="HapticClickSensitivity" expires_after="2022-10-07">
<owner>gavinwill@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks touchpad haptic click sensitivity setting changes by the user. Only
reported on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.HapticClickSensitivity.Started"
enum="HapticClickSensitivity" expires_after="2022-10-07">
<owner>gavinwill@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks touchpad haptic click sensitivity setting on startup. Only reported
on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.HapticFeedback.Changed" enum="BooleanEnabled"
expires_after="2022-10-07">
<owner>gavinwill@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks touchpad haptic feedback setting changes by the user. Only reported
on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.HapticFeedback.Started" enum="BooleanEnabled"
expires_after="2022-10-07">
<owner>gavinwill@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Tracks touchpad haptic feedback setting on startup. Only reported on Chrome
OS.
</summary>
</histogram>
<histogram name="Touchpad.NaturalScroll.Changed" enum="BooleanEnabled"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad natural scroll setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.NaturalScroll.Started" enum="BooleanEnabled"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad natural scroll setting on startup. Only reported on Chrome
OS.
</summary>
</histogram>
<histogram name="Touchpad.PointerSensitivity.Changed" enum="PointerSensitivity"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad sensitivity setting changes by the user. This replaces the
old Touchpad.Sensitivity.Changed metric. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.PointerSensitivity.Started" enum="PointerSensitivity"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad sensitivity setting on startup. This replaces the old
Touchpad.Sensitivity.Started metric. Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="Touchpad.ScrollAcceleration" enum="BooleanEnabled"
expires_after="2020-12-01">
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>khorimoto@chromium.org</owner>
<owner>zentaro@chromium.org</owner>
<summary>
Whether touchpad scroll acceleration is enabled. Only reported on Chrome OS.
</summary>
</histogram>
<histogram base="true" name="Touchpad.ScrollSensitivity"
enum="PointerSensitivity" expires_after="2020-12-01">
<!-- Name completed by histogram_suffixes name="PreferenceChangeType" -->
<owner>khorimoto@chromium.org</owner>
<owner>zentaro@chromium.org</owner>
<summary>
Touchpad scroll sensitivity value. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.TapDragging.Changed" enum="BooleanEnabled"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad TapDragging setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.TapDragging.Started" enum="BooleanEnabled"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad TapDragging setting on startup. Only reported on Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.TapToClick.Changed" enum="BooleanEnabled"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad TapToClick setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="Touchpad.TapToClick.Started" enum="BooleanEnabled"
expires_after="2022-06-15">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Tracks touchpad TapToClick setting changes by the user. Only reported on
Chrome OS.
</summary>
</histogram>
<histogram name="TouchScreen.MissedTOUCHEVENTF_UP" enum="BooleanHit"
expires_after="2022-06-12">
<owner>girard@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Recorded when a touch event excludes an active touch (a touch-id/dwId that
previously generated a TOUCHEVENTF_DOWN, and has not since generated a
TOUCHEVENTF_UP). Chromium generates a simulated event to maintain
consistency/correctness. Only recorded on Windows.
This workaround will be removed once usage drops off. See
https://crbug.com/811273 for details.
</summary>
</histogram>
<histogram name="Touchscreen.TouchEventsEnabled"
enum="TouchEventFeatureDetectionState" expires_after="M77">
<owner>flackr@chromium.org</owner>
<summary>
Tracks whether Touch Event Feature Detection is enabled. This is based on
the touch events enabled flag and the presence of a touchscreen.
Team: input-dev@chromium.org.
NOTE: This metric was incorrectly recorded on Chrome OS for versions 42
through 45, see http://crbug.com/499476 for more details. As of
http://crbug.com/644318, we changed the internal name to
TouchEventFeatureDetection, but we still keep the old histogram name here to
keep consistensy.
</summary>
</histogram>
<histogram name="TPM.EarlyResetDuringCommand" units="count"
expires_after="2021-12-21">
<owner>apronin@chromium.org</owner>
<owner>mnissler@chromium.org</owner>
<owner>cros-hwsec+uma@chromium.org</owner>
<summary>
Reported at boot if the previous boot session was interrupted in the middle
of a TPM command during the first 30 seconds of uptime.
</summary>
</histogram>
<histogram name="Tracing.Background.FinalizationDisallowedReason"
enum="TracingFinalizationDisallowedReason" expires_after="2022-06-05">
<owner>ssid@chromium.org</owner>
<summary>
Reason why background tracing finalization was not allowed. Also see
&quot;Tracing.Background.ScenarioState&quot; metric, which records the total
number of times finalization was allowed and not allowed.
</summary>
</histogram>
<histogram name="Tracing.Background.FinalizingTraceSizeInKB" units="KB"
expires_after="2022-06-12">
<owner>oysteine@chromium.org</owner>
<summary>
The size, in kilobytes, of a finalized trace ready to be uploaded.
</summary>
</histogram>
<histogram name="Tracing.Background.NetworkConnectionTypeWhenStarted"
enum="NetworkConnectionType" expires_after="2021-02-21">
<owner>ssid@chromium.org</owner>
<summary>
Connection type of the network used to determine the trace buffer size, when
background tracing was triggered. Recorded only on Android.
</summary>
</histogram>
<histogram name="Tracing.Background.NetworkConnectionTypeWhenUploaded"
enum="NetworkConnectionType" expires_after="2020-12-20">
<owner>ssid@chromium.org</owner>
<summary>
Connection type of the network used to determine the trace upload limit,
when background tracing upload was started. Recorded only on Android.
</summary>
</histogram>
<histogram name="Tracing.Background.ScenarioState"
enum="BackgroundTracingState" expires_after="2022-06-05">
<owner>oysteine@chromium.org</owner>
<summary>
Records state of the Background Tracing system, from when scenarios are
attempted to be activated until they're completed (successfully or failed)
</summary>
</histogram>
<histogram name="Tracing.ProducerHostInitializationResult"
enum="TracingProducerHostInitializationResult" expires_after="2022-12-09">
<owner>eseckler@chromium.org</owner>
<owner>tracing@chromium.org</owner>
<summary>
Whenever a producer connects to the tracing service, records the
success/failure result of the connection.
</summary>
</histogram>
<histogram name="Tracing.SharedBufferIsValid" enum="BooleanSuccess"
expires_after="2022-09-19">
<owner>eseckler@chromium.org</owner>
<owner>tracing@chromium.org</owner>
<summary>
Records success or failure of creating the shared buffer in
ProducerClient::InitSharedMemoryIfNeeded()
</summary>
</histogram>
<histogram name="Tracing.ViewHierarchyDump.DumpDuration" units="ms"
expires_after="2022-07-01">
<owner>khokhlov@google.com</owner>
<owner>tracing@chromium.org</owner>
<summary>
Records the time it takes to dump a full view hierarchy into the trace.
</summary>
</histogram>
<histogram name="UI.DeviceScale" units="%" expires_after="2022-07-03">
<owner>bsep@chromium.org</owner>
<summary>
The device scales available on the system at startup. A system may report
more than one if it has multiple displays with varying device scales. Only
logged on Windows.
</summary>
</histogram>
<histogram name="UncompressAndParseSkiaVectorAsset" units="microseconds"
expires_after="M85">
<owner>malaykeshav@chromium.org</owner>
<summary>
Records the time spent in uncompressing a gzipped animation file.
</summary>
</histogram>
<histogram name="UnifiedConsent.MakeSearchesAndBrowsingBetter.OnStartup"
enum="BooleanEnabled" expires_after="never">
<!-- expires-never: Core metric for monitoring user settings for making searches and browsing better. -->
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<summary>
State of the user settings for making searches and browsing better, recorded
at startup.
</summary>
</histogram>
<histogram
name="UnifiedConsent.SyncAndGoogleServicesSettings.AfterAdvancedOptIn.SyncDataTypesOff"
enum="UnifiedConsentSyncDataTypesOffAfterAdvancedOptIn"
expires_after="never">
<!-- expires-never: Core metric for monitoring sync data types. -->
<owner>droger@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<summary>
All *off* sync data types are recorded when the user confirmed the sync
setup after going through the advanced opt-in flow.
</summary>
</histogram>
<histogram name="UpdateClient.BackgroundDownloaderJobs" units="jobs"
expires_after="M77">
<owner>sorin@chromium.org</owner>
<summary>
The number of download jobs found in the Windows BITS queue. This value is
expected to be zero in most cases, or a small number otherwise. Large values
indicate a problem with the job creation or clean up code. The metric is
recorded before a new BITS job is created and inserted into BITS queue.
</summary>
</histogram>
<histogram name="UpdateClient.BackgroundDownloaderNewJob" enum="Boolean"
expires_after="M77">
<owner>sorin@chromium.org</owner>
<summary>
True if a new BITS job was created to download the url, or false, if an
existing job was found in the BITS queue. The metric is recorded when the
component updater background downloader is asked to download a CRX.
</summary>
</histogram>
<histogram name="UpgradeDetector.DaysBeforeUpgrade" units="days"
expires_after="2022-05-31">
<owner>emshack@chromium.org</owner>
<owner>pbos@chromium.org</owner>
<summary>
Measures the days elapsed from an update being visible to the browser and
the browser being restarted or quit.
Warning: this histogram expired after M87, and was re-added in M92; data may
be missing.
</summary>
</histogram>
<histogram name="UpgradeDetector.HoursBeforeUpgrade" units="hours"
expires_after="2022-05-31">
<owner>emshack@chromium.org</owner>
<owner>pbos@chromium.org</owner>
<summary>
Measures the hours elapsed from an update being visible to the browser and
the browser being restarted or quit.
</summary>
</histogram>
<histogram name="UpgradeDetector.NotificationStage"
enum="UpgradeNotificationStage" expires_after="M77">
<owner>spqchan@chromium.org</owner>
<summary>
Tracks the upgrade notification stage. This is recorded with every UMA log.
</summary>
</histogram>
<histogram name="UpgradeDetector.PollType" enum="InstalledVersionPollType"
expires_after="M89">
<obsolete>
Removed in M90.
</obsolete>
<owner>grt@chromium.org</owner>
<owner>ydago@chromium.org</owner>
<summary>
Records the type of poll that first detected an installed version change.
Note that a browser that is running while multiple updates are applied will
only record this metric once.
</summary>
</histogram>
<histogram name="UpgradeDetector.RollbackReason"
enum="UpgradeDetectorRollbackReason" expires_after="2022-05-01">
<owner>mpolzer@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Tracks what is the reason we're doing a rollback instead of an update (going
to a more stable channel or admin-initiated enterprise rollback). We're
showing different notifications depending on the reason.
Sent when the device finished installing the rollback image, shows the
notification and is waiting for reboot.
This metric is specific to Chrome OS.
</summary>
</histogram>
<histogram name="Uptime.ChromeExecToLoginPromptVisibleAfterLogout" units="ms"
expires_after="2022-09-13">
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<owner>xiyuan@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between when Chrome is started, and
when the login prompt is again visible after a logout. This statistic is
only collected when preceeded by a logout.
Warning: this histogram was expired from M77 to M96 some data may be
missing.
</summary>
</histogram>
<histogram name="Uptime.DBusCrash" units="ms" expires_after="M85">
<owner>satorux@chromium.org</owner>
<owner>hashimoto@chromium.org</owner>
<summary>
The system uptime on Chrome OS when the dbus-daemon process crashes,
resulting in a reboot.
</summary>
</histogram>
<histogram name="Uptime.LoginPromptSetupTimeAfterLogout" units="ms"
expires_after="2022-09-13">
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<owner>xiyuan@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS for setting up for a login after a
logout. More specifically, it is the time between when the Cryptohome is
unmounted (the last step in the logout process) and when the login prompt is
again visible after a logout.
Warning: this histogram was expired from M85 to M96 some data may be
missing.
</summary>
</histogram>
<histogram name="Uptime.Logout" units="ms" expires_after="2022-09-13">
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<owner>xiyuan@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS when performing a logout. More
specifically, it is the time between when a logout is initiated and when the
Cryptohome is unmounted, signaling the last step in the logout process. This
statistic is not collected when the logout is part of a restart or shutdown.
Warning: this histogram was expired from 09/2020 to M96 some data may be
missing.
</summary>
</histogram>
<histogram name="Uptime.LogoutToLoginPromptVisible" units="ms"
expires_after="2022-09-13">
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<owner>xiyuan@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between initiating a logout and the
next time the login prompt is visible again. This statistic is not collected
if the machine is shutdown between the logout initiation and the prompt
becoming visible.
Warning: this histogram was expired from M77 to M96 some data may be
missing.
</summary>
</histogram>
<histogram name="Uptime.LogoutToUIStopAfterLogout" units="ms"
expires_after="2022-09-13">
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<owner>xiyuan@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between when a logout is initiated
and the UI has stopped (and Chrome has exited) during the logout process.
This statistic is not collected if the logout is part of a restart or
shutdown.
Warning: this histogram was expired from M77 to M96 some data may be
missing.
</summary>
</histogram>
<histogram name="Uptime.OtherProcessesTerminatedToChromeExecAfterLogout"
units="ms" expires_after="2022-09-13">
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<owner>xiyuan@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between when all user-associated
processes have been terminated during the logout process and when Chrome is
started again to show the login screen.
Warning: this histogram was expired from M77 to M96 some data may be
missing.
</summary>
</histogram>
<histogram name="Uptime.UIStopToProcessesTerminatedAfterLogout" units="ms"
expires_after="2022-09-13">
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<owner>xiyuan@chromium.org</owner>
<summary>
Measures the time elapsed on Chrome OS between when the UI has stopped
(Chrome has exited), and when all other associated processes have been
terminated during the logout process. This statistic is not collected if the
logout is part of a restart or shutdown.
Warning: this histogram was expired from M77 to M96 some data may be
missing.
</summary>
</histogram>
<histogram name="URL.Host.DidEscape" enum="BooleanEscaped"
expires_after="2022-09-09">
<owner>wanderview@chromium.org</owner>
<owner>dcheng@chromium.org</owner>
<summary>
Measures whether DoSimpleHost() in url_canon_host.cc escaped any characters
in the ASCII table. This is recorded every time a URL hostname is
successfully parsed.
</summary>
</histogram>
<histogram name="URL.Host.EscapeChar" enum="URLHostEscapedChar"
expires_after="2022-09-09">
<owner>wanderview@chromium.org</owner>
<owner>dcheng@chromium.org</owner>
<summary>
This histogram records which ASCII characters are escaped in DoSimpleHost().
Each escaped character is recorded separately, but only once for any
invocation of DoSimpleHost(). This can potentially be recorded every time a
URL hostname is parsed, but only if parsing escaped at least one character.
</summary>
</histogram>
<histogram name="UsageStats.Events" enum="UsageStatsEvents"
expires_after="2022-06-26">
<owner>pnoland@chromium.org</owner>
<owner>fgorski@chromium.org</owner>
<summary>
Android: count of Usage Stats events. Recorded as these events occur; e.g.
when a domain is associated with a token, or a site is suspended.
</summary>
</histogram>
<histogram name="UserImage.Changed" enum="ChromeOSUserImageId"
expires_after="M92">
<obsolete>
Removed in M92. Replaced by UserImage.Changed2, with the enum
ChromeOSUserImageId2.
</obsolete>
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Distribution of the device images that users changed (Chrome OS). The
statistic is recorded each time the user changes their device image to a
different one in Settings.
</summary>
</histogram>
<histogram name="UserImage.Changed2" enum="ChromeOSUserImageId2"
expires_after="2022-03-30">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Distribution of the device images that users changed (Chrome OS). The
statistic is recorded each time the user changes their device image to a
different one in Settings.
This metric supersedes UserImage.Changed due to a change in enum values.
</summary>
</histogram>
<histogram name="UserImage.LoggedIn" enum="ChromeOSUserImageId"
expires_after="M82">
<obsolete>
Removed in M92. Replaced by UserImage.LoggedIn2, with the enum
ChromeOSUserImageId updated.
</obsolete>
<owner>achuith@chromium.org</owner>
<summary>
Distribution of the default images that existing users login with (Chrome
OS). One sample is taken each time the user logs in.
</summary>
</histogram>
<histogram name="UserImage.LoggedIn2" enum="ChromeOSUserImageId"
expires_after="M92">
<obsolete>
Removed in M92. Replaced by UserImage.LoggedIn3, with new enum
ChromeOSUserImageId2.
</obsolete>
<owner>achuith@chromium.org</owner>
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Distribution of the default images that existing users login with (Chrome
OS). One sample is taken each time the user logs in.
</summary>
</histogram>
<histogram name="UserImage.LoggedIn3" enum="ChromeOSUserImageId2"
expires_after="2022-03-30">
<owner>achuith@chromium.org</owner>
<owner>alemate@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Distribution of the default images that existing users log in with (Chrome
OS). One sample is taken each time the user logs in.
This metric supersedes UserImage.LoggedIn2 due to a change in enum values.
Special value 0 (Camera image) of ChromeOSUserImageId2 is never recorded in
this histogram.
</summary>
</histogram>
<histogram name="UserImage.ProfileDownloadTime" units="ms" expires_after="M81">
<owner>achuith@chromium.org</owner>
<summary>The time it took to download user's profile picture.</summary>
</histogram>
<histogram name="UserManager.LoginUserType" enum="UserType"
expires_after="2022-04-24">
<owner>achuith@chromium.org</owner>
<summary>
The number of users of different types that log in to the system (Chrome
OS).
</summary>
</histogram>
<histogram name="UserManager.LogoutToLoginDelay" units="seconds"
expires_after="never">
<!-- expires-never: Core metric for monitoring Chrome OS logout/login
regressions. -->
<owner>alemate@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
The time between one regular user logging out and a different regular user
logging in (Chrome OS). Delays above thirty minutes or which span system
reboots or non-regular-user logins are not reported.
</summary>
</histogram>
<histogram name="UserManager.ProfileEverInitializedMigrationCompleted"
enum="BooleanCompleted" expires_after="M77">
<owner>atwilson@chromium.org</owner>
<summary>
Whether the profile_ever_initialized() user attribute migration has
completed for the current user.
</summary>
</histogram>
<histogram name="UserManager.UserTypeChanged" enum="UserTypeChanged"
expires_after="never">
<!-- expires-never: Core metric for monitoring User type change regressions. -->
<owner>alemate@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
This is logged when new user type reported by Gaia is different from the old
one (for existing user).
</summary>
</histogram>
<histogram name="UserSessionManager.RestoreOnCrash.AccountIdValid"
enum="BooleanValid" expires_after="2021-02-16">
<obsolete>
Removed 01/2021.
</obsolete>
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
The result of restoring account id on Chrome restart after crash on Chrome
OS.
</summary>
</histogram>
<histogram name="Vibration.Context" enum="NavigatorVibrationType"
expires_after="2019-01-30">
<owner>binlu@google.com</owner>
<summary>
Records instances of navigator.vibrate. Includes whether or not it comes
with a user gesture, same-origin subframe or cross-origin subframe.
</summary>
</histogram>
<histogram name="VideoPlayer.CastAPIExtensionStatus"
enum="VideoPlayerCastAPIExtensionStatus" expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: the results of the cast API extension load. This is
recorded after the initialization of the extension is finished.
</summary>
</histogram>
<histogram name="VideoPlayer.CastedVideoLength" units="seconds"
expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: the length of casted video (in seconds).
</summary>
</histogram>
<histogram name="VideoPlayer.NumberOfCastDevices" units="units"
expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: the number of cast devices. This is recorded when
the cast extension finishes the discovery.
</summary>
</histogram>
<histogram name="VideoPlayer.NumberOfOpenedFiles" units="units"
expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: the number of files being opened on launch.
</summary>
</histogram>
<histogram name="VideoPlayer.PlayType" enum="VideoPlayerPlayType"
expires_after="M85">
<owner>yoshiki@chromium.org</owner>
<summary>
Chrome OS Video Player: type of playback (eg. local play, cast). This is
recorded when a video starts playing.
</summary>
</histogram>
<histogram name="ViewResourceAdapter.GetBitmapInterval" units="ms"
expires_after="M82">
<owner>wychen@chromium.org</owner>
<owner>dtrainor@chromium.org</owner>
<summary>The interval between ViewResourceAdapter#getBitmap calls.</summary>
</histogram>
<histogram name="VirtualKeyboard.ControllerStateTransition"
enum="VirtualKeyboardControllerStateTransition" expires_after="M85">
<owner>oka@chromium.org</owner>
<summary>
An integer representing a state transition from x to y in the form of x *
1000 + y. If the transition is not expected, the value is negated. For
example an expected transition from SHOWING (= 2) to SHOWN (= 1) is denoted
as 2001, and an unexpected transition from SHOWING to SHOWING is denoted as
-2002. See KeyboardControllerState for the correspondence between the number
and the enum.
</summary>
</histogram>
<histogram name="VirtualKeyboard.InitLatency.FirstLoad" units="ms"
expires_after="M85">
<owner>oka@chromium.org</owner>
<summary>Latency of the keyboard being loaded for the first time.</summary>
</histogram>
<histogram name="VirtualKeyboard.KeyboardControlEvent"
enum="KeyboardControlEvent" expires_after="M85">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
A count of various control events that can occur on the virtual keyboard,
such as showing and hiding.
</summary>
</histogram>
<histogram name="VirtualKeyboard.LingeringIntermediateState"
enum="VirtualKeyboardControllerState" expires_after="M85">
<owner>oka@chromium.org</owner>
<summary>
Records whenever an intermediate keyboard state has been active for longer
than a fixed timeout.
</summary>
</histogram>
<histogram name="VoiceInteraction.AssistantActionPerformed{Source}"
enum="AssistantActionPerformed" expires_after="2022-06-12">
<owner>jds@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Android: The action performed by Assistant upon being invoked during a voice
search initiated via the {Source}, such as transcription of a voice search
query or translation of the current page. This is recorded after an
Assistant intent has completed successfully.
</summary>
<token key="Source">
<!-- Must be kept in sync with VoiceInteractionEventSource in enums.xml. -->
<variant name=".NTP" summary="NTP"/>
<variant name=".Omnibox" summary="Omnibox"/>
<variant name=".SearchWidget" summary="Search widget"/>
<variant name=".TasksSurface" summary="Tasks surface"/>
<variant name=".Toolbar" summary="Toolbar"/>
</token>
</histogram>
<histogram name="VoiceInteraction.AssistantIntent.TranslateExtrasAttached"
enum="BooleanSuccess" expires_after="2022-06-12">
<owner>jds@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Android: Whether Translate extras were successfully attached to an Assistant
intent. This is recorded just before the intent is sent to Assistant, and is
only recorded if the Translate extras are enabled.
</summary>
</histogram>
<histogram name="VoiceInteraction.AudioPermissionEvent{Timing}"
enum="AudioPermissionState" expires_after="2022-06-12">
<owner>basiaz@google.com</owner>
<owner>chrome-language@google.com</owner>
<summary>
Android: The events related to granting or denying audio permission for
system level transcription (as opposite to Assistant). Will be logged
{Timing}.
</summary>
<token key="Timing">
<variant name=""
summary="each time non-Assistant voice recognition is triggered with
a mic button press"/>
<variant name=".SessionStart" summary="on browser session start"/>
</token>
</histogram>
<histogram name="VoiceInteraction.DismissedEventSource"
enum="VoiceInteractionEventSource" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The source of a dismissed voice search, such as omnibox or NTP.
This is recorded after the dismissed intent returns to Chrome.
</summary>
</histogram>
<histogram name="VoiceInteraction.DismissedEventTarget"
enum="VoiceIntentTarget" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The target of a dismissed voice search, such as the system
transcription dialog or Assistant. This is recorded after the dismissed
intent returns to Chrome.
</summary>
</histogram>
<histogram name="VoiceInteraction.FailureEventSource"
enum="VoiceInteractionEventSource" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The source of a failed voice search, such as omnibox or NTP. This
is recorded after any intent failure, which could occur before an intent is
sent (if the send fails) or after the intent returns unsuccessfully. It will
only be recorded once.
</summary>
</histogram>
<histogram name="VoiceInteraction.FailureEventTarget" enum="VoiceIntentTarget"
expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The target of a failed voice search, such as the system
transcription dialog or Assistant. This is recorded after any intent
failure, which could occur before an intent is sent (if the send fails) or
after the intent returns unsuccessfully. It will only be recorded once.
</summary>
</histogram>
<histogram name="VoiceInteraction.FinishEventSource"
enum="VoiceInteractionEventSource" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The source of a successful voice search, such as omnibox or NTP.
This is recorded immediately after the successful intent returns to Chrome.
</summary>
</histogram>
<histogram name="VoiceInteraction.FinishEventTarget" enum="VoiceIntentTarget"
expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The target of a successful voice search, such as the system
transcription dialog or Assistant. This is recorded immediately after the
successful intent returns to Chrome.
</summary>
</histogram>
<histogram name="VoiceInteraction.IllegalContextRequest" enum="BooleanHit"
expires_after="M85">
<owner>muyuanli@chromium.org</owner>
<summary>
Counts the number of requests to retrieve voice interaction context when no
user interaction is initiated.
</summary>
</histogram>
<histogram name="VoiceInteraction.QueryDuration.Android" units="ms"
expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Records the time it takes between the user clicking the mic and chrome
receiving the transcribed voice query. This is recorded after an Assistant
intent has completed successfully.
</summary>
</histogram>
<histogram name="VoiceInteraction.QueryDuration.Android.Target.{Target}"
units="ms" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Records the time it takes between the user clicking the mic and chrome
receiving the transcribed voice query. This is recorded after an Assistant
intent has completed successfully. This histogram is limited to intents sent
to {Target}. See VoiceInteraction.QueryDuration.Android for the total count
across all targets.
</summary>
<token key="Target" variants="VoiceIntentTargetVariant"/>
</histogram>
<histogram name="VoiceInteraction.QueryDuration.Android{Action}" units="ms"
expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Records the time it takes between the user clicking the mic and chrome
receiving the intent response for {Action} actions. This is recorded after
an Assistant intent has completed successfully. These per-action variants
are recorded only when non-transcription actions are enabled. See
VoiceInteraction.QueryDuration.Android for the total count that includes
clients with non-transcription actions disabled.
</summary>
<token key="Action">
<!-- Must be kept in sync with AssistantActionPerformed in enums.xml. -->
<variant name=".Readout" summary="Readout"/>
<variant name=".Transcription" summary="Transcription"/>
<variant name=".Translate" summary="Translate"/>
<variant name=".Unknown" summary="Unknown"/>
</token>
</histogram>
<histogram name="VoiceInteraction.StartEventSource"
enum="VoiceInteractionEventSource" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The source of a voice search start event, such as omnibox or NTP.
This is recorded immediately before the voice transcription intent is sent.
</summary>
</histogram>
<histogram name="VoiceInteraction.StartEventTarget" enum="VoiceIntentTarget"
expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: The target of a voice search start event, such as the system
transcription dialog or Assistant. This is recorded immediately before the
voice transcription intent is sent.
</summary>
</histogram>
<histogram name="VoiceInteraction.UnexpectedResultSource"
enum="VoiceInteractionEventSource" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Android: The source of an incoming result that doesn't align with an
outgoing request from Chrome. This is recorded when the extraneous intent
response is received.
</summary>
</histogram>
<histogram name="VoiceInteraction.UnexpectedResultTarget"
enum="VoiceIntentTarget" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<summary>
Android: The target of an intent result that doesn't align with an outgoing
request from Chrome. This is recorded when the extraneous intent response is
received.
</summary>
</histogram>
<histogram name="VoiceInteraction.UserInteractionToRequestArrival" units="ms"
expires_after="M85">
<owner>muyuanli@chromium.org</owner>
<summary>
Records the time between user interaction and the actual request arrival.
</summary>
</histogram>
<histogram name="VoiceInteraction.VoiceResultConfidenceValue" units="%"
expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: Records the confidence value of a successful voice search as a
percentage. This is recorded when the voice intent returns successfully.
</summary>
</histogram>
<histogram name="VoiceInteraction.VoiceResultConfidenceValue.{Target}"
units="%" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: Records the confidence value of a successful voice search as a
percentage, limited to intents sent to {Target}. This is recorded when the
voice intent returns successfully.
</summary>
<token key="Target" variants="VoiceIntentTargetVariant"/>
</histogram>
<histogram name="VoiceInteraction.VoiceSearchResult" enum="BooleanSuccess"
expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: Records whether the voice search produced results. This is recorded
when the voice intent returns successfully.
</summary>
</histogram>
<histogram name="VoiceInteraction.VoiceSearchResult.{Target}"
enum="BooleanSuccess" expires_after="2022-06-12">
<owner>wylieb@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<summary>
Android: Records whether the voice search produced results, limited to
intents sent to {Target}. This is recorded when the voice intent returns
successfully.
</summary>
<token key="Target" variants="VoiceIntentTargetVariant"/>
</histogram>
<histogram name="Web.CurrentOriginEqualsLastCommittedOrigin"
enum="BooleanEqual" expires_after="2022-11-17">
<owner>ajuma@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
[iOS] Reports URL matches between the return value from the WebState's
GetLastCommittedURL and GetCurrentURL methods. It is expected the origins
will be equal to confirm that GetCurrentURL can now be replaced with
GetLastCommittedURL. This will be called each time WebStateImpl::
GetCurrentURL(URLVerificationTrustLevel* trust_level) is called, which is an
old method of obtaining the url and trust level. The trust level was only
relevant with UIWebView, so this method is only called from code which has
not yet been updated since UIWebView was removed.
</summary>
</histogram>
<histogram name="WebContentsObserver.{Method}" units="ms"
expires_after="2022-09-07">
<owner>cduvall@chromium.org</owner>
<owner>jam@chromium.org</owner>
<summary>
Measures the time it takes to call all observers of the WebContents observer
method {Method}. Logged every time the method is called.
</summary>
<token key="Method" variants="WebContentsObserverMethods"/>
</histogram>
<histogram name="WebContextFetcher.Time.RunJavaScript" units="ms"
expires_after="2021-11-01">
<owner>benwgold@chromium.org</owner>
<owner>mdjones@chromium.org</owner>
<summary>
Records the number of milliseconds that it takes for a web context fetch to
complete. Recorded when the javascript execution completes. To start will be
used for Google Lens image queries to track time to retrieve page context,
but may extend to other features over time.
</summary>
</histogram>
<histogram name="WebController.BackForwardListOutOfSync" enum="BooleanHit"
expires_after="2021-12-25">
<owner>ajuma@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
[iOS] Counts the number of time the backForwardList of the WebView gets out
of sync with the URL exposed by the WebView. This should not happen and is
probably an issue in WebKit. This is only recorded when there is an error.
</summary>
</histogram>
<histogram name="WebController.BackForwardListOutOfSyncInProvisionalNavigation"
enum="IOSOutOfSyncURLAction" expires_after="2021-12-25">
<obsolete>
Removed 2021-11, since the WebKit bug whose occurrences were being tracked
by this metric no longer reprodcues on iOS 13+.
</obsolete>
<owner>ajuma@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
[iOS] Records the action take when the backForwardList of the WebView is out
of sync with the URL exposed by the WebView when starting a new provisional
navigation. The URLs can get out of sync because of a bugs in WebKit. This
is only recorded when the URLs are out of sync.
</summary>
</histogram>
<histogram name="WebController.CertVerificationErrorsCacheHit"
enum="BooleanCacheHit" expires_after="2022-05-01">
<owner>ajuma@chromium.org</owner>
<owner>gambard@chromium.org</owner>
<summary>
[iOS] Report cache hit/miss for WKWebView cert verification.
CRWWKNavigationHandler has a cache of pending cert verification results to
avoid extra verifications when presenting SSL interstitial. This metric
helps to understand how often this cache miss happens.
</summary>
</histogram>
<histogram name="WebController.ExternalURLRequestBlocking"
enum="IOSExternalURLRequestStatus" expires_after="2021-08-09">
<owner>mrefaat@chromium.org</owner>
<summary>
[iOS] Measures the proportion of external URL requests that originate from a
subframe without any user interaction (e.g. an advertisement contains an
iframe directed at the App Store).
</summary>
</histogram>
<histogram name="WebFont.BlankTextShownTime" units="ms"
expires_after="2022-07-03">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
A histogram tracking the time we spent showing blank text because a web font
wasn't available by the time we needed it. Measured once per @font-face that
ended up showing blank text.
</summary>
</histogram>
<histogram name="WebFont.CacheHit" enum="WebFontCacheHit"
expires_after="2022-06-05">
<owner>hajimehoshi@chromium.org</owner>
<owner>kenjibaheux@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
Recorded upon web fonts load. Counts the number of times web font is loaded
from cache (disk cache or memory cache), fetched over network, or served
from data URL.
</summary>
</histogram>
<histogram name="WebFont.Clients.AlignFontDisplayAuto.FontFacesAffected"
units="fonts" expires_after="M86">
<owner>kenjibaheux@chromium.org</owner>
<owner>xiaochengh@chromium.org</owner>
<summary>
The number of 'font-display: auto' web fonts whose display periods are
modified to 'swap' or 'failure' before a timeout to ensure a good LCP. This
is a diagnostic metric for feature AlignFontDisplayAutoTimeoutWithLCPGoal.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.0.Under10KB" units="ms"
expires_after="2022-07-03">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of under
10KB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.1.10KBTo50KB" units="ms"
expires_after="2022-01-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of
10KB-50KB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.2.50KBTo100KB" units="ms"
expires_after="2022-01-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of
50KB-100KB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.3.100KBTo1MB" units="ms"
expires_after="2022-01-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of
100KB-1MB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.4.Over1MB" units="ms"
expires_after="2022-01-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time it takes for a webfont download to finish, for webfonts of over
1MB.
</summary>
</histogram>
<histogram name="WebFont.DownloadTime.LoadError" units="ms"
expires_after="2022-05-22">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The time taken for a webfont download that failed. Includes aborted
requests.
</summary>
</histogram>
<histogram name="WebFont.FontDisplayValue" enum="FontDisplayValue"
expires_after="2021-03-21">
<obsolete>
Removed 2021-03
</obsolete>
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
The value of font-display @font-face descriptor. Counted only when
explicitly specified in the @font-face rule.
</summary>
</histogram>
<histogram name="WebFont.HadBlankText" enum="BooleanHadBlankText"
expires_after="2022-05-15">
<owner>kenjibaheux@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
This metrics is logged when a page that use web fonts is loaded. The value
is whether we had to wait on at least one web font and ended up showing
blank text, or not.
</summary>
</histogram>
<histogram base="true" name="WebFont.HttpCacheStatus" enum="HttpCachePattern"
expires_after="2021-11-08">
<owner>yaoxia@chromium.org</owner>
<owner>shivanisha@chromium.org</owner>
<summary>
For each http cache transaction for a font in Google Fonts, record the cache
status.
</summary>
</histogram>
<histogram name="WebFont.LoadLimitOnDiskCacheMiss" enum="WebFontLoadLimitState"
expires_after="2021-03-21">
<obsolete>
Removed in M91.
</obsolete>
<owner>ksakamoto@chromium.org</owner>
<owner>toyoshim@chromium.org</owner>
<summary>
The load limit state when the first disk-cache-only request fails by cache
miss, if WebFonts cache-aware timeout adaptation is enabled and applicable.
</summary>
</histogram>
<histogram name="WebFont.LocalFontUsed" enum="BooleanUsage"
expires_after="2022-07-11">
<owner>hajimehoshi@chromium.org</owner>
<owner>kenjibaheux@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<owner>ksakamoto@chromium.org</owner>
<summary>
Whether a locallly installed font is actually used when @font-face had local
sources.
</summary>
</histogram>
<histogram name="WebHistory.LocalResultMissingOnServer" units="%"
expires_after="2018-08-30">
<owner>zea@chromium.org</owner>
<summary>
Percentage of results that are present locally but are not returned by the
web history API call. Recorded every time a signed-in user visits the
chrome://history page and the results from the web history are received.
</summary>
</histogram>
<histogram name="WebHistory.OAuthTokenCompletion" enum="BooleanSuccess"
expires_after="2018-08-30">
<owner>zea@chromium.org</owner>
<summary>
Whether getting the OAuth token was successful for a web history query. On
visits to the chrome://history page this token is obtained and then used to
get the user's synced web history.
</summary>
</histogram>
<histogram name="WebHistory.OAuthTokenResponseCode" units="code"
expires_after="2018-08-30">
<owner>zea@chromium.org</owner>
<summary>
HTTP Response code returned by the server when trying to fetch the OAuth
token for a web history query.
</summary>
</histogram>
<histogram name="WebHistory.QueryCompletion" enum="WebHistoryStatus"
expires_after="M77">
<owner>zea@chromium.org</owner>
<summary>
Whether the web history API call was successful. Every time a signed-in user
visits the chrome://history page this query is executed to get the user's
synced web history. If successful, the local and remote results are merged
and shown in the history page.
</summary>
</histogram>
<histogram name="WebHistory.ResponseTime" units="ms" expires_after="2018-08-30">
<owner>zea@chromium.org</owner>
<summary>
Time it took for the web history to reply. Recorded when the web history API
call triggered by visiting chrome://history receives the data, measuring how
much time it took for the server to reply.
</summary>
</histogram>
<histogram name="WebP.DecodedImageFormat" enum="WebpDecodedFormat"
expires_after="2020-12-13">
<obsolete>
No longer recorded in M89.
</obsolete>
<owner>droger@chromium.org</owner>
<summary>
Histogram for the format of decoded WebP images on iOS, as Chrome re-encodes
WebP images on that platform.
</summary>
</histogram>
<histogram name="WebShare.ApiCount" enum="WebShareMethod"
expires_after="2022-06-26">
<owner>mgiuca@chromium.org</owner>
<summary>
Counts the number of calls to navigator.share. Includes both successful and
failed shares.
</summary>
</histogram>
<histogram name="WebShare.ShareOutcome" enum="WebShareOutcome"
expires_after="M85">
<owner>mgiuca@chromium.org</owner>
<summary>
Records the outcome of calls to navigator.share. This will not count any
calls that never complete (e.g., if the page closes while the picker is
open). Therefore, DO NOT look at the raw percentages of this histogram;
instead, compare these numbers with the WebShare.ApiCount.Share total.
NOTE: At the moment, if the user cancels the picker, its recording will be
delayed, and possibly never recorded (https://crbug.com/636274), so that
will account for a discrepancy between ShareOutcome and ApiCount.Share.
</summary>
</histogram>
<histogram name="websql.OpenDatabase" enum="BooleanSecure"
expires_after="never">
<!-- expires-never: core storage metric; consumed in separate dashboard (go/chrome-storage-dashboard) -->
<owner>dmurph@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Counts the number of WebSQL databases opened for secure vs insecure origins.
</summary>
</histogram>
<histogram name="Webstore.ExtensionInstallResult" enum="BooleanSuccess"
expires_after="M81">
<owner>jackhou@chromium.org</owner>
<summary>
The success or failure of all extension installs from the webstore. This
includes those initiated by sync.
</summary>
</histogram>
<histogram name="WebUI.CreatedForUrl" enum="WebUIUrlHashes"
expires_after="2022-06-26">
<owner>dbeam@chromium.org</owner>
<summary>URLs for which Chrome creates WebUIControllers.</summary>
</histogram>
<histogram name="WebUI.Settings.PathVisited" enum="WebUISettingsPathHashes"
expires_after="2022-06-26">
<owner>dschuyler@chromium.org</owner>
<owner>tbuckley@chromium.org</owner>
<owner>bettes@chromium.org</owner>
<summary>
Paths within chrome://settings visited. For evaluating popularity and
priorities for chrome://settings GUI. Note that this metric used to include
paths that were part of OS settings, but starting with M-81, this metric
only records browser settings paths.
</summary>
</histogram>
<histogram name="WebUI.WebUIURLLoaderFactory.URLRequestLoadTime" units="ms"
expires_after="2022-06-01">
<owner>dpapad@chromium.org</owner>
<owner>etienneb@chromium.org</owner>
<owner>tluk@chromium.org</owner>
<summary>
The elapsed time for URL requests made through the WebUIURLLoaderFactory.
The reported duration is the time spent in the browser process from the
reception of the mojo request up to the content delivery through mojo call.
</summary>
</histogram>
<histogram name="WebUITabStrip.CloseAction" enum="WebUITabStripCloseActions"
expires_after="2022-06-26">
<owner>collinbaker@chromium.org</owner>
<owner>tluk@chromium.org</owner>
<summary>
The WebUI tab strip is a more touch-friendly tab strip used in place of
Chrome's native tab strip in some cases. It can be opened and closed. This
records how a user closed it.
</summary>
</histogram>
<histogram name="WebUITabStrip.CloseTabAction"
enum="WebUITabStripCloseTabActions" expires_after="2022-07-03">
<owner>johntlee@chromium.org</owner>
<owner>dpapad@chromium.org</owner>
<summary>
The WebUI tab strip is a more touch-friendly tab strip used in place of
Chrome's native tab strip in some cases. This records how a user closed a
tab within the WebUI tab strip.
</summary>
</histogram>
<histogram name="WebUITabStrip.LoadCompletedTime" units="ms"
expires_after="2022-05-21">
<owner>yuhengh@chromium.org</owner>
<owner>tluk@chromium.org</owner>
<owner>romanarora@chromium.org</owner>
<summary>
The amount of time between the render frame host StartProvisionalLoad event
and the render frame DocumentOnLoadCompleted event for the WebUI tab strip
page. This happens once when a browser window with WebUI tab strip enabled
is created. WebUITabStrip.LoadDocumentTime should be smaller or equal to
WebUITabStrip.LoadCoimpletedTime.
</summary>
</histogram>
<histogram name="WebUITabStrip.LoadDocumentTime" units="ms"
expires_after="2022-05-21">
<owner>yuhengh@chromium.org</owner>
<owner>tluk@chromium.org</owner>
<owner>romanarora@chromium.org</owner>
<summary>
The amount of time between the render frame host StartProvisionalLoad and
DidFinishDocumentLoad events for the WebUI tab strip page. This happens once
when a browser window with WebUI tab strip enabled is created.
WebUITabStrip.LoadDocumentTime should be smaller or equal to
WebUITabStrip.LoadCoimpletedTime.
</summary>
</histogram>
<histogram name="WebUITabStrip.OpenAction" enum="WebUITabStripOpenActions"
expires_after="2022-06-12">
<owner>collinbaker@chromium.org</owner>
<owner>tluk@chromium.org</owner>
<summary>
The WebUI tab strip is a more touch-friendly tab strip used in place of
Chrome's native tab strip in some cases. It can be opened and closed. This
records how a user opened it.
</summary>
</histogram>
<histogram name="WebUITabStrip.OpenDuration" units="ms"
expires_after="2022-06-19">
<owner>collinbaker@chromium.org</owner>
<owner>tluk@chromium.org</owner>
<summary>
The WebUI tab strip is a more touch-friendly tab strip used in place of
Chrome's native tab strip in some cases. It can be opened and closed. This
records how long it was open when closing.
</summary>
</histogram>
<histogram name="WebUITabStrip.TabActivation" units="ms"
expires_after="2022-06-12">
<owner>robliao@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
WebUI Tabstrip: Time from activating a tab from WebUI to receiving an
activation notification in WebUI.
</summary>
</histogram>
<histogram name="WebUITabStrip.TabCreation" units="ms"
expires_after="2022-06-12">
<owner>robliao@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
WebUI Tabstrip: Time needed to create all of the tab elements at launch.
</summary>
</histogram>
<histogram name="WebUITabStrip.TabDataReceived" units="ms"
expires_after="2022-04-24">
<owner>robliao@chromium.org</owner>
<owner>johntlee@chromium.org</owner>
<summary>
WebUI Tabstrip: Time from requesting the tab data to receiving the data.
</summary>
</histogram>
<histogram name="WebUsb.ChooserClosed" enum="WebUsbChooserClosed"
expires_after="never">
<!-- expires-never: Used to monitor user interaction with the WebUSB API. -->
<owner>reillyg@chromium.org</owner>
<summary>
Records the reason why the WebUSB device chooser was closed.
</summary>
</histogram>
<histogram name="WebUsb.NotificationClosed" enum="WebUsbNotificationClosed"
expires_after="never">
<!-- expires-never: Used to monitor user interaction with the WebUSB API. -->
<owner>reillyg@chromium.org</owner>
<summary>
Records the reason why the &quot;WebUSB device detected&quot; notification
was dismissed.
</summary>
</histogram>
<histogram name="WebUsb.PermissionRevoked" enum="WebUsbPermissionRevoked"
expires_after="never">
<!-- expires-never: Used to monitor user interaction with the WebUSB API. -->
<owner>reillyg@chromium.org</owner>
<summary>
Records when the user revokes permission for an origin to connect to a USB
device using the WebUSB API.
</summary>
</histogram>
<histogram name="WebView.ApiCall" enum="WebViewApiCall"
expires_after="2022-01-31">
<obsolete>
Renamed in M99. Please see &quot;Android.WebView.ApiCall&quot; going
forward, which has the same logging behavior.
</obsolete>
<owner>ntfschr@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>Records calls to WebView APIs in WebViewChromium.</summary>
</histogram>
<histogram name="Welcome.SignInPromptResult" enum="WelcomeSignInPromptOutcome"
expires_after="2021-08-29">
<owner>tmartino@chromium.org</owner>
<owner>msarda@chromium.org</owner>
<owner>droger@chromium.org</owner>
<owner>chrome-signin-team@google.com</owner>
<summary>
Records the result of promoting sign-in via the Welcome page.
</summary>
</histogram>
<histogram name="Welcome.Win10.DefaultPromptResult" enum="BooleanDefault"
expires_after="M85">
<owner>tmartino@chromium.org</owner>
<summary>
Records whether or not Chrome was the default browser when the user left the
Win10-specific Welcome page.
</summary>
</histogram>
<histogram name="Welcome.Win10.NewPromoPageAdded" enum="BooleanShown"
expires_after="M77">
<owner>pmonette@chromium.org</owner>
<owner>tmartino@chromium.org</owner>
<summary>
Emits a &quot;true&quot; sample when the revamped WebUI-based welcome page
is added to the startup tabs list. This means that barring an error on
startup, it was shown to the user. This histogram can only be recorded
during first-run flow, when the EnableWelcomeWin10 experiment is enabled.
</summary>
</histogram>
<histogram name="Welcome.Win10.OriginalPromoPageAdded" enum="BooleanShown"
expires_after="M85">
<owner>pmonette@chromium.org</owner>
<owner>tmartino@chromium.org</owner>
<summary>
Emits a &quot;true&quot; sample when the old external welcome page is added
to the startup tabs list. This means that barring an error on startup, it
was shown to the user. This histogram can only be recorded during first-run
flow, when the EnableWelcomeWin10 experiment is disabled.
</summary>
</histogram>
<histogram name="Welcome.Win10.PinCheckTimedOut" enum="BooleanTimedOut"
expires_after="M77">
<owner>pmonette@chromium.org</owner>
<owner>tmartino@chromium.org</owner>
<summary>
Records whether or not the check that verifies if Chrome is pinned to the
taskbar has timed out. This check is done when the welcome page is opened in
order to determine which instructions to display to the user.
</summary>
</histogram>
<histogram name="Welcome.Win10.PinnedPromptResult" enum="BooleanPinned"
expires_after="M85">
<owner>tmartino@chromium.org</owner>
<summary>
Records whether or not Chrome was pinned to the taskbar when the user left
the Win10-specific Welcome page.
</summary>
</histogram>
<histogram name="WhatsNew.LoadEvent" enum="WhatsNewLoadEvent"
expires_after="2022-06-05">
<owner>rbpotter@chromium.org</owner>
<owner>mahmadi@chromium.org</owner>
<summary>
Records load events for the What's New page when a load event occurs. This
tracks how many times loading remote content is attempted, and whether it
succeeds, fails and results in an error page, fails and redirects to the New
Tab Page, fails and doesn't open the tab (for preloading), or fails and
closes the tab. Load is attempted when the page is first opened or on first
startup after updating to a new milestone. Success or failure will occur
when the network request completes. Desktop only.
</summary>
</histogram>
<histogram name="WhatsNew.LoadResponseCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="2022-07-03">
<owner>rbpotter@chromium.org</owner>
<owner>mahmadi@chromium.org</owner>
<summary>
Records the net error or HTTP response code of the network request for the
remote content for the iframe in the What's New page. This request is
triggered when the What's New page is opened. Desktop only.
</summary>
</histogram>
<histogram name="WheelScrolling.WasLatched" enum="BooleanLatched"
expires_after="M77">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Records whether or not a GSU event with wheel source is latched to the
current scrolling element. It is false for the first GSU event of every
scrolling sequence and true for the rest of the GSU events.
</summary>
</histogram>
<histogram name="Win8.PageLoad" enum="Win8PageLoadType" expires_after="M85">
<owner>zturner@chromium.org</owner>
<summary>
Count of page loads in each of the 2 different environments (metro/desktop)
on Windows 8.
</summary>
</histogram>
<histogram name="WindowManager.AppWindowCountPerLoad" units="units"
expires_after="M82">
<owner>kuscher@chromium.org</owner>
<summary>
The number of app windows open when a load completes. This includes windows
opened by an app shortcut, or apps opened in a popup. This only counts v1
apps.
</summary>
</histogram>
<histogram name="WindowManager.PopUpWindowCountPerLoad" units="units"
expires_after="M82">
<owner>kuscher@chromium.org</owner>
<summary>
The number of popup windows open when a load completes. Popup windows only
have one content area (no multiple tabs) and a stripped down toolbar
consisting only of a read-only address bar.
</summary>
</histogram>
<histogram name="WindowManager.TabbedWindowCountPerLoad" units="units"
expires_after="M82">
<owner>kuscher@chromium.org</owner>
<summary>
The number of tabbed windows open when a load completes. A tabbed window is
a normal browser window which can have one or more tabs.
</summary>
</histogram>
<histogram name="WindowOcclusionChanged" enum="WindowOcclusionState"
expires_after="2021-10-04">
<obsolete>
Retired in M99.
</obsolete>
<owner>davidbienvenu@chromium.org</owner>
<owner>fdoray@chromium.org</owner>
<summary>
A top level window's occlusion state. Recorded each time the state changes.
</summary>
</histogram>
<histogram name="WinJumplist.Action" enum="WinJumplistCategory"
expires_after="M77">
<owner>noms@chromium.org</owner>
<summary>The type of category clicked in the Windows Jumplist</summary>
</histogram>
<histogram name="WorkerThread.ExitCode" enum="WorkerThreadExitCode"
expires_after="2021-10-31">
<owner>nhiroki@chromium.org</owner>
<owner>chrome-worker@google.com</owner>
<summary>Records the exit code of WorkerThread.</summary>
</histogram>
<histogram name="WrenchMenu.MenuAction" enum="WrenchMenuAction"
expires_after="2022-06-12">
<owner>ainslie@chromium.org</owner>
<owner>edwardjung@chromium.org</owner>
<summary>Number of times that each menu item is clicked.</summary>
</histogram>
<histogram name="WrenchMenu.RecentTabsSubMenu" enum="RecentTabsAction"
expires_after="M85">
<owner>rpop@chromium.org</owner>
<summary>
The number of times each tab or window restore option in the Recent Tabs
submenu is clicked.
</summary>
</histogram>
<histogram name="WrenchMenu.TimeToAction" units="units"
expires_after="2022-07-03">
<owner>ainslie@chromium.org</owner>
<owner>edwardjung@chromium.org</owner>
<summary>
The time a user takes to select a menu item after opening the menu.
</summary>
</histogram>
<histogram name="WrenchMenu.TouchDuration" units="ms" expires_after="M85">
<owner>kkimlabs@chromium.org</owner>
<summary>
Time difference between touch down and touch up on Android wrench button.
</summary>
</histogram>
<histogram name="X11.XInternAtomFailure" units="count"
expires_after="2021-01-01">
<obsolete>
Removed July 2021 as enough data was collected.
</obsolete>
<owner>huangdarwin@chromium.org</owner>
<owner>src/ui/base/clipboard/OWNERS</owner>
<summary>
Counts how often the X11 server fails to register an atom. Recorded when
::XInternAtom fails (returns None). Failure rates will inform whether we
implement error handling. https://crbug.com/1000919
</summary>
</histogram>
<histogram name="XHR.Async.PageDismissal" enum="XHRPageDismissalState"
expires_after="M81">
<owner>panicker@chromium.org</owner>
<summary>
Records occurence of async XHR during page dismissal state (unload,
beforeunload, pagehide etc).
</summary>
</histogram>
<histogram name="XHR.Sync.BlockingTime.MainThread" units="ms"
expires_after="2021-01-01">
<owner>foolip@chromium.org</owner>
<summary>
Records the time spent in sync XHR requests on the main thread.
</summary>
</histogram>
<histogram name="XHR.Sync.BlockingTime.WorkerThread" units="ms"
expires_after="2021-01-01">
<owner>foolip@chromium.org</owner>
<summary>
Records the time spent in sync XHR requests in a worker thread.
</summary>
</histogram>
<histogram name="XHR.Sync.PageDismissal" enum="XHRPageDismissalState"
expires_after="2020-06-28">
<owner>panicker@chromium.org</owner>
<summary>
Records occurence of sync XHR during page dismissal state (unload,
beforeunload, pagehide etc).
</summary>
</histogram>
<histogram name="XHR.Sync.PageDismissal_forbidden" enum="XHRPageDismissalState"
expires_after="2020-05-24">
<owner>kdillon@chromium.org</owner>
<owner>panicker@chromium.org</owner>
<summary>
Records occurence of sync XHR requests during page dismissal state (unload,
beforeunload, pagehide etc) that were forbidden.
</summary>
</histogram>
<histogram name="ZeroSuggest.AllResults" units="units"
expires_after="2020-03-01">
<owner>hfung@chromium.org</owner>
<summary>
The number of results (either query or URL) from ZeroSuggest. This is set
every time a successful response from ZeroSuggest is received, which can be
every time the user focuses on the omnibox.
</summary>
</histogram>
<histogram name="ZeroSuggest.QueryResults" units="units" expires_after="M77">
<owner>hfung@chromium.org</owner>
<summary>
The number of query results returned from ZeroSuggest. This is set every
time a successful response from ZeroSuggest is received, which can be every
time the user focuses on the omnibox.
</summary>
</histogram>
<histogram name="ZeroSuggest.URLResults" units="units" expires_after="M77">
<owner>hfung@chromium.org</owner>
<summary>
The number of URL results returned from ZeroSuggest. This is set every time
a successful response from ZeroSuggest is received, which can be every time
the user focuses on the omnibox.
</summary>
</histogram>
</histograms>
</histogram-configuration>