History log of /external/toolchain-utils/crosperf/experiment.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e56ceb4e7387a7f7ccb6d8d3b03e3e9692453cbd 09-Aug-2016 George Burgess IV <gbiv@google.com> Random nit fixes in crosperf; NFC.

This also removes results_sorter.py, which seems to be unused and
untested.

TEST=./run_tests.sh passes
BUG=None

Change-Id: I926affb23c78a8a0aedea4ab279da590f8cf93b5
Reviewed-on: https://chrome-internal-review.googlesource.com/273995
Commit-Ready: George Burgess <gbiv@google.com>
Tested-by: George Burgess <gbiv@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
e1a28bd82a8718b67a370433dd41932c567f6899 03-Aug-2016 Caroline Tice <cmtice@google.com> [Crosperf] Fix lint errors.

This fixes the crosper lint errors that were assigned to me.

BUG=chromium:632110
TEST=ran run_tests.sh; did full crosperf run.

Change-Id: I68d136c7399eb4befa2e36e7f513612ca5e53769
Reviewed-on: https://chrome-internal-review.googlesource.com/272755
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/experiment.py
a93683485612c985c661eb4ebbb02a7ae1c4a623 23-Jan-2016 David Sharp <dhsharp@google.com> crosperf: Make things work without access to file locks dir

Before this change, running with --dry_run would result in an
error accessing the lock file directory if the user does not
have access to the directory.

Also disable using file locks in machine_manager_unittest

TEST=run crosperf with --dry_run; unit tests
BUG=none

Change-Id: I8283bc38fd388dfa90fb772e76370a674e86b86f
Reviewed-on: https://chrome-internal-review.googlesource.com/245899
Commit-Ready: David Sharp <dhsharp@google.com>
Tested-by: David Sharp <dhsharp@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
f2a3ef46f75d2196a93d3ed27f4d1fcf22b54fbe 15-Dec-2015 Luis Lozano <llozano@chromium.org> Run pyformat on all the toolchain-utils files.

This gets rid of a lot of lint issues.
Ran by doing this:

for f in *.py; do echo -n "$f " ; if [ -x $f ]; then pyformat -i
--remove_trailing_comma --yapf --force_quote_type=double $f ; else
pyformat -i --remove_shebang --remove_trailing_comma --yapf
--force_quote_type=double $f ; fi ; done

BUG=chromium:567921
TEST=Ran simple crosperf run.

Change-Id: I59778835fdaa5f706d2e1765924389f9e97433d1
Reviewed-on: https://chrome-internal-review.googlesource.com/242031
Reviewed-by: Luis Lozano <llozano@chromium.org>
Commit-Queue: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/experiment.py
e627fd61c2edba668eb2af8221892286b13f05a3 11-Dec-2015 Caroline Tice <cmtice@google.com> Crosperf: Finish fixing unittest problems.

This patch finishes fixing the unittest problems. They now all
work.

BUG=chromium:538397
TEST=./run_tests.sh now completes with no errors.

Change-Id: Ie501437d199bfafc8a84cd2a95862550992c2cb8
Reviewed-on: https://chrome-internal-review.googlesource.com/241925
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
7057cf67ba1dbdd4387f53e5fe47b43c955b1a53 10-Dec-2015 Caroline Tice <cmtice@google.com> Crosperf: Fix many broken unittests.

Apparently people have been making changes and not running the
unittests; many of the unittests were suffering from bit-rot. This
CL fixes most of the broken unittests (there are still 3 large ones
being worked on -- that will be in another CL).

BUG=chromium:567883
TEST=Verified that these unittests work now.

Change-Id: I0252a276a035894e70e04c61339cdba148c9bbfd
Reviewed-on: https://chrome-internal-review.googlesource.com/241513
Commit-Ready: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Luis Lozano <llozano@chromium.org>
/external/toolchain-utils/crosperf/experiment.py
742ed2c8cd29f8f2d1ff28f3e3aea48307c71839 10-Dec-2015 Yunlian Jiang <yunlian@google.com> crosperf: clean lint warnings.

BUG=chromium:567921
TEST=these files are lint clean.

Change-Id: I889c80bd4fa2b8f67f3e386c86b68e373574911a
Reviewed-on: https://chrome-internal-review.googlesource.com/241489
Commit-Ready: Yunlian Jiang <yunlian@google.com>
Tested-by: Yunlian Jiang <yunlian@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
0d1a9f32c928e21a72547f3d334d631c5861f027 09-Dec-2015 Yunlian Jiang <yunlian@google.com> crosperf: use cros_utils instead of utils.

We got some lint warnings about some module is not in utils.
So we change the name.
This CL creates a symbolic link cros_utils from utils. Once we are sure
that we clean all the code, we can rename the utils to cros_utils
directly.

