Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: tools/chrome_proxy/live_tests/chrome_proxy_measurements.py

Issue 2672803002: [Telemetry refactor] Migrate clients to new JavaScript API (batch 3) (Closed)
Patch Set: add comment on tools/android Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 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 logging 5 import logging
6 6
7 import chrome_proxy_metrics as metrics 7 import chrome_proxy_metrics as metrics
8 from common import chrome_proxy_measurements as measurements 8 from common import chrome_proxy_measurements as measurements
9 from telemetry.core import exceptions 9 from telemetry.core import exceptions
10 from telemetry.page import legacy_page_test 10 from telemetry.page import legacy_page_test
11 11
12 class ChromeProxyLatencyBase(legacy_page_test.LegacyPageTest): 12 class ChromeProxyLatencyBase(legacy_page_test.LegacyPageTest):
13 """Chrome latency measurement.""" 13 """Chrome latency measurement."""
14 14
15 def __init__(self, *args, **kwargs): 15 def __init__(self, *args, **kwargs):
16 super(ChromeProxyLatencyBase, self).__init__(*args, **kwargs) 16 super(ChromeProxyLatencyBase, self).__init__(*args, **kwargs)
17 self._metrics = metrics.ChromeProxyMetric() 17 self._metrics = metrics.ChromeProxyMetric()
18 18
19 def WillNavigateToPage(self, page, tab): 19 def WillNavigateToPage(self, page, tab):
20 tab.ClearCache(force=True) 20 tab.ClearCache(force=True)
21 self._metrics.Start(page, tab) 21 self._metrics.Start(page, tab)
22 22
23 def ValidateAndMeasurePage(self, page, tab, results): 23 def ValidateAndMeasurePage(self, page, tab, results):
24 # Wait for the load event. 24 # Wait for the load event.
25 tab.WaitForJavaScriptExpression('performance.timing.loadEventStart', 300) 25 tab.WaitForJavaScriptCondition2(
26 'performance.timing.loadEventStart', timeout=300)
26 self._metrics.Stop(page, tab) 27 self._metrics.Stop(page, tab)
27 self._metrics.AddResultsForLatency(tab, results) 28 self._metrics.AddResultsForLatency(tab, results)
28 29
29 30
30 class ChromeProxyLatency(ChromeProxyLatencyBase): 31 class ChromeProxyLatency(ChromeProxyLatencyBase):
31 """Chrome proxy latency measurement.""" 32 """Chrome proxy latency measurement."""
32 33
33 def __init__(self, *args, **kwargs): 34 def __init__(self, *args, **kwargs):
34 super(ChromeProxyLatency, self).__init__(*args, **kwargs) 35 super(ChromeProxyLatency, self).__init__(*args, **kwargs)
35 36
(...skipping 18 matching lines...) Expand all
54 def __init__(self, *args, **kwargs): 55 def __init__(self, *args, **kwargs):
55 super(ChromeProxyDataSavingBase, self).__init__(*args, **kwargs) 56 super(ChromeProxyDataSavingBase, self).__init__(*args, **kwargs)
56 self._metrics = metrics.ChromeProxyMetric() 57 self._metrics = metrics.ChromeProxyMetric()
57 58
58 def WillNavigateToPage(self, page, tab): 59 def WillNavigateToPage(self, page, tab):
59 tab.ClearCache(force=True) 60 tab.ClearCache(force=True)
60 self._metrics.Start(page, tab) 61 self._metrics.Start(page, tab)
61 62
62 def ValidateAndMeasurePage(self, page, tab, results): 63 def ValidateAndMeasurePage(self, page, tab, results):
63 # Wait for the load event. 64 # Wait for the load event.
64 tab.WaitForJavaScriptExpression('performance.timing.loadEventStart', 300) 65 tab.WaitForJavaScriptCondition2(
66 'performance.timing.loadEventStart', timeout=300)
65 self._metrics.Stop(page, tab) 67 self._metrics.Stop(page, tab)
66 self._metrics.AddResultsForDataSaving(tab, results) 68 self._metrics.AddResultsForDataSaving(tab, results)
67 69
68 70
69 class ChromeProxyDataSaving(ChromeProxyDataSavingBase): 71 class ChromeProxyDataSaving(ChromeProxyDataSavingBase):
70 """Chrome proxy data saving measurement.""" 72 """Chrome proxy data saving measurement."""
71 73
72 def __init__(self, *args, **kwargs): 74 def __init__(self, *args, **kwargs):
73 super(ChromeProxyDataSaving, self).__init__(*args, **kwargs) 75 super(ChromeProxyDataSaving, self).__init__(*args, **kwargs)
74 76
75 def CustomizeBrowserOptions(self, options): 77 def CustomizeBrowserOptions(self, options):
76 options.AppendExtraBrowserArgs('--enable-spdy-proxy-auth') 78 options.AppendExtraBrowserArgs('--enable-spdy-proxy-auth')
77 79
78 def WillNavigateToPage(self, page, tab): 80 def WillNavigateToPage(self, page, tab):
79 measurements.WaitForViaHeader(tab) 81 measurements.WaitForViaHeader(tab)
80 super(ChromeProxyDataSaving, self).WillNavigateToPage(page, tab) 82 super(ChromeProxyDataSaving, self).WillNavigateToPage(page, tab)
81 83
82 84
83 class ChromeProxyDataSavingDirect(ChromeProxyDataSavingBase): 85 class ChromeProxyDataSavingDirect(ChromeProxyDataSavingBase):
84 """Direct connection data saving measurement.""" 86 """Direct connection data saving measurement."""
85 87
86 def __init__(self, *args, **kwargs): 88 def __init__(self, *args, **kwargs):
87 super(ChromeProxyDataSavingDirect, self).__init__(*args, **kwargs) 89 super(ChromeProxyDataSavingDirect, self).__init__(*args, **kwargs)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698