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 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 Relative Change: %(change)s | 196 Relative Change: %(change)s |
197 Estimated Confidence: %(confidence)d%%""" | 197 Estimated Confidence: %(confidence)d%%""" |
198 | 198 |
199 # The perf dashboard specifically looks for the string | 199 # The perf dashboard specifically looks for the string |
200 # "Author : " to parse out who to cc on a bug. If you change the | 200 # "Author : " to parse out who to cc on a bug. If you change the |
201 # formatting here, please update the perf dashboard as well. | 201 # formatting here, please update the perf dashboard as well. |
202 RESULTS_REVISION_INFO = """ | 202 RESULTS_REVISION_INFO = """ |
203 ===== SUSPECTED CL(s) ===== | 203 ===== SUSPECTED CL(s) ===== |
204 Subject : %(subject)s | 204 Subject : %(subject)s |
205 Author : %(author)s%(email_info)s%(commit_info)s | 205 Author : %(author)s%(email_info)s%(commit_info)s |
| 206 Commit : %(cl)s |
206 Date : %(cl_date)s""" | 207 Date : %(cl_date)s""" |
207 | 208 |
208 REPRO_STEPS_LOCAL = """ | 209 REPRO_STEPS_LOCAL = """ |
209 ==== INSTRUCTIONS TO REPRODUCE ==== | 210 ==== INSTRUCTIONS TO REPRODUCE ==== |
210 To run locally: | 211 To run locally: |
211 $%(command)s""" | 212 $%(command)s""" |
212 | 213 |
213 REPRO_STEPS_TRYJOB = """ | 214 REPRO_STEPS_TRYJOB = """ |
214 To reproduce on Performance trybot: | 215 To reproduce on Performance trybot: |
215 1. Create new git branch or check out existing branch. | 216 1. Create new git branch or check out existing branch. |
(...skipping 3151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3367 if commit_link: | 3368 if commit_link: |
3368 commit_info = '\nLink : %s' % commit_link | 3369 commit_info = '\nLink : %s' % commit_link |
3369 else: | 3370 else: |
3370 commit_info = ('\nFailed to parse svn revision from body:\n%s' % | 3371 commit_info = ('\nFailed to parse svn revision from body:\n%s' % |
3371 info['body']) | 3372 info['body']) |
3372 print RESULTS_REVISION_INFO % { | 3373 print RESULTS_REVISION_INFO % { |
3373 'subject': info['subject'], | 3374 'subject': info['subject'], |
3374 'author': info['author'], | 3375 'author': info['author'], |
3375 'email_info': email_info, | 3376 'email_info': email_info, |
3376 'commit_info': commit_info, | 3377 'commit_info': commit_info, |
| 3378 'cl': cl, |
3377 'cl_date': info['date'] | 3379 'cl_date': info['date'] |
3378 } | 3380 } |
3379 | 3381 |
3380 def _PrintTableRow(self, column_widths, row_data): | 3382 def _PrintTableRow(self, column_widths, row_data): |
3381 assert len(column_widths) == len(row_data) | 3383 assert len(column_widths) == len(row_data) |
3382 | 3384 |
3383 text = '' | 3385 text = '' |
3384 for i in xrange(len(column_widths)): | 3386 for i in xrange(len(column_widths)): |
3385 current_row_data = row_data[i].center(column_widths[i], ' ') | 3387 current_row_data = row_data[i].center(column_widths[i], ' ') |
3386 text += ('%%%ds' % column_widths[i]) % current_row_data | 3388 text += ('%%%ds' % column_widths[i]) % current_row_data |
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4144 # The perf dashboard scrapes the "results" step in order to comment on | 4146 # The perf dashboard scrapes the "results" step in order to comment on |
4145 # bugs. If you change this, please update the perf dashboard as well. | 4147 # bugs. If you change this, please update the perf dashboard as well. |
4146 bisect_utils.OutputAnnotationStepStart('Results') | 4148 bisect_utils.OutputAnnotationStepStart('Results') |
4147 print 'Error: %s' % e.message | 4149 print 'Error: %s' % e.message |
4148 if opts.output_buildbot_annotations: | 4150 if opts.output_buildbot_annotations: |
4149 bisect_utils.OutputAnnotationStepClosed() | 4151 bisect_utils.OutputAnnotationStepClosed() |
4150 return 1 | 4152 return 1 |
4151 | 4153 |
4152 if __name__ == '__main__': | 4154 if __name__ == '__main__': |
4153 sys.exit(main()) | 4155 sys.exit(main()) |
OLD | NEW |