BUG=chromium:567921 chromium:568195
TEST=the lint warning is gone.

Change-Id: I776e45c7bdd75d1f065ea5797f3bcff457203ca2
Reviewed-on: https://chrome-internal-review.googlesource.com/241457
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
51d7a9b5663f6d3067baf06e2fc266265937f61f 09-Dec-2015 Caroline Tice <cmtice@google.com> Fix error where sometimes crosperf tries to lock all machines.

Crosperf was calling afe_lock_machines even when none of the
user-requested machines were up and running; this caused
afe_lock_machines to attempt to lock all the machines it knew
about. This CL fixes that problem.

BUG=chromium:545674
TEST=Tested in my directory; works properly.

Change-Id: Ie632a1b8de04b7fa686886e981b5b9275f44f0dd
Reviewed-on: https://chrome-internal-review.googlesource.com/241435
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Luis Lozano <llozano@chromium.org>
/external/toolchain-utils/crosperf/experiment.py
dd4176150697727cdc89574698fd53f556c1304d 08-Dec-2015 Luis Lozano <llozano@chromium.org> Print friendlier error message when no benchmark is given.

Catch no-benchmarks and no-labels errors earlier to avoid
weird error messages later.

BUG=chromium:432616
TEST=tested with different experiment files.

Change-Id: I8a05dbac4a47a0f005f0b3c175770a0d88cb4a62
Reviewed-on: https://chrome-internal-review.googlesource.com/241096
Commit-Ready: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Luis Lozano <llozano@chromium.org>
/external/toolchain-utils/crosperf/experiment.py
738e6dee10f6aa08941fbc8131bfe87ca6cb1685 07-Dec-2015 Han Shen <shenhan@google.com> Fix crbug/529948 - schedv2 missing functionality.

(Optinally) force same image across different board when compute machine
checksum fails.

BUG=chromium:529948
TEST=manually tested in console

Change-Id: Ia3a86c9a6796cf547842c473c0f8b7b1ccaf6907
Reviewed-on: https://chrome-internal-review.googlesource.com/240916
Commit-Ready: Han Shen <shenhan@google.com>
Tested-by: Han Shen <shenhan@google.com>
Reviewed-by: Luis Lozano <llozano@chromium.org>
/external/toolchain-utils/crosperf/experiment.py
ddde50532281f7f796dd7dc44b562b29d25ab381 23-Sep-2015 Caroline Tice <cmtice@google.com> Add compiler info to experiment data.

Check the build label to see which compiler was used. Store the
compiler in the label, and add it to the json filename
and output.

Also update nightly buildbot script to add 'compiler' field to
labels.

BUG=None
TEST=Tested in my directory.

Change-Id: I124c4910cce1145708bb2a52e3a6d6dff93777c3
Reviewed-on: https://chrome-internal-review.googlesource.com/231811
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
e066297f07a8d1e1ad3416b4b034b2943f47c648 19-Sep-2015 Han Shen <shenhan@google.com> Fix cache reading problem.

The previous implementation images a machine to match the
br(benchmarkrun)'s label before ReadCache is performed, that image step
is a huge waste.

Now re-implemented by starting a few threads at the very beginning to go
through all brs, and put cache-hit brs into _cached_br_list. Then we
start the DutWorker thread to go through _cached_br_list, which does not
require dut to bear any particular image. After this step, we proceed as usual.

Unittest cases also added.

Tested by manullay launch a crosperf and examining no re-image is done.

Change-Id: Ib611937f9fa28ae9bedce8a1a01ed303f14f838a
Reviewed-on: https://chrome-internal-review.googlesource.com/231585
Commit-Ready: Han Shen <shenhan@google.com>
Tested-by: Han Shen <shenhan@google.com>
Reviewed-by: Han Shen <shenhan@google.com>
/external/toolchain-utils/crosperf/experiment.py
f9b503542669e34f83e5f6bfd3c4e19a0c43e015 17-Sep-2015 Han Shen <shenhan@google.com> Filter out unreachable machines from experiment.remote as well as
label.remote.

We had a bug for a experiment file with label L1 and L2, remote A & B,
and B is unreachable (dead machine). This ends up with
MachineManager._all_machines being [A], but L1.remote and L2.remote
being both [A, B], because B is locked even it is not reachable. This
caused an internal error because only 1 dut worker is create for 'A', no
dut worker created for 'B'.

Fixed by filter unreachable machines from both experiment.remote as well
as label.remote.

Tested by running a experiment file manually.

