Commit 69e2bf42 authored by Tarun Bansal's avatar Tarun Bansal Committed by Commit Bot

Add metrics to ConnectivityDetector

Add UMA metrics to connectivity detector.
Also, add some adb logging to make it easier to understand the
functionality of connectivity detector.
Finally, prevent the retry delay from overlflowing.

Change-Id: I3de32e01c20aeef04648685bb074012618e73831
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2514065
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: default avatarJian Li <jianli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#828347}
parent d17556f5
...@@ -141,7 +141,7 @@ class OfflineDetector ...@@ -141,7 +141,7 @@ class OfflineDetector
if (sMockConnectivityDetector != null) { if (sMockConnectivityDetector != null) {
mConnectivityDetector = sMockConnectivityDetector; mConnectivityDetector = sMockConnectivityDetector;
} else { } else {
mConnectivityDetector = new ConnectivityDetector(this); mConnectivityDetector = new ConnectivityDetector(this, "OfflineDetector");
} }
} }
......
...@@ -79,7 +79,7 @@ public class OfflineIndicatorController implements ConnectivityDetector.Observer ...@@ -79,7 +79,7 @@ public class OfflineIndicatorController implements ConnectivityDetector.Observer
if (isUsingTopSnackbar()) { if (isUsingTopSnackbar()) {
mTopSnackbarManager = new TopSnackbarManager(); mTopSnackbarManager = new TopSnackbarManager();
} }
mConnectivityDetector = new ConnectivityDetector(this); mConnectivityDetector = new ConnectivityDetector(this, "OfflineIndicatorController");
ApplicationStatus.registerApplicationStateListener(this); ApplicationStatus.registerApplicationStateListener(this);
} }
......
...@@ -49,7 +49,7 @@ public class ConnectivityDetectorTest implements ConnectivityDetector.Observer { ...@@ -49,7 +49,7 @@ public class ConnectivityDetectorTest implements ConnectivityDetector.Observer {
NetworkChangeNotifier.forceConnectivityState(true); NetworkChangeNotifier.forceConnectivityState(true);
ConnectivityDetector.overrideConnectivityCheckInitialDelayMs(1000); ConnectivityDetector.overrideConnectivityCheckInitialDelayMs(1000);
ConnectivityDetector.setDelegateForTesting(mConnectivityDetectorDelegate); ConnectivityDetector.setDelegateForTesting(mConnectivityDetectorDelegate);
mConnectivityDetector = new ConnectivityDetector(this); mConnectivityDetector = new ConnectivityDetector(this, "ConnectivityDetectorTest");
mConnectivityDetectorDelegate.setConnectionStateFromSystem( mConnectivityDetectorDelegate.setConnectionStateFromSystem(
ConnectivityDetector.ConnectionState.NONE); ConnectivityDetector.ConnectionState.NONE);
}); });
......
...@@ -11918,6 +11918,16 @@ Called by update_net_error_codes.py.--> ...@@ -11918,6 +11918,16 @@ Called by update_net_error_codes.py.-->
<int value="13" label="TLS-1.2">An SSL connection that uses TLS 1.2</int> <int value="13" label="TLS-1.2">An SSL connection that uses TLS 1.2</int>
</enum> </enum>
<enum name="ConnectivityDetectorConnectionState">
<int value="0" label="Initial state or connection state can't be evaluated"/>
<int value="1" label="The network is disconnected"/>
<int value="2"
label="The network is connected, but it can't reach the Internet"/>
<int value="3"
label="The network is connected, but capitive portal is detected"/>
<int value="4" label="The network is validated"/>
</enum>
<enum name="ConnectivityDiagnosticsTestVerdict"> <enum name="ConnectivityDiagnosticsTestVerdict">
<int value="0" label="NO_PROBLEM"/> <int value="0" label="NO_PROBLEM"/>
<int value="1" label="POTENTIAL_PROBLEM"/> <int value="1" label="POTENTIAL_PROBLEM"/>
...@@ -21,6 +21,68 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. ...@@ -21,6 +21,68 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
<histograms> <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" <histogram name="DataReductionProxy.BypassedBytes" units="bytes"
expires_after="M85"> expires_after="M85">
<owner>bengr@chromium.org</owner> <owner>bengr@chromium.org</owner>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment