summaryrefslogtreecommitdiffstats
path: root/tools/metrics
diff options
context:
space:
mode:
authormab <mab@google.com>2016-03-17 16:44:21 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-17 23:45:42 +0000
commit740b02b74735910ec8e185d6375d4eda3f15e0ba (patch)
tree122f98c24dd0722f25eb626268cc36ca3925a1d9 /tools/metrics
parentbb61b52a6c356161d5c403db7809a21d79b0b5bc (diff)
downloadchromium_src-740b02b74735910ec8e185d6375d4eda3f15e0ba.zip
chromium_src-740b02b74735910ec8e185d6375d4eda3f15e0ba.tar.gz
chromium_src-740b02b74735910ec8e185d6375d4eda3f15e0ba.tar.bz2
Use network time for bad clock interstitial.
This change supplements the existing build-time heuristic (which renders the bad-clock interstitial only when the system clock is outside the range (build-2d,build+365d)) with a comparison of the system clock to network time, fetched from |NetworkTimeTracker|. Network time has priority: if the network time says the clock is accurate, the bad-clock intersitial will not be used. The |CLOCK_FUTURE| and |CLOCK_PAST| metrics are recorded only when the interstitial is shown, however the decision was made. The new histograms |interstitial.ssl.clockstate.build_time| and |interstitial.ssl.clockstate.network| provide data about the state of the system clock whenever a |CERT_DATE_INVALID| error is encountered. This should help us to assess the effects of the change. Future work will focus on providing better network time in more cases. BUG=589700 Review URL: https://codereview.chromium.org/1772143002 Cr-Commit-Position: refs/heads/master@{#381837}
Diffstat (limited to 'tools/metrics')
-rw-r--r--tools/metrics/histograms/histograms.xml36
1 files changed, 34 insertions, 2 deletions
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 07ddba1..2cf6056 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -18021,6 +18021,22 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
</summary>
</histogram>
+<histogram name="interstitial.ssl.clockstate.build_time" enum="ClockStates">
+ <owner>mab@chromium.org</owner>
+ <summary>
+ State of the system clock, as inferred from the build timestamp, when an SSL
+ CERT_INVALID_DATE error is seen.
+ </summary>
+</histogram>
+
+<histogram name="interstitial.ssl.clockstate.network" enum="ClockStates">
+ <owner>mab@chromium.org</owner>
+ <summary>
+ State of the system clock, relative to network time, when an SSL
+ CERT_INVALID_DATE error is seen.
+ </summary>
+</histogram>
+
<histogram name="interstitial.ssl.connection_type"
enum="ResourcePrefetchPredictorNetworkType">
<owner>felt@chromium.org</owner>
@@ -61325,6 +61341,14 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
<int value="2" label="Read Text"/>
</enum>
+<enum name="ClockStates" type="int">
+ <int value="0"
+ label="CLOCK_STATE_UNKNOWN: accuracy of system clock is unknown"/>
+ <int value="1" label="CLOCK_STATE_OK: system clock is roughly accurate"/>
+ <int value="2" label="CLOCK_STATE_PAST: system clock is in the past"/>
+ <int value="3" label="CLOCK_STATE_FUTURE: system clock is in the future"/>
+</enum>
+
<enum name="CloudImportUserAction" type="int">
<int value="0" label="IMPORT_INITIATED"/>
</enum>
@@ -81913,8 +81937,16 @@ To add a new entry, add it with any value and run test to compute valid value.
</enum>
<enum name="SSLErrorCauses" type="int">
- <int value="0" label="CLOCK_PAST: System clock set early"/>
- <int value="1" label="CLOCK_FUTURE: System clock set late"/>
+ <int value="0" label="CLOCK_PAST: System clock set early">
+ This cause is recorded if the SSL error is CERT_DATE_INVALID and Chrome had
+ reason to believe that the system clock was behind. Methods of detecting
+ clock inaccuracy have changed over time.
+ </int>
+ <int value="1" label="CLOCK_FUTURE: System clock set late">
+ This cause is recorded if the SSL error is CERT_DATE_INVALID and Chrome had
+ reason to believe that the system clock was behind. Methods of detecting
+ clock inaccuracy have changed over time.
+ </int>
<int value="2"
label="WWW_SUBDOMAIN_MATCH: Difference between the URL and the DNS is
www">