Change-Id: Ia3f563fe7e6d1521ec8d506b79cdf185af76df06
Reviewed-on: https://chrome-internal-review.googlesource.com/231038
Commit-Queue: Han Shen <shenhan@google.com>
Tested-by: Han Shen <shenhan@google.com>
Reviewed-by: Han Shen <shenhan@google.com>
/external/toolchain-utils/crosperf/experiment.py
ba64928c5dcbacbc70b4358881a89ad96227164d 06-Aug-2015 Han Shen <shenhan@google.com> Crosperf schedv2 (1) - new option and integrating new scheduler.

This Cl introduces a new option '--schedv2' which uses the new
scheduler to allocate jobs (benchmark_runs) to duts.

With this option, schedv2 takes control of storing/allocating jobs and
reimage machines using the new algorithm. This CL leaves actual
reimaging and running jobs non-op (a random time sleep is used for
each such op, which would be replace in later CLs.)

You may try this CL like this and see how schedv2 works -
crosperf --locks_dir=/usr/local/google/home/shenhan/tmp --use_file_locks=True --logging_level=verbose --schedv2 some.exp

Change-Id: If5bb7751b466c39e54c93fe8f0b4e363be6d9165
Reviewed-on: https://chrome-internal-review.googlesource.com/225515
Commit-Queue: Han Shen <shenhan@google.com>
Tested-by: Han Shen <shenhan@google.com>
Reviewed-by: Han Shen <shenhan@google.com>
/external/toolchain-utils/crosperf/experiment.py
f3eb80354a8d7dd386c2880c282a767abad6a18a 27-Jul-2015 cmtice <cmtice@google.com> Make duplicate locking/unlocking warning instead of error.

Change the afe_lock_manager, so that an attempt to lock an already
locked machine or unlock an already unlocked machine is a warning
rather than an exception; also return a list of machines which we
were successfully able to lock/unlock.

Also update Crosperf: Previously if multiple machines were requested
and we were not able to lock all of them, the Crosperf job failed.
Now if we are able to successfully lock any of the requested machines,
Crosperf will try to run the job.

BUG=None
TEST=Tested in my workspace with various locked/unlocked
configurations for crosperf job with two machines.

Change-Id: I65a0a9cce4b8be8d0c043913dc2dd7f9f07cda0f
Reviewed-on: https://chrome-internal-review.googlesource.com/224180
Reviewed-by: Han Shen <shenhan@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
517dc98884e398fa863ce22b6bc1ef8323853416 12-Jun-2015 cmtice <cmtice@google.com> Add flag to crosperf to use file lock mechanism.

This CL adds a flag to crosperf that specifies using the old file
locking mechanism, rather than the new AFE server locking mechanism.
This is useful when there are issues with accessing the AFE server.

BUG=None
TEST=Tested crosperf with this, both using the AFE locking mechanism
and using the file locking mechanism.

Change-Id: If6aa3e97a77d8ccb53f0e8f0405cc7f45e983b75
Reviewed-on: https://chrome-internal-review.googlesource.com/219096
Reviewed-by: Luis Lozano <llozano@chromium.org>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
e5bc63bbed4e001b080c4ce0b18c5c78900d4786 28-May-2015 cmtice <cmtice@google.com> Implement new global locking scheme for machines.

This CL implements a new machine locking mechanism using
Autotest Front End servers. When locking/unlocking a lab machine,
it uses the ChromeOS HW lab server; when locking/unlocking a local
machine, it uses a local AFE server on chrotomation2.

BUG=None
TEST=Tested the script manually to lock/unlock machines and query status.
Also tested with image_chromeos and with crosperf scripts.

Change-Id: I2793bc1f7dc056e725694e81ded656d9f49d227b
Reviewed-on: https://chrome-internal-review.googlesource.com/217560
Reviewed-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: David Sharp <dhsharp@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
d96e457132abf36c05936121e59acbab819ecd8e 20-May-2015 cmtice <cmtice@google.com> Remove run_remote_tests references.

run_remote_tests.sh is about to be removed from ChromeOS. This
CL removes all references to run_remote_tests from toolchain-utils.
It also updates unittests to make sure they work with recent
changes.

BUG=crbug:498778
TEST=Verifed results_cache_unittest (and all the other unittests)
works with changes.

Change-Id: Ic9413bf77a1679e1267b81b182fa7f64da2629b5
Reviewed-on: https://chrome-internal-review.googlesource.com/216884
Reviewed-by: David Sharp <dhsharp@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
5c09fc2966ac49263ce7154c2905f2a86aeda297 22-Apr-2015 cmtice <cmtice@google.com> Fix current problem with machine locks.

Currently if crosperf can't access the default locks directory, it
assumes that it is safe to proceed without locks and it uses machines
without checking locks. This script does two things: It causes
crosperf to fail if it can't access a locks directory; and it allows
the user to specify an alternate locks directory. As a by-product it
also adds a boolean prompting function to utils/misc.py

