| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2013 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 | 5 |
| 6 """Performance Test Bisect Tool | 6 """Performance Test Bisect Tool |
| 7 | 7 |
| 8 This script bisects a series of changelists using binary search. It starts at | 8 This script bisects a series of changelists using binary search. It starts at |
| 9 a bad revision where a performance metric has regressed, and asks for a last | 9 a bad revision where a performance metric has regressed, and asks for a last |
| 10 known-good revision. It will then binary search across this revision range by | 10 known-good revision. It will then binary search across this revision range by |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 import StringIO | 45 import StringIO |
| 46 import sys | 46 import sys |
| 47 import time | 47 import time |
| 48 import zipfile | 48 import zipfile |
| 49 | 49 |
| 50 sys.path.append(os.path.join(os.path.dirname(__file__), 'telemetry')) | 50 sys.path.append(os.path.join(os.path.dirname(__file__), 'telemetry')) |
| 51 | 51 |
| 52 from auto_bisect import bisect_utils | 52 from auto_bisect import bisect_utils |
| 53 from auto_bisect import builder | 53 from auto_bisect import builder |
| 54 from auto_bisect import math_utils | 54 from auto_bisect import math_utils |
| 55 from auto_bisect import post_perf_builder_job as bisect_builder | 55 from auto_bisect import request_build |
| 56 from auto_bisect import source_control as source_control_module | 56 from auto_bisect import source_control as source_control_module |
| 57 from auto_bisect import ttest | 57 from auto_bisect import ttest |
| 58 from telemetry.util import cloud_storage | 58 from telemetry.util import cloud_storage |
| 59 | 59 |
| 60 # Below is the map of "depot" names to information about each depot. Each depot | 60 # Below is the map of "depot" names to information about each depot. Each depot |
| 61 # is a repository, and in the process of bisecting, revision ranges in these | 61 # is a repository, and in the process of bisecting, revision ranges in these |
| 62 # repositories may also be bisected. | 62 # repositories may also be bisected. |
| 63 # | 63 # |
| 64 # Each depot information dictionary may contain: | 64 # Each depot information dictionary may contain: |
| 65 # src: Path to the working directory. | 65 # src: Path to the working directory. |
| (...skipping 3307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3373 # bugs. If you change this, please update the perf dashboard as well. | 3373 # bugs. If you change this, please update the perf dashboard as well. |
| 3374 bisect_utils.OutputAnnotationStepStart('Results') | 3374 bisect_utils.OutputAnnotationStepStart('Results') |
| 3375 print 'Error: %s' % e.message | 3375 print 'Error: %s' % e.message |
| 3376 if opts.output_buildbot_annotations: | 3376 if opts.output_buildbot_annotations: |
| 3377 bisect_utils.OutputAnnotationStepClosed() | 3377 bisect_utils.OutputAnnotationStepClosed() |
| 3378 return 1 | 3378 return 1 |
| 3379 | 3379 |
| 3380 | 3380 |
| 3381 if __name__ == '__main__': | 3381 if __name__ == '__main__': |
| 3382 sys.exit(main()) | 3382 sys.exit(main()) |
| OLD | NEW |