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 |