OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 from telemetry.page import page_measurement | 5 from telemetry.page import page_measurement |
6 | 6 |
7 import optparse | 7 import optparse |
8 import time | 8 import time |
9 | 9 |
10 | 10 |
(...skipping 14 matching lines...) Expand all Loading... |
25 help='Time interval between perf dumps (secs)') | 25 help='Time interval between perf dumps (secs)') |
26 parser.add_option_group(group) | 26 parser.add_option_group(group) |
27 | 27 |
28 def CanRunForPage(self, page): | 28 def CanRunForPage(self, page): |
29 return hasattr(page, 'endure') | 29 return hasattr(page, 'endure') |
30 | 30 |
31 def WillRunPageRepeats(self, page, tab): | 31 def WillRunPageRepeats(self, page, tab): |
32 """Reset the starting time for each new page.""" | 32 """Reset the starting time for each new page.""" |
33 self._test_start_time = time.time() | 33 self._test_start_time = time.time() |
34 | 34 |
| 35 # Prefix the page name so it can be picked up by endure parser. |
| 36 if page.name and not page.display_name.startswith('endure_'): |
| 37 page.name = 'endure_' + page.name |
| 38 |
35 def MeasurePage(self, page, tab, results): | 39 def MeasurePage(self, page, tab, results): |
36 """Dump perf information if we have gone past our interval time.""" | 40 """Dump perf information if we have gone past our interval time.""" |
37 now = time.time() | 41 now = time.time() |
38 if int(round(now - self._last_mem_dump)) > self.options.perf_stats_interval: | 42 if int(round(now - self._last_mem_dump)) > self.options.perf_stats_interval: |
39 self._last_mem_dump = now | 43 self._last_mem_dump = now |
40 self._GetPerformanceStats(tab, results, now) | 44 self._GetPerformanceStats(tab, results, now) |
41 | 45 |
42 def _GetPerformanceStats(self, tab, results, now): | 46 def _GetPerformanceStats(self, tab, results, now): |
43 """Record all memory information.""" | 47 """Record all memory information.""" |
44 elapsed_time = int(round(now - self._test_start_time)) | 48 elapsed_time = int(round(now - self._test_start_time)) |
45 | 49 |
46 # DOM Nodes | 50 # DOM Nodes |
47 dom_node_count = tab.dom_stats['node_count'] | 51 dom_node_count = tab.dom_stats['node_count'] |
48 self._SaveToResults(results, 'TotalDOMNodeCount_X', | 52 self._SaveToResults(results, 'TotalDOMNodeCount_X', |
49 'seconds', elapsed_time) | 53 'seconds', elapsed_time) |
50 self._SaveToResults(results, 'TotalDOMNodeCount_Y', | 54 self._SaveToResults(results, 'TotalDOMNodeCount_Y', |
51 'nodes', dom_node_count) | 55 'nodes', dom_node_count) |
52 | 56 |
53 # Event Listeners | 57 # Event Listeners |
54 event_listener_count = tab.dom_stats['event_listener_count'] | 58 event_listener_count = tab.dom_stats['event_listener_count'] |
55 self._SaveToResults(results, 'EventListenerCount_X', | 59 self._SaveToResults(results, 'EventListenerCount_X', |
56 'seconds', elapsed_time) | 60 'seconds', elapsed_time) |
57 self._SaveToResults(results, 'EventListenerCount_Y', | 61 self._SaveToResults(results, 'EventListenerCount_Y', |
58 'listeners', event_listener_count) | 62 'listeners', event_listener_count) |
59 | 63 |
60 def _SaveToResults(self, results, trace_name, units, value, | 64 def _SaveToResults(self, results, trace_name, units, value, |
61 chart_name=None, data_type='default'): | 65 chart_name=None, data_type='default'): |
62 results.Add(trace_name, units, value, chart_name, data_type) | 66 results.Add(trace_name, units, value, chart_name, data_type) |
OLD | NEW |