Chromium Code Reviews| Index: tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py |
| diff --git a/tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py b/tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py |
| index 70051f854cfb03f718e6bd9a5ccb0c96f8ef5a58..0c57b95115ef218777cbf018d4386d81e470de22 100644 |
| --- a/tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py |
| +++ b/tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py |
| @@ -2,6 +2,7 @@ |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| +import json |
| import logging |
| import os |
| import time |
| @@ -872,6 +873,52 @@ class ChromeProxyMetric(network_metrics.NetworkMetric): |
| results.AddValue(scalar.ScalarValue( |
| results.current_page, 'succeeded_sum', 'count', succeeded)) |
| + def AddResultsForQuicTransaction(self, tab, results): |
| + histogram_type = histogram_util.BROWSER_HISTOGRAM |
| + # This histogram should be synchronously created when the Navigate occurs. |
| + # Verify that histogram DataReductionProxy.Quic.ProxyStatus has no samples |
| + # in bucket >=1. |
| + fail_counts_proxy_status = histogram_util.GetHistogramSum( |
| + histogram_type, |
| + 'DataReductionProxy.Quic.ProxyStatus', |
| + tab) |
| + if fail_counts_proxy_status != 0: |
| + raise ChromeProxyMetricException, ( |
| + 'fail_counts_proxy_status is %d.' % fail_counts_proxy_status) |
| + |
| + # Verify that histogram DataReductionProxy.Quic.ProxyStatus has at least 1 |
| + # sample. This sample must be in bucket 0 (QUIC_PROXY_STATUS_AVAILABLE). |
| + success_counts_proxy_status = histogram_util.GetHistogramCount( |
| + histogram_type, |
| + 'DataReductionProxy.Quic.ProxyStatus', |
| + tab) |
| + if success_counts_proxy_status <= 0: |
| + raise ChromeProxyMetricException, ( |
| + 'success_counts_proxy_status is %d.' % success_counts_proxy_status) |
| + |
| + # Navigate to one more page to ensure that established QUIC connection |
| + # is used for the next request. |
| + time.sleep(3) |
|
RyanSturm
2016/09/21 18:54:39
Can you add a comment on why this sleep is 3 and w
tbansal1
2016/09/22 17:25:42
Done.
|
| + tab.Navigate('http://check.googlezip.net/test.html') |
| + |
| + proxy_usage_histogram_json = histogram_util.GetHistogram(histogram_type, |
| + 'Net.QuicAlternativeProxy.Usage', |
| + tab) |
| + proxy_usage_histogram = json.loads(proxy_usage_histogram_json) |
| + |
| + # Bucket ALTERNATIVE_PROXY_USAGE_NO_RACE should have at least one sample. |
| + if proxy_usage_histogram['buckets'][0]['count'] <= 0: |
| + raise ChromeProxyMetricException, ( |
| + 'Number of samples in ALTERNATIVE_PROXY_USAGE_NO_RACE bucket is %d.' |
| + % proxy_usage_histogram['buckets'][0]['count']) |
| + |
| + results.AddValue(scalar.ScalarValue( |
| + results.current_page, 'fail_counts_proxy_status', 'count', |
| + fail_counts_proxy_status)) |
| + results.AddValue(scalar.ScalarValue( |
| + results.current_page, 'success_counts_proxy_status', 'count', |
| + success_counts_proxy_status)) |
| + |
| def AddResultsForBypassOnTimeout(self, tab, results): |
| bypass_count = 0 |
| # Wait maximum of 120 seconds for test to complete. Should complete soon |