| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import json | 5 import json |
| 6 import logging | 6 import logging |
| 7 import os | 7 import os |
| 8 import time | 8 import time |
| 9 | 9 |
| 10 from common import chrome_proxy_metrics | 10 from common import chrome_proxy_metrics |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 raise ChromeProxyMetricException, ( | 297 raise ChromeProxyMetricException, ( |
| 298 'Expected at least one %s LoFi request, but zero such requests were ' | 298 'Expected at least one %s LoFi request, but zero such requests were ' |
| 299 'sent.' % ('' if is_lo_fi else 'non')) | 299 'sent.' % ('' if is_lo_fi else 'non')) |
| 300 if response_count == 0: | 300 if response_count == 0: |
| 301 raise ChromeProxyMetricException, ( | 301 raise ChromeProxyMetricException, ( |
| 302 'Expected at least one %s LoFi response, but zero such responses ' | 302 'Expected at least one %s LoFi response, but zero such responses ' |
| 303 'were received.' % ('' if is_lo_fi else 'non')) | 303 'were received.' % ('' if is_lo_fi else 'non')) |
| 304 | 304 |
| 305 super(ChromeProxyMetric, self).AddResults(tab, results) | 305 super(ChromeProxyMetric, self).AddResults(tab, results) |
| 306 | 306 |
| 307 def AddResultsForLoFiPreview(self, tab, results): | 307 def AddResultsForLitePage(self, tab, results): |
| 308 lo_fi_preview_request_count = 0 | 308 lite_page_request_count = 0 |
| 309 lo_fi_preview_exp_request_count = 0 | 309 lite_page_exp_request_count = 0 |
| 310 lo_fi_preview_response_count = 0 | 310 lite_page_response_count = 0 |
| 311 | 311 |
| 312 for resp in self.IterResponses(tab): | 312 for resp in self.IterResponses(tab): |
| 313 if '/csi?' in resp.response.url: | 313 if '/csi?' in resp.response.url: |
| 314 continue | 314 continue |
| 315 if 'favicon.ico' in resp.response.url: | 315 if 'favicon.ico' in resp.response.url: |
| 316 continue | 316 continue |
| 317 if resp.response.url.startswith('data:'): | 317 if resp.response.url.startswith('data:'): |
| 318 continue | 318 continue |
| 319 | 319 |
| 320 if resp.HasChromeProxyLoFiPreviewRequest(): | 320 if resp.HasChromeProxyLitePageRequest(): |
| 321 lo_fi_preview_request_count += 1 | 321 lite_page_request_count += 1 |
| 322 | 322 |
| 323 if resp.HasChromeProxyLoFiPreviewExpRequest(): | 323 if resp.HasChromeProxyLitePageExpRequest(): |
| 324 lo_fi_preview_exp_request_count += 1 | 324 lite_page_exp_request_count += 1 |
| 325 | 325 |
| 326 if resp.HasChromeProxyLoFiPreviewResponse(): | 326 if resp.HasChromeProxyLitePageResponse(): |
| 327 lo_fi_preview_response_count += 1 | 327 lite_page_response_count += 1 |
| 328 | 328 |
| 329 if resp.HasChromeProxyLoFiRequest(): | 329 if resp.HasChromeProxyLoFiRequest(): |
| 330 raise ChromeProxyMetricException, ( | 330 raise ChromeProxyMetricException, ( |
| 331 '%s: Lo-Fi directive should not be in preview request header.' % | 331 '%s: Lo-Fi directive should not be in lite page request header.' % |
| 332 (resp.response.url)) | 332 (resp.response.url)) |
| 333 | 333 |
| 334 if lo_fi_preview_request_count == 0: | 334 if lite_page_request_count == 0: |
| 335 raise ChromeProxyMetricException, ( | 335 raise ChromeProxyMetricException, ( |
| 336 'Expected at least one LoFi preview request, but zero such requests ' | 336 'Expected at least one lite page request, but zero such requests were' |
| 337 'were sent.') | 337 ' sent.') |
| 338 if lo_fi_preview_exp_request_count == 0: | 338 if lite_page_exp_request_count == 0: |
| 339 raise ChromeProxyMetricException, ( | 339 raise ChromeProxyMetricException, ( |
| 340 'Expected at least one LoFi preview exp=ignore_preview_blacklist ' | 340 'Expected at least one lite page exp=ignore_preview_blacklist request' |
| 341 'request, but zero such requests were sent.') | 341 ', but zero such requests were sent.') |
| 342 if lo_fi_preview_response_count == 0: | 342 if lite_page_response_count == 0: |
| 343 raise ChromeProxyMetricException, ( | 343 raise ChromeProxyMetricException, ( |
| 344 'Expected at least one LoFi preview response, but zero such ' | 344 'Expected at least one lite page response, but zero such responses ' |
| 345 'responses were received.') | 345 'were received.') |
| 346 | 346 |
| 347 results.AddValue( | 347 results.AddValue( |
| 348 scalar.ScalarValue( | 348 scalar.ScalarValue( |
| 349 results.current_page, 'lo_fi_preview_request', | 349 results.current_page, 'lite_page_request', |
| 350 'count', lo_fi_preview_request_count)) | 350 'count', lite_page_request_count)) |
| 351 results.AddValue( | 351 results.AddValue( |
| 352 scalar.ScalarValue( | 352 scalar.ScalarValue( |
| 353 results.current_page, 'lo_fi_preview_exp_request', | 353 results.current_page, 'lite_page_exp_request', |
| 354 'count', lo_fi_preview_exp_request_count)) | 354 'count', lite_page_exp_request_count)) |
| 355 results.AddValue( | 355 results.AddValue( |
| 356 scalar.ScalarValue( | 356 scalar.ScalarValue( |
| 357 results.current_page, 'lo_fi_preview_response', | 357 results.current_page, 'lite_page_response', |
| 358 'count', lo_fi_preview_response_count)) | 358 'count', lite_page_response_count)) |
| 359 super(ChromeProxyMetric, self).AddResults(tab, results) | 359 super(ChromeProxyMetric, self).AddResults(tab, results) |
| 360 | 360 |
| 361 def AddResultsForPassThrough(self, tab, results): | 361 def AddResultsForPassThrough(self, tab, results): |
| 362 compressed_count = 0 | 362 compressed_count = 0 |
| 363 compressed_size = 0 | 363 compressed_size = 0 |
| 364 pass_through_count = 0 | 364 pass_through_count = 0 |
| 365 pass_through_size = 0 | 365 pass_through_size = 0 |
| 366 | 366 |
| 367 for resp in self.IterResponses(tab): | 367 for resp in self.IterResponses(tab): |
| 368 if 'favicon.ico' in resp.response.url: | 368 if 'favicon.ico' in resp.response.url: |
| (...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1085 except KeyError: | 1085 except KeyError: |
| 1086 raise ChromeProxyMetricException, 'No metrics found' | 1086 raise ChromeProxyMetricException, 'No metrics found' |
| 1087 | 1087 |
| 1088 # Returns whether |url| is a block-once test URL. Data Reduction Proxy has been | 1088 # Returns whether |url| is a block-once test URL. Data Reduction Proxy has been |
| 1089 # configured to always return block-once for these URLs. | 1089 # configured to always return block-once for these URLs. |
| 1090 def IsTestUrlForBlockOnce(url): | 1090 def IsTestUrlForBlockOnce(url): |
| 1091 return (url == 'http://check.googlezip.net/blocksingle/' or | 1091 return (url == 'http://check.googlezip.net/blocksingle/' or |
| 1092 url == ('http://chromeproxy-test.appspot.com/default?respBody=T0s=' | 1092 url == ('http://chromeproxy-test.appspot.com/default?respBody=T0s=' |
| 1093 '&respHeader=eyJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iOlsiKiJ' | 1093 '&respHeader=eyJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iOlsiKiJ' |
| 1094 'dfQ==&respStatus=200&flywheelAction=block-once')) | 1094 'dfQ==&respStatus=200&flywheelAction=block-once')) |
| OLD | NEW |