Chromium Code Reviews| 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 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 228 committed locally to run-perf-test.cfg. | 228 committed locally to run-perf-test.cfg. |
| 229 Note: *DO NOT* commit run-perf-test.cfg changes to the project repository. | 229 Note: *DO NOT* commit run-perf-test.cfg changes to the project repository. |
| 230 $ git cl upload --bypass-hooks | 230 $ git cl upload --bypass-hooks |
| 231 4. Send your try job to the try server. \ | 231 4. Send your try job to the try server. \ |
| 232 [Please make sure to use appropriate bot to reproduce] | 232 [Please make sure to use appropriate bot to reproduce] |
| 233 $ git cl try -m tryserver.chromium.perf -b <bot> | 233 $ git cl try -m tryserver.chromium.perf -b <bot> |
| 234 | 234 |
| 235 For more details please visit | 235 For more details please visit |
| 236 https://sites.google.com/a/chromium.org/dev/developers/performance-try-bots""" | 236 https://sites.google.com/a/chromium.org/dev/developers/performance-try-bots""" |
| 237 | 237 |
| 238 REPRO_STEPS_TRYJOB_TELEMETRY = """ | |
| 239 To reproduce on a performance try bot: | |
| 240 %(command)s | |
| 241 (Where <bot-name> comes from tools/perf/run_benchmark --browser=list) | |
|
tonyg
2014/08/27 16:38:59
I think an important thing to do here is to give t
sullivan
2014/08/27 22:02:49
I'm really sorry this got committed without addres
| |
| 242 | |
| 243 For more details please visit | |
| 244 https://sites.google.com/a/chromium.org/dev/developers/performance-try-bots | |
| 245 """ | |
| 246 | |
| 238 RESULTS_THANKYOU = """ | 247 RESULTS_THANKYOU = """ |
| 239 ===== THANK YOU FOR CHOOSING BISECT AIRLINES ===== | 248 ===== THANK YOU FOR CHOOSING BISECT AIRLINES ===== |
| 240 Visit http://www.chromium.org/developers/core-principles for Chrome's policy | 249 Visit http://www.chromium.org/developers/core-principles for Chrome's policy |
| 241 on perf regressions. | 250 on perf regressions. |
| 242 Contact chrome-perf-dashboard-team with any questions or suggestions about | 251 Contact chrome-perf-dashboard-team with any questions or suggestions about |
| 243 bisecting. | 252 bisecting. |
| 244 . .------. | 253 . .------. |
| 245 . .---. \ \==) | 254 . .---. \ \==) |
| 246 . |PERF\ \ \\ | 255 . |PERF\ \ \\ |
| 247 . | ---------'-------'-----------. | 256 . | ---------'-------'-----------. |
| (...skipping 2470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2718 def _PrintReproSteps(self): | 2727 def _PrintReproSteps(self): |
| 2719 """Prints out a section of the results explaining how to run the test. | 2728 """Prints out a section of the results explaining how to run the test. |
| 2720 | 2729 |
| 2721 This message includes the command used to run the test. | 2730 This message includes the command used to run the test. |
| 2722 """ | 2731 """ |
| 2723 command = '$ ' + self.opts.command | 2732 command = '$ ' + self.opts.command |
| 2724 if bisect_utils.IsTelemetryCommand(self.opts.command): | 2733 if bisect_utils.IsTelemetryCommand(self.opts.command): |
| 2725 command += ('\nAlso consider passing --profiler=list to see available ' | 2734 command += ('\nAlso consider passing --profiler=list to see available ' |
| 2726 'profilers.') | 2735 'profilers.') |
| 2727 print REPRO_STEPS_LOCAL % {'command': command} | 2736 print REPRO_STEPS_LOCAL % {'command': command} |
| 2728 print REPRO_STEPS_TRYJOB % {'command': command} | 2737 if bisect_utils.IsTelemetryCommand(self.opts.command): |
| 2738 telemetry_command = re.sub(r'--browser=[^\s]+', | |
| 2739 '--browser=<bot-name>', | |
| 2740 command) | |
| 2741 print REPRO_STEPS_TRYJOB_TELEMETRY % {'command': telemetry_command} | |
| 2742 else: | |
| 2743 print REPRO_STEPS_TRYJOB % {'command': command} | |
| 2729 | 2744 |
| 2730 def _PrintOtherRegressions(self, other_regressions, revision_data): | 2745 def _PrintOtherRegressions(self, other_regressions, revision_data): |
| 2731 """Prints a section of the results about other potential regressions.""" | 2746 """Prints a section of the results about other potential regressions.""" |
| 2732 print | 2747 print |
| 2733 print 'Other regressions may have occurred:' | 2748 print 'Other regressions may have occurred:' |
| 2734 print ' %8s %70s %10s' % ('Depot'.center(8, ' '), | 2749 print ' %8s %70s %10s' % ('Depot'.center(8, ' '), |
| 2735 'Range'.center(70, ' '), 'Confidence'.center(10, ' ')) | 2750 'Range'.center(70, ' '), 'Confidence'.center(10, ' ')) |
| 2736 for regression in other_regressions: | 2751 for regression in other_regressions: |
| 2737 current_id, previous_id, confidence = regression | 2752 current_id, previous_id, confidence = regression |
| 2738 current_data = revision_data[current_id] | 2753 current_data = revision_data[current_id] |
| (...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3362 # bugs. If you change this, please update the perf dashboard as well. | 3377 # bugs. If you change this, please update the perf dashboard as well. |
| 3363 bisect_utils.OutputAnnotationStepStart('Results') | 3378 bisect_utils.OutputAnnotationStepStart('Results') |
| 3364 print 'Error: %s' % e.message | 3379 print 'Error: %s' % e.message |
| 3365 if opts.output_buildbot_annotations: | 3380 if opts.output_buildbot_annotations: |
| 3366 bisect_utils.OutputAnnotationStepClosed() | 3381 bisect_utils.OutputAnnotationStepClosed() |
| 3367 return 1 | 3382 return 1 |
| 3368 | 3383 |
| 3369 | 3384 |
| 3370 if __name__ == '__main__': | 3385 if __name__ == '__main__': |
| 3371 sys.exit(main()) | 3386 sys.exit(main()) |
| OLD | NEW |