| 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 |