1#!/usr/bin/env python 2# Copyright 2013 The Chromium Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6import os 7import sys 8import tempfile 9 10sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, 'telemetry')) 11 12from telemetry.core import browser_finder 13from telemetry.core import browser_options 14 15 16def _RunPrebuilt(options): 17 browser_to_create = browser_finder.FindBrowser(options) 18 with browser_to_create.Create() as browser: 19 browser.Start() 20 output_file = os.path.join(tempfile.mkdtemp(), options.profiler) 21 raw_input('Press enter to start profiling...') 22 print '>> Starting profiler', options.profiler 23 browser.platform.profiling_controller.Start( 24 options.profiler, output_file) 25 print 'Press enter or CTRL+C to stop' 26 try: 27 raw_input() 28 except KeyboardInterrupt: 29 pass 30 finally: 31 browser.platform.profiling_controller.Stop() 32 print '<< Stopped profiler ', options.profiler 33 34 35if __name__ == '__main__': 36 browser_finder_options = browser_options.BrowserFinderOptions() 37 parser = browser_finder_options.CreateParser('') 38 profiler_options, _ = parser.parse_args() 39 sys.exit(_RunPrebuilt(profiler_options)) 40