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

Side by Side Diff: tools/telemetry/telemetry/multi_page_benchmark_runner.py

Issue 11273081: Adding a test for measuring memory usage. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 import csv 5 import csv
6 import inspect 6 import inspect
7 import logging 7 import logging
8 import os 8 import os
9 import sys 9 import sys
10 import traceback 10 import traceback
11 11
12 from telemetry import browser_finder 12 from telemetry import browser_finder
13 from telemetry import browser_options 13 from telemetry import browser_options
14 from telemetry import multi_page_benchmark 14 from telemetry import multi_page_benchmark
15 from telemetry import page_interaction
15 from telemetry import page_runner 16 from telemetry import page_runner
16 from telemetry import page_set 17 from telemetry import page_set
17 18
18 19
19 def _Discover(start_dir, clazz): 20 def _Discover(start_dir, clazz):
20 """Discover all classes in |start_dir| which subclass |clazz|. 21 """Discover all classes in |start_dir| which subclass |clazz|.
21 22
22 Args: 23 Args:
23 start_dir: The directory to recursively search. 24 start_dir: The directory to recursively search.
24 clazz: The base class to search for. 25 clazz: The base class to search for.
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 import page_sets # pylint: disable=F0401 80 import page_sets # pylint: disable=F0401
80 print >> sys.stderr, 'Available benchmarks:\n%s\n' % ',\n'.join( 81 print >> sys.stderr, 'Available benchmarks:\n%s\n' % ',\n'.join(
81 sorted(benchmarks.keys())) 82 sorted(benchmarks.keys()))
82 print >> sys.stderr, 'Available page_sets:\n%s\n' % ',\n'.join( 83 print >> sys.stderr, 'Available page_sets:\n%s\n' % ',\n'.join(
83 sorted([os.path.relpath(f) 84 sorted([os.path.relpath(f)
84 for f in page_sets.GetAllPageSetFilenames()])) 85 for f in page_sets.GetAllPageSetFilenames()]))
85 sys.exit(1) 86 sys.exit(1)
86 87
87 ps = page_set.PageSet.FromFile(args[1]) 88 ps = page_set.PageSet.FromFile(args[1])
88 89
90 _Discover(os.path.dirname(__file__), page_interaction.PageInteraction)
91
89 benchmark.CustomizeBrowserOptions(options) 92 benchmark.CustomizeBrowserOptions(options)
93 benchmark.CustomizeBrowserOptionsForPageSet(ps, options)
90 possible_browser = browser_finder.FindBrowser(options) 94 possible_browser = browser_finder.FindBrowser(options)
91 if not possible_browser: 95 if not possible_browser:
92 print >> sys.stderr, """No browser found.\n 96 print >> sys.stderr, """No browser found.\n
93 Use --browser=list to figure out which are available.\n""" 97 Use --browser=list to figure out which are available.\n"""
94 sys.exit(1) 98 sys.exit(1)
95 99
96 results = multi_page_benchmark.CsvBenchmarkResults(csv.writer(sys.stdout)) 100 results = multi_page_benchmark.CsvBenchmarkResults(csv.writer(sys.stdout))
97 with page_runner.PageRunner(ps) as runner: 101 with page_runner.PageRunner(ps) as runner:
98 runner.Run(options, possible_browser, benchmark, results) 102 runner.Run(options, possible_browser, benchmark, results)
99 # When using an exact executable, assume it is a reference build for the 103 # When using an exact executable, assume it is a reference build for the
100 # purpose of outputting the perf results. 104 # purpose of outputting the perf results.
101 results.PrintSummary(options.browser_executable and '_ref' or '') 105 results.PrintSummary(options.browser_executable and '_ref' or '')
102 106
103 if len(results.page_failures): 107 if len(results.page_failures):
104 logging.warning('Failed pages: %s', '\n'.join( 108 logging.warning('Failed pages: %s', '\n'.join(
105 [failure['page'].url for failure in results.page_failures])) 109 [failure['page'].url for failure in results.page_failures]))
106 return min(255, len(results.page_failures)) 110 return min(255, len(results.page_failures))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698