blob: c54d49f6ac06eccf821218ca1fb1fc0f059b9866 [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 DataReductionProxy histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please send CLs to chromium-metrics-reviews@google.com rather than to specific
individuals. These CLs will be automatically reassigned to a reviewer within
about 5 minutes. This approach helps the metrics team to load-balance incoming
reviews. Googlers can read more about this at go/gwsq-gerrit.
-->
<histogram-configuration>
<histograms>
<histogram name="ConnectivityDetector.ConnectionState.{Client}"
enum="ConnectivityDetectorConnectionState" expires_after="2021-11-15">
<owner>curranmax@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<owner>jianli@chromium.org</owner>
<summary>
Result of the connection state after the HTTP Probe made by connectivity
detector finishes and the connection state is updated.
</summary>
<token key="Client">
<variant name="OfflineDetector"/>
<variant name="OfflineIndicatorController"/>
</token>
</histogram>
<histogram name="ConnectivityDetector.DefaultHttpProbeResult.{Client}"
enum="ProbeResult" expires_after="2021-11-15">
<owner>curranmax@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<owner>jianli@chromium.org</owner>
<summary>
Result of the HTTP Probe made by connectivity detector. Recorded everytime
the probe to the default URL completes (in either success or failure) or
timeouts.
</summary>
<token key="Client">
<variant name="OfflineDetector"/>
<variant name="OfflineIndicatorController"/>
</token>
</histogram>
<histogram name="ConnectivityDetector.FallbackHttpProbeResult.{Client}"
enum="ProbeResult" expires_after="2021-11-15">
<owner>curranmax@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<owner>jianli@chromium.org</owner>
<summary>
Result of the HTTP Probe made by connectivity detector. Recorded everytime
the probe to the fallback URL completes (in either success or failure) or
timeouts.
</summary>
<token key="Client">
<variant name="OfflineDetector"/>
<variant name="OfflineIndicatorController"/>
</token>
</histogram>
<histogram name="ConnectivityDetector.SentHttpProbe.{Client}" units="count"
expires_after="2021-11-15">
<owner>curranmax@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<owner>jianli@chromium.org</owner>
<owner>src/components/data_reduction_proxy/OWNERS</owner>
<summary>
Count of times when a HTTP Probe was made by connectivity detector.
</summary>
<token key="Client">
<variant name="OfflineDetector"/>
<variant name="OfflineIndicatorController"/>
</token>
</histogram>
<histogram name="DataReductionProxy.BypassedBytes" units="bytes"
expires_after="M85">
<owner>bengr@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Counts the response bytes that did not go through the data reduction proxy
as the result of a bypass event.
</summary>
</histogram>
<histogram name="DataReductionProxy.BypassedBytes.NotBypassed" units="bytes"
expires_after="M85">
<owner>bengr@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Counts the response bytes that went through the data reduction proxy and
were not bypassed.
</summary>
</histogram>
<histogram name="DataReductionProxy.ConfigService.AuthExpired"
enum="BooleanExpired" expires_after="M90">
<obsolete>
Obsoleted Jan 2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Total number of authentication required responses received from the Data
Reduction Proxy.
An &quot;Unexpired&quot; value is recorded every time a new client config is
fetched and parsed successfully. An &quot;Expired&quot; value is recorded
every time Chrome receives an authentication failure from the data saver
proxy.
</summary>
</histogram>
<histogram name="DataReductionProxy.ConfigService.ConnectionSetupTime"
units="ms" expires_after="M90">
<obsolete>
Obsoleted Jan 2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
The time delta between connectStart and connectEnd of the client config
request. This is recorded only on successful requests when connectStart and
connectEnd were non-null.
</summary>
</histogram>
<histogram
name="DataReductionProxy.ConfigService.FetchFailedAttemptsBeforeSuccess"
units="units" expires_after="M90">
<obsolete>
Obsoleted Jan 2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
The number of failed attempts when retrieving the configuration from the
Data Reduction Proxy API before a successful attempt took place.
Recorded every time a new client config is fetched and parsed successfully.
If the device has a valid connection type but no Internet connectivity, this
count will keep increasing.
</summary>
</histogram>
<histogram name="DataReductionProxy.ConfigService.FetchLatency" units="ms"
expires_after="M90">
<obsolete>
Obsoleted Jan 2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Time from when the Data Reduction Proxy configuration request starts until
it completes.
Recorded every time a new client config is fetched and parsed successfully.
</summary>
</histogram>
<histogram name="DataReductionProxy.ConfigService.FetchResponseCode"
enum="HttpResponseCode" expires_after="M90">
<obsolete>
Obsoleted Jan 2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Count per HttpResponseCode when attempting to retrieve the Data Reduction
Proxy configuration from the Data Reduction Proxy API.
</summary>
</histogram>
<histogram name="DataReductionProxy.ConfigService.HttpRequestRTT" units="ms"
expires_after="2021-06-20">
<obsolete>
Obsoleted Jan 2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
The time delta between requestStart and requestEnd of the client config
request. This is recorded only on successful requests.
</summary>
</histogram>
<histogram name="DataReductionProxy.ConfigService.HTTPRequests"
enum="DataReductionProxyConfigServiceHTTPRequests" expires_after="M90">
<obsolete>
Obsoleted Jan 2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Upper bound on the count of HTTP requests that did or did not go through the
data saver proxy.
An HTTP request may not go through data saver proxy if the config was
unavailable, due to local bypass rules, or due to server side bypasses. If
data saver is turned on, this metric is recorded every time proxy is
resolved for an HTTP request.
</summary>
</histogram>
<histogram name="DataReductionProxy.ConfigService.MainFrames"
enum="DataReductionProxyConfigServiceMainFrames" expires_after="M90">
<obsolete>
Obsoleted Jan 2021.
</obsolete>
<owner>robertogden@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Upper bound on the count of main frame requests that did or did not go
through the data saver proxy.
A main frame request may not go through data saver proxy if the config was
unavailable, due to local bypass rules, or due to server side bypasses. If
data saver is turned on, this metric is recorded every time proxy is
resolved for an HTTP request.
</summary>
</histogram>
<histogram name="DataReductionProxy.DaysSinceEnabled" units="days"
expires_after="2021-03-10">
<owner>rajendrant@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Records the number of days since data reduction proxy was last enabled by
the user. Recorded only if the data reduction proxy was last enabled since
this metric was added to Chromium (M-56). Recorded at Chrome startup if data
reduction proxy is already enabled, and when the user enables the data
reduction proxy.
</summary>
</histogram>
<histogram name="DataReductionProxy.DeleteBrowsingHistory.NumBuckets"
units="units" expires_after="M77">
<owner>robertogden@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
When the data savings are cleared because the user deletes their browsing
history, record how many buckets were deleted. See also
DataReductionProxy.SavingsCleared.Reason/User action - cleared browsing
history.
</summary>
</histogram>
<histogram name="DataReductionProxy.EnabledState"
enum="DataReductionProxyEnabledState" expires_after="2021-10-10">
<owner>rajendrant@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Samples of user interactions with the Data Saver settings menu across all
platforms (android, IOS, desktop extension). Data is collected whenever user
toggles the ON/OFF switch in the settings menu for reducing data usage.
For desktop, Off-to-On/On-to-Off histogram count will increment when the
data saver extension is installed/uninstalled respectively as well.
</summary>
</histogram>
<histogram name="DataReductionProxy.HistoricalDataUsageLoadTime" units="ms"
expires_after="M77">
<owner>kundaji@chromium.org</owner>
<summary>
Time taken to load historical data usage from Level DB into memory. This UMA
is reported each time the method to load historical data usage is called,
which happens when user views data usage history.
</summary>
</histogram>
<histogram name="DataReductionProxy.LastWeekAggregateKB.Services"
enum="DataUseServicesHash" expires_after="2021-08-22">
<owner>rajendrant@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Records the aggregate data use of services for the last week. Different
conditions are added as suffixes to this histogram. Recorded when Chrome is
started, so this does not include the current session. The aggregation
happens when requests complete. The current week calculation is based on
week starting from the Epoch day(Thursday, January 1, 1970), and every 7
days is treated as a week.
</summary>
</histogram>
<histogram
name="DataReductionProxy.LastWeekAggregateKB.UserTraffic.Downstream.ContentType"
enum="DataUseContentType" expires_after="2021-08-22">
<owner>rajendrant@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Records the aggregate data use for the last week. This is the downstream
data use of all user-initiated traffic. Recorded when Chrome is started, so
this does not include the current session. The aggregation happens when
requests complete. The current week calculation is based on week starting
from the Epoch day(Thursday, January 1, 1970), and every 7 days is treated
as a week.
</summary>
</histogram>
<histogram name="DataReductionProxy.LevelDBOpenStatus"
enum="DataReductionProxyStoreStatus" expires_after="M77">
<owner>kundaji@chromium.org</owner>
<summary>Status of calling Open() on Data Reduction Proxy LevelDB.</summary>
</histogram>
<histogram name="DataReductionProxy.LevelDBSize" units="KB" expires_after="M77">
<owner>kundaji@chromium.org</owner>
<summary>Size of Data Reduction Proxy LevelDB measured at startup.</summary>
</histogram>
<histogram name="DataReductionProxy.ProxyPrefMigrationResult"
enum="DataReductionProxyProxyPrefMigrationResult"
expires_after="2021-04-27">
<owner>sclittle@chromium.org</owner>
<owner>src/components/data_reduction_proxy/OWNERS</owner>
<summary>
Records the result of migrating the Data Reduction Proxy away from being
configured via a proxy preference, including cases when no migration action
was taken.
</summary>
</histogram>
<histogram name="DataReductionProxy.ReportSaveDataSavings.ParseResult"
enum="Boolean" expires_after="2021-04-01">
<owner>rajendrant@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Whether the save-data savings JSON retrieved from field trial was parsed as
a dictionary. Recorded on startup.
</summary>
</histogram>
<histogram name="DataReductionProxy.SavingsCleared.Reason"
enum="DataReductionProxySavingsClearedReason" expires_after="M77">
<owner>robertogden@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Records why the data reduction savings were cleared. See also
DataReductionProxy.DeleteBrowsingHistory.NumBuckets.
</summary>
</histogram>
<histogram name="DataReductionProxy.SnackbarPromo.DataSavings" units="MB"
expires_after="M85">
<owner>bengr@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Logs the data savings in MB of the data reduction proxy snackbar promo that
was shown. The snackbar promo shows the user the amount of data Chrome has
saved them using Data Saver.
</summary>
</histogram>
<histogram name="DataReductionProxy.StartupNegativeSavingsPercent" units="%"
expires_after="2021-08-01">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records the negative data savings percentage at Chrome startup for data
saver enabled users who have browsed a reasonable amount (at least 10MB
since data saver was enabled).
</summary>
</histogram>
<histogram name="DataReductionProxy.StartupSavingsPercent" units="%"
expires_after="2021-08-01">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records the data savings percentage at Chrome startup for data saver enabled
users who have browsed a reasonable amount (at least 10MB since data saver
was enabled). Negative savings are not recorded.
</summary>
</histogram>
<histogram name="DataReductionProxy.StartupState"
enum="DataReductionProxyStartupState" expires_after="2021-09-12">
<owner>rajendrant@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Samples of the state of the data reduction proxy on Chrome startup. The
proxy will either be unavailable (the feature hasn't been rolled out to this
user yet), not enabled (the feature is available but the user doesn't have
it turned on), or enabled (the feature is enabled and turned on).
</summary>
</histogram>
<histogram name="DataReductionProxy.ThisWeekAggregateKB.Services"
enum="DataUseServicesHash" expires_after="2021-08-22">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records the aggregate data use of services for the current week. Different
conditions are added as suffixes to this histogram. Recorded when Chrome is
started, so this does not include the current session. The aggregation
happens when requests complete. The current week calculation is based on
week starting from the Epoch day(Thursday, January 1, 1970), and every 7
days is treated as a week.
</summary>
</histogram>
<histogram
name="DataReductionProxy.ThisWeekAggregateKB.UserTraffic.Downstream.ContentType"
enum="DataUseContentType" expires_after="2021-08-22">
<owner>rajendrant@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Records the aggregate data use for the current week. This is the downstream
data use of all user-initiated traffic. Recorded when Chrome is started, so
this does not include the current session. The aggregation happens when
requests complete. The current week calculation is based on week starting
from the Epoch day(Thursday, January 1, 1970), and every 7 days is treated
as a week.
</summary>
</histogram>
<histogram name="DataReductionProxy.UIAction" enum="DataReductionProxyUIAction"
expires_after="2021-08-29">
<owner>bengr@chromium.org</owner>
<owner>mcrouse@chromium.org</owner>
<summary>
Samples of user interactions with the Data Reduction Proxy promos, First Run
Experience, main menu footer, and settings menu. All samples are mutually
exclusive. These samples include:
The user interactions with the First Run Experience. On Android when the
user sees the FRE card, the Data Reduction Proxy defaults to ON. The user
can disable the proxy via a switch on the card. The state of the proxy is
sampled when the First Run Experience is completed and only reported if the
Data Reduction Proxy card was shown.
The user interactions with the second run promo. On Android, there are two
actions that dismiss this promo (enable or dismiss). This is sampled when
the promo leaves view.
The user interactions with the Infobar promo. On Android, there are two
actions that dismiss the promo (enable, dismiss). This is sampled when the
promo leaves view.
The user interactions with the Snackbar promo. The user can either ignore
the promo or click the action to the settings menu. From the settings menu,
the user may enable or disable the proxy.
The user interactions with the main menu footer. The user can click the
footer to enter the settings menu. From the settings menu, the user may
enable or disable the proxy.
Any other user interaction with the ON/OFF switch in the settings menu for
reducing data usage. Only the setting changes between entering the reducing
data usage setting menu and leaving the menu will be sampled regardless of
how many times they toggle the ON/OFF switch. Other samples that report
ON/OFF settings menu changes are not also reported here.
The views of and user interactions with the site breakdown in the settings
menu. The site breakdown can be sorted by data saved descending or data used
descending, and expanded to view more sites. The Data Reduction statistics
can also be reset.
</summary>
</histogram>
<histogram name="DataReductionProxy.UserViewedOriginalSize" units="KB"
expires_after="2021-08-09">
<owner>rajendrant@chromium.org</owner>
<owner>robertogden@chromium.org</owner>
<owner>src/components/data_reduction_proxy/OWNERS</owner>
<summary>
The total original content size displayed to the user. Computed over the
last 30 days. Recorded when the user views the data savings in the UI.
</summary>
</histogram>
<histogram name="DataReductionProxy.UserViewedSavingsDifferenceWithBreakdown"
units="%" expires_after="2021-08-15">
<owner>rajendrant@chromium.org</owner>
<owner>robertogden@chromium.org</owner>
<owner>src/components/data_reduction_proxy/OWNERS</owner>
<summary>
The difference between the total data savings as displayed to the user and
the sum of the data savings for all hosts in the data use breakdown.
Calculated as a percentage of `abs(summedSavingsTotal -
displayedSavingsTotal) / (summedSavingsTotal + displayedSavingsTotal)`.
Recorded when the user views the data savings in the UI.
</summary>
</histogram>
<histogram name="DataReductionProxy.UserViewedSavingsSize" units="KB"
expires_after="2021-08-09">
<owner>rajendrant@chromium.org</owner>
<owner>robertogden@chromium.org</owner>
<owner>src/components/data_reduction_proxy/OWNERS</owner>
<summary>
The total data saved displayed to the user. Computed over the last 30 days.
Recorded when the user views the data savings in the UI.
</summary>
</histogram>
<histogram name="DataReductionProxy.UserViewedUsageDifferenceWithBreakdown"
units="%" expires_after="2021-08-15">
<owner>rajendrant@chromium.org</owner>
<owner>robertogden@chromium.org</owner>
<owner>src/components/data_reduction_proxy/OWNERS</owner>
<summary>
The difference between the total data usage as displayed to the user and the
sum of the data usage for all hosts in the data use breakdown. Calculated as
a percentage of `abs(summedUsageTotal - displayedUsageTotal) /
(summedUsageTotal + displayedUsageTotal)`. Recorded when the user views the
data savings in the UI.
</summary>
</histogram>
</histograms>
</histogram-configuration>