# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Config file read by run-bisect-perf-regression.py.

This script is intended for use by anyone that wants to run a remote bisection
on a range of revisions to look for a performance regression. Modify the config
below and add the revision range, performance command, and metric. You can then
run a git try <bot>.

Changes to this file should never be submitted.

Args:
  'command': This is the full command to execute the test.
  'good_revision': An svn or git revision where the metric hadn't regressed yet.
  'bad_revision': An svn or git revision sometime after the metric regressed.
  'metric': The name of the metric to parse out from the results of the
      performance test. You can retrieve the metric by looking at the stdio of
      the performance test. Look for lines of the format:
          RESULT <graph>: <trace>= <value> <units>
      The metric name is "<graph>/<trace>".
  'repeat_count': The number of times to repeat the performance test.
  'max_time_minutes': The script will attempt to run the performance test
      "repeat_count" times, unless it exceeds "max_time_minutes".
  'truncate_percent': The highest/lowest % values will be discarded before
      computing the mean result for each revision.

Sample config:

config = {
  'command': './tools/perf/run_benchmark --browser=release sunspider',
  'metric': 'Total/Total',
  'good_revision': '14ac2486c0eba1266d2da1c52e8759d9c784fe80',
  'bad_revision': 'fcf8643d31301eea990a4c42d7d8c9fc30cc33ec',
  'repeat_count': '20',
  'max_time_minutes': '20',
  'truncate_percent': '25',
}

For Windows, if you're calling a python script you will need to add "python"
to the command, so the command would be changed to:
    'python tools/perf/run_benchmark -v --browser=release sunspider',
"""

config = {
  'command': '',
  'good_revision': '',
  'bad_revision': '',
  'metric': '',
  'repeat_count': '',
  'max_time_minutes': '',
  'truncate_percent': '',
}

# Workaround git try issue, see crbug.com/257689
