Chromium Code Reviews| Index: tools/auto_bisect/bisect_perf_regression.py |
| diff --git a/tools/auto_bisect/bisect_perf_regression.py b/tools/auto_bisect/bisect_perf_regression.py |
| index df60f26b9dc07904989397ffe6d6bfcc0d90be75..219e6876e47faafbf5ce26034d0948de9a176b6e 100755 |
| --- a/tools/auto_bisect/bisect_perf_regression.py |
| +++ b/tools/auto_bisect/bisect_perf_regression.py |
| @@ -188,15 +188,14 @@ def _ParseRevisionsFromDEPSFileManually(deps_file_contents): |
| return dict(re_results) |
| -def _WaitUntilBuildIsReady(fetch_build_func, bot_name, builder_host, |
| - builder_port, build_request_id, max_timeout): |
| +def _WaitUntilBuildIsReady(fetch_build_func, bot_name, builder_type, |
| + build_request_id, max_timeout): |
| """Waits until build is produced by bisect builder on try server. |
| Args: |
| fetch_build_func: Function to check and download build from cloud storage. |
| bot_name: Builder bot name on try server. |
| - builder_host Try server host name. |
| - builder_port: Try server port. |
| + builder_type: Builder type, e.g. "perf". |
|
RobertoCN
2015/01/09 23:02:06
Nit:
Will the list of acceptable builder_types be
|
| build_request_id: A unique ID of the build request posted to try server. |
| max_timeout: Maximum time to wait for the build. |
| @@ -224,12 +223,12 @@ def _WaitUntilBuildIsReady(fetch_build_func, bot_name, builder_host, |
| if not build_num: |
| # Get the build number on try server for the current build. |
| build_num = request_build.GetBuildNumFromBuilder( |
| - build_request_id, bot_name, builder_host, builder_port) |
| + build_request_id, bot_name, builder_type) |
| # Check the status of build using the build number. |
| # Note: Build is treated as PENDING if build number is not found |
| # on the the try server. |
| build_status, status_link = request_build.GetBuildStatus( |
| - build_num, bot_name, builder_host, builder_port) |
| + build_num, bot_name, builder_type) |
| if build_status == request_build.FAILED: |
| return (None, 'Failed to produce build, log: %s' % status_link) |
| elapsed_time = time.time() - start_time |
| @@ -903,8 +902,8 @@ class BisectPerformanceMetrics(object): |
| return None |
| archive_filename, error_msg = _WaitUntilBuildIsReady( |
| - fetch_build_func, bot_name, self.opts.builder_host, |
| - self.opts.builder_port, build_request_id, build_timeout) |
| + fetch_build_func, bot_name, self.opts.builder_type, build_request_id, |
| + build_timeout) |
| if not archive_filename: |
| logging.warn('%s [revision: %s]', error_msg, git_revision) |
| return archive_filename |
| @@ -1016,7 +1015,8 @@ class BisectPerformanceMetrics(object): |
| def IsDownloadable(self, depot): |
| """Checks if build can be downloaded based on target platform and depot.""" |
| - if self.opts.target_platform in ['chromium', 'android']: |
| + if (self.opts.target_platform in ['chromium', 'android'] |
| + and self.opts.builder_type == fetch_build.PERF_BUILDER): |
| return (depot == 'chromium' or |
| 'chromium' in bisect_utils.DEPOT_DEPS_NAME[depot]['from'] or |
| 'v8' in bisect_utils.DEPOT_DEPS_NAME[depot]['from']) |
| @@ -2512,8 +2512,7 @@ class BisectOptions(object): |
| self.debug_fake_first_test_mean = 0 |
| self.target_arch = 'ia32' |
| self.target_build_type = 'Release' |
| - self.builder_host = None |
| - self.builder_port = None |
| + self.builder_type = 'perf' |
| self.bisect_mode = bisect_utils.BISECT_MODE_MEAN |
| self.improvement_direction = 0 |
| self.bug_id = '' |
| @@ -2615,12 +2614,12 @@ class BisectOptions(object): |
| choices=['Release', 'Debug'], |
| help='The target build type. Choices are "Release" ' |
| '(default), or "Debug".') |
| - group.add_argument('--builder_host', dest='builder_host', |
| - help='Host address of server to produce build by ' |
| - 'posting try job request.') |
| - group.add_argument('--builder_port', dest='builder_port', type=int, |
| - help='HTTP port of the server to produce build by ' |
| - 'posting try job request.') |
| + group.add_argument('--builder_type', default=fetch_build.PERF_BUILDER, |
| + choices=[fetch_build.PERF_BUILDER, |
| + fetch_build.FULL_BUILDER], |
| + help='Type of builder to get build from. This ' |
| + 'determines both the bot that builds and the ' |
| + 'place where archived builds are downloaded from.') |
| @staticmethod |
| def _AddDebugOptionsGroup(parser): |