diff options
Diffstat (limited to 'deprecated/cwp/performance/experiment_gen.py')
-rw-r--r-- | deprecated/cwp/performance/experiment_gen.py | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/deprecated/cwp/performance/experiment_gen.py b/deprecated/cwp/performance/experiment_gen.py deleted file mode 100644 index a12da2c5..00000000 --- a/deprecated/cwp/performance/experiment_gen.py +++ /dev/null @@ -1,138 +0,0 @@ -# Copyright 2012 Google Inc. All Rights Reserved. -"""This script generates a crosperf overhead-testing experiment file for MoreJS. - -Use: experiment_gen.py --crosperf=/home/mrdmnd/depot2/crosperf --chromeos_root= -/home/mrdmnd/chromiumos --remote-host=chromeos-zgb3.mtv --board=x86-zgb --event= -cycles -F 10 -F 20 -c 10582 -c 10785211 --perf_options="-g" -""" - -import optparse -import subprocess -import sys -import time - -HEADER = """ -board: %s -remote: %s -benchmark: baseline { - iterations: %s - autotest_name: desktopui_PyAutoPerfTests - autotest_args: --args='--iterations=%s perf.PageCyclerTest.testMoreJSFile' -}""" - -EXPERIMENT = """ -benchmark: %s { - iterations: %s - autotest_name: desktopui_PyAutoPerfTests - autotest_args: --args='--iterations=%s perf.PageCyclerTest.testMoreJSFile' --profiler=custom_perf --profiler_args='perf_options="record -a %s %s -e %s"' \n}""" # pylint: disable-msg=C6310 - -DEFAULT_IMAGE = """ -default { - chromeos_image: %s/src/build/images/%s/latest/chromiumos_test_image.bin -}""" - - -def main(): - parser = optparse.OptionParser() - parser.add_option('--crosperf', - dest='crosperf_root', - action='store', - default='/home/mrdmnd/depot2/crosperf', - help='Crosperf root directory.') - parser.add_option('--chromeos_root', - dest='chromeos_root', - action='store', - default='/home/mrdmnd/chromiumos', - help='ChromiumOS root directory.') - parser.add_option('--remote', - dest='remote', - action='store', - help='Host to run test on. Required.') - parser.add_option('--board', - dest='board', - action='store', - help='Board architecture to run on. Required.') - parser.add_option('--event', - dest='event', - action='store', - help='Event to profile. Required.') - parser.add_option('-F', - dest='sampling_frequencies', - action='append', - help='A target frequency to sample at.') - parser.add_option('-c', - dest='sampling_periods', - action='append', - help='A target period to sample at. Event specific.') - parser.add_option('--benchmark-iterations', - dest='benchmark_iterations', - action='store', - default=4, - help='Number of benchmark iters') - parser.add_option('--test-iterations', - dest='test_iterations', - action='store', - default=10, - help='Number of test iters') - parser.add_option('-p', - dest='print_only', - action='store_true', - help='If enabled, will print experiment file and exit.') - parser.add_option('--perf_options', - dest='perf_options', - action='store', - help='Arbitrary flags to perf. Surround with dblquotes.') - options = parser.parse_args()[0] - if options.remote is None: - print '%s requires a remote hostname.' % sys.argv[0] - return 1 - elif options.board is None: - print '%s requires a target board.' % sys.argv[0] - return 1 - elif options.event is None: - print '%s requires an event to profile.' % sys.argv[0] - return 1 - else: - crosperf_root = options.crosperf_root - chromeos_root = options.chromeos_root - remote = options.remote - board = options.board - event = options.event - bench_iters = options.benchmark_iterations - test_iters = options.test_iterations - perf_opts = options.perf_options - # Set up baseline test. - experiment_file = HEADER % (board, remote, bench_iters, test_iters) - # Set up experimental tests. - if options.sampling_frequencies: - for freq in options.sampling_frequencies: - test_string = str(freq) + 'Freq' - experiment_file += EXPERIMENT % (test_string, bench_iters, test_iters, - '-F %s' % freq, '' if perf_opts is None - else perf_opts, event) - if options.sampling_periods: - for period in options.sampling_periods: - test_string = str(period) + 'Period' - experiment_file += EXPERIMENT % ( - test_string, bench_iters, test_iters, '-c %s' % period, '' if - perf_opts is None else perf_opts, event) - # Point to the target image. - experiment_file += DEFAULT_IMAGE % (chromeos_root, board) - if options.print_only: - print experiment_file - else: - current_time = int(round(time.time() * 1000)) - file_name = 'perf_overhead_%s' % str(current_time) - with open(file_name, 'w') as f: - f.write(experiment_file) - try: - process = subprocess.Popen(['%s/crosperf' % crosperf_root, file_name]) - process.communicate() - except OSError: - print 'Could not find crosperf, make sure --crosperf flag is set right.' - return 1 - return 0 - - -if __name__ == '__main__': - exit(main()) |