BUG=None
TEST=Tested with default directory accessible & inaccessible; tested using
local locks directory.

Change-Id: I6f24f772986813bf089f5f4e40335a15e8ee4837
Reviewed-on: https://chrome-internal-review.googlesource.com/214129
Reviewed-by: Luis Lozano <llozano@chromium.org>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
1a224369afcbfd0276f4c7bdc625dec7f7b30d01 17-Oct-2014 cmtice <cmtice@google.com> Fix issue where crosperf can't find local cros_scratch.

Crosperf was assuming the user always has an NFS home directory,
and was looking for the cros_scratch directory there. This makes
crosperf use the user's home directory, whether it's NFS or local.

Also change --share_users, which also assumed NFS home directories,
to --share_cache, which requires specification of the cache path(s)
to use.

BUG=None
TEST=Tested this with my new local homedir.

Change-Id: I28d15467dfbd25b8b237cefa2979d3fd9464a7a7
Reviewed-on: https://chrome-internal-review.googlesource.com/179978
Reviewed-by: Yunlian Jiang <yunlian@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
77892948fa796a65ada0985acb4a945802a78d13 18-Mar-2014 cmtice <cmtice@google.com> Fix error that wrote logs to 'verbose' subdirectory.

The recent commit that introduced logging levels accidentally left in
a line that caused log files to be written to a subdirectory named
'verbose' rather than to 'logs'. This fixes that problem.

BUG=None
TEST=Tested this will all 3 levels of logging; it works properly.

Change-Id: I0587f242108a1e3762f4161e88f4e6ac119a367b
Reviewed-on: https://chrome-internal-review.googlesource.com/157420
Reviewed-by: Yunlian Jiang <yunlian@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Han Shen <shenhan@google.com>
/external/toolchain-utils/crosperf/experiment.py
139092449a545d4d87c06af3a6d8f3d71e42e927 11-Mar-2014 cmtice <cmtice@google.com> Add --logging_level option to crosperf.

Add --logging_level={verbose, average, quiet} option to crosperf,
optionally reducing the amount of logging output. "verbose" gives
the same output Crosperf always gave; "quiet" gives minimal output, and
"average" is in the middle. The default for now is "verbose". Doing this
also involved adding logging levels to the command_executer, and to
image_chromeos (again, with the default being "verbose").

BUG=None
TEST=Tested all three levels of logging, with and without having to
reimage the DUT. It all worked properly.

Change-Id: Icf8c9a6831fe25202adcb624c6c7e1d1a7ac25a5
Reviewed-on: https://chrome-internal-review.googlesource.com/156883
Reviewed-by: Caroline Tice <cmtice@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/experiment.py
00cc30ea5fb3a05530a3b1ec699ca7f9696ffbd0 28-Mar-2013 Yunlian Jiang <yunlian@google.com> Add option to specify output dir of crosperf

BUG=None
TEST=run crosperf with this option, the results are in the right dir

Change-Id: Id94251c72297f18f275564a1fd1ef0972227ddfc
Reviewed-on: https://gerrit-int.chromium.org/34621
Reviewed-by: Luis Lozano <llozano@chromium.org>
Commit-Queue: Yunlian Jiang <yunlian@google.com>
Tested-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/experiment.py
f81680c018729fd4499e1e200d04b48c4b90127c 15-Mar-2013 Luis Lozano <llozano@chromium.org> Cleaned up directory after copy of tools from perforce directory

Got rid of stale copies of some tools like "crosperf" and moved all
files under v14 directory (that came from perforce) into the top
directory.

BUG=None
TEST=None

Change-Id: I408d17a36ceb00e74db71403d2351fd466a14f8e
Reviewed-on: https://gerrit-int.chromium.org/33887
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
Commit-Queue: Luis Lozano <llozano@chromium.org>
/external/toolchain-utils/crosperf/experiment.py
4467f004e7f0854963bec90daff1879fbd9d2fec 20-Dec-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 64740
/external/toolchain-utils/crosperf/experiment.py
f395c26437cbdabc2960447fba89b226f4409e82 10-Oct-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 63271
/external/toolchain-utils/crosperf/experiment.py
f84bd3b7b64deba46192ae6d15a712ab66e90a6e 24-May-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 60708
/external/toolchain-utils/crosperf/experiment.py
fd356fb31c4340851fecc750230d05c9518b125c 07-May-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 60208
/external/toolchain-utils/crosperf/experiment.py
0dcbc4b1714260820fd4b8d6536fbb05e139cc0f 03-Feb-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 58208
/external/toolchain-utils/crosperf/experiment.py