Changeset 234006 in webkit
- Timestamp:
- Jul 19, 2018 2:54:48 PM (6 years ago)
- Location:
- trunk/PerformanceTests
- Files:
-
- 9 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/PerformanceTests/ChangeLog
r233147 r234006 1 2018-07-19 Ben Richards <benton_richards@apple.com> 2 3 Add benchmark for WebKit process launch times 4 https://bugs.webkit.org/show_bug.cgi?id=186414 5 6 Reviewed by Ryosuke Niwa. 7 8 Added two benchmarks, one for measuring browser new tab launch time and one for browser startup time. 9 10 * LaunchTime/.gitignore: Added. 11 * LaunchTime/feedback_client.html: Added. 12 Displays benchmark progress in browser 13 * LaunchTime/feedback_server.py: Added. 14 (FeedbackServer): Sends data to feedback_client via websocket 15 (FeedbackServer.__init__): 16 (FeedbackServer._create_app): 17 (FeedbackServer._start_server): 18 (FeedbackServer._send_all_messages): 19 (FeedbackServer.start): 20 (FeedbackServer.stop): 21 (FeedbackServer.send_message): Send a message to the feedback_client 22 (FeedbackServer.wait_until_client_has_loaded): Wait until the feedback_client has opened a websocket connection to the feedback_server 23 (FeedbackServer.MainHandler): Handler factory to create handler that serves feedback_client.html 24 (FeedbackServer.MainHandler.Handler): 25 (FeedbackServer.MainHandler.Handler.get): 26 (FeedbackServer.WSHandler): Handler factory to create handler that sends data to feedback client 27 (FeedbackServer.WSHandler.Handler): 28 (FeedbackServer.WSHandler.Handler.open): On websocket connection opened 29 (FeedbackServer.WSHandler.Handler.on_close): On websocket connection closed 30 * LaunchTime/launch_time.py: Added. 31 (DefaultLaunchTimeHandler): Abstract HTTP request handler for launch time benchmarks 32 (DefaultLaunchTimeHandler.get_test_page): Default test page to be overridden by benchmarks 33 (DefaultLaunchTimeHandler.get_blank_page): 34 (DefaultLaunchTimeHandler.on_receive_stop_time): 35 (DefaultLaunchTimeHandler.do_HEAD): 36 (DefaultLaunchTimeHandler.do_GET): 37 (DefaultLaunchTimeHandler.do_POST): 38 (DefaultLaunchTimeHandler.log_message): Suppresses HTTP logs from SimpleHTTPRequestHandler 39 (LaunchTimeBenchmark): Abstract class which launch time benchmarks inherit from and override methods desired to customize 40 (LaunchTimeBenchmark.__init__): 41 (LaunchTimeBenchmark._parse_browser_bundle_path): Parser for bundle path option 42 (LaunchTimeBenchmark._parse_args): 43 (LaunchTimeBenchmark._run_server): Target function for main server thread 44 (LaunchTimeBenchmark._setup_servers): 45 (LaunchTimeBenchmark._clean_up): 46 (LaunchTimeBenchmark._exit_due_to_exception): 47 (LaunchTimeBenchmark._geometric_mean): 48 (LaunchTimeBenchmark._standard_deviation): 49 (LaunchTimeBenchmark._compute_results): Returns mean and std dev of list of results and pretty prints if should_print=True is specified 50 (LaunchTimeBenchmark._wait_times): Mimic numpy.linspace 51 (LaunchTimeBenchmark.open_tab): Open a browser tab with the html given by self.response_handler.get_test_page 52 (LaunchTimeBenchmark.launch_browser): Open a broser to either the feedback client (if option is set) or a blank page 53 (LaunchTimeBenchmark.quit_browser): 54 (LaunchTimeBenchmark.quit_browser.quit_app): 55 (LaunchTimeBenchmark.quit_browser.is_app_closed): 56 (LaunchTimeBenchmark.close_tab): 57 (LaunchTimeBenchmark.wait): 58 (LaunchTimeBenchmark.log): Print to console and send to feedback client if --feedback-in-browser flag is used 59 (LaunchTimeBenchmark.log_verbose): Only logs if --verbose flag is used 60 (LaunchTimeBenchmark.run): 61 (LaunchTimeBenchmark.group_init): Initialization done before each round of iterations 62 (LaunchTimeBenchmark.run_iteration): 63 (LaunchTimeBenchmark.initialize): Convenience method to be overriden by subclasses which is called at the end of __init__ 64 (LaunchTimeBenchmark.will_parse_arguments): Called before argparse.parse_args to let subclasses add new command line arguments 65 (LaunchTimeBenchmark.did_parse_arguments): Called after argparse.parse_args to let subclass initialize based on command line arguments 66 * LaunchTime/new_tab.py: Added 67 (NewTabBenchmark): 68 (NewTabBenchmark._parse_wait_time): Parser for wait time option 69 (NewTabBenchmark.initialize): 70 (NewTabBenchmark.run_iteration): 71 (NewTabBenchmark.group_init): 72 (NewTabBenchmark.will_parse_arguments): 73 (NewTabBenchmark.did_parse_arguments): 74 (NewTabBenchmark.ResponseHandler): 75 (NewTabBenchmark.ResponseHandler.Handler): 76 (NewTabBenchmark.ResponseHandler.Handler.get_test_page): 77 * LaunchTime/startup.py: Added 78 (StartupBenchmark): This benchmark measures browser startup time and initial page load time 79 (StartupBenchmark.initialize): 80 (StartupBenchmark.run_iteration): 81 (StartupBenchmark.ResponseHandler): 82 (StartupBenchmark.ResponseHandler.Handler): 83 (StartupBenchmark.ResponseHandler.Handler.get_test_page): 84 * LaunchTime/thirdparty/__init__.py: Added. 85 (AutoinstallImportHook): Auto installs tornado package for feedback server 86 (AutoinstallImportHook.__init__): 87 (AutoinstallImportHook._ensure_autoinstalled_dir_is_in_sys_path): 88 (AutoinstallImportHook.find_module): 89 (AutoinstallImportHook._install_tornado): 90 (AutoinstallImportHook.greater_than_equal_to_version): 91 (AutoinstallImportHook._install): 92 (AutoinstallImportHook.get_latest_pypi_url): 93 (AutoinstallImportHook.install_binary): 94 (autoinstall_everything): 95 (get_os_info): 96 1 97 2018-06-25 Jon Lee <jonlee@apple.com> 2 98
Note: See TracChangeset
for help on using the changeset viewer.