<!--
Copyright 2020 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->

<!--
This file is used to generate a comprehensive list of 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 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>

<histogram name="ConnectivityDetector.ConnectionState.{Client}"
    enum="ConnectivityDetectorConnectionState" expires_after="2023-04-20">
  <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="2023-04-20">
  <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.SentHttpProbe.{Client}" units="count"
    expires_after="2023-04-20">
  <owner>curranmax@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <owner>src/chrome/browser/data_saver/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="DataUse.AppTabState{DataUse_AppTabState_Dimensions}"
    units="bytes" expires_after="2023-05-07">
  <owner>spelchat@chromium.org</owner>
  <owner>curranmax@chromium.org</owner>
  <owner>chrome-brapp-loading@google.com</owner>
  <summary>
    Records the data use of Chrome user traffic by the foregound vs. background
    state of the app and tab. {DataUse_AppTabState_Dimensions}
  </summary>
  <token key="DataUse_AppTabState_Dimensions">
    <variant name=""/>
    <variant name=".Downstream.AppBackground" summary=""/>
    <variant name=".Downstream.AppForeground.TabBackground" summary=""/>
    <variant name=".Downstream.AppForeground.TabForeground" summary=""/>
    <variant name=".Upstream.AppBackground" summary=""/>
    <variant name=".Upstream.AppForeground.TabBackground" summary=""/>
    <variant name=".Upstream.AppForeground.TabForeground" summary=""/>
  </token>
</histogram>

<histogram name="DataUse.BytesReceived3.Delegate" units="bytes"
    expires_after="2026-11-15">
  <owner>curranmax@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <owner>spelchat@chromium.org</owner>
  <owner>chrome-brapp-loading@google.com</owner>
  <summary>
    Count of total bytes received by the Chrome on the network, as reported by
    the network delegate. This is recorded when requests complete.
  </summary>
</histogram>

<histogram name="DataUse.BytesSent3.Delegate" units="bytes"
    expires_after="2026-07-26">
  <owner>curranmax@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <owner>spelchat@chromium.org</owner>
  <owner>chrome-brapp-loading@google.com</owner>
  <summary>
    Count of total bytes sent by the Chrome on the network, as reported by the
    network delegate. With network servicification this is recorded when
    requests complete.
  </summary>
</histogram>

<histogram name="DataUse.ContentType.UserTrafficKB" enum="DataUseContentType"
    expires_after="2023-03-05">
  <owner>spelchat@chromium.org</owner>
  <owner>curranmax@chromium.org</owner>
  <owner>chrome-brapp-loading@google.com</owner>
  <summary>
    Data use of user traffic by different content types. Recorded in KB when
    network bytes are received by Chrome.
  </summary>
</histogram>

<histogram name="DataUse.TrafficSize.User{DataUse_Dimensions}" units="bytes"
    expires_after="2026-06-13">
  <owner>spelchat@chromium.org</owner>
  <owner>curranmax@chromium.org</owner>
  <owner>chrome-brapp-loading@google.com</owner>
  <summary>
    The total amount of data use of Chrome for user traffic. This traffic has
    content::ResourceRequestInfo attached to its request. If the OS is not
    Android all the requests are considered foreground. {DataUse_Dimensions}
  </summary>
  <token key="DataUse_Dimensions">
    <variant name=""/>
    <variant name=".Downstream.Background.Cellular" summary=""/>
    <variant name=".Downstream.Background.NotCellular" summary=""/>
    <variant name=".Downstream.Foreground.Cellular" summary=""/>
    <variant name=".Downstream.Foreground.NotCellular" summary=""/>
    <variant name=".Downstream.Unknown.Cellular" summary=""/>
    <variant name=".Downstream.Unknown.NotCellular" summary=""/>
    <variant name=".Upstream.Background.Cellular" summary=""/>
    <variant name=".Upstream.Background.NotCellular" summary=""/>
    <variant name=".Upstream.Foreground.Cellular" summary=""/>
    <variant name=".Upstream.Foreground.NotCellular" summary=""/>
    <variant name=".Upstream.Unknown.Cellular" summary=""/>
    <variant name=".Upstream.Unknown.NotCellular" summary=""/>
  </token>
</histogram>

</histograms>

</histogram-configuration>
