History log of /external/toolchain-utils/crosperf/results_cache.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5775e7e3e85529f18220d5d6bc47df6c2fc79a6a 23-Jan-2017 Yunlian Jiang <yunlian@google.com> remove perf binary from toolchain-utils.

This reverts this CL
https://chrome-internal-review.googlesource.com/#/c/157756/,
because the bug in perf is gone.

BUG=chromium:665988
TEST=run a crosperf with perf, the report report is correct.
No 20-50% of the report attributed to 'chrome [unknown]'.
run_test.sh passes.

Change-Id: I4b2b18e9653d95bde5caf076114bf53a84c2a4fd
Reviewed-on: https://chromium-review.googlesource.com/431234
Commit-Ready: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Caroline Tice <cmtice@chromium.org>
/external/toolchain-utils/crosperf/results_cache.py
9eabe97c2dfaf0c472e3bf43849817c668b0b70a 22-Nov-2016 Manoj Gupta <manojgupta@google.com> Fix crosperf generating duplicate key entries.

Fixes crosperf when reading data from cache.
Fix string find check for json file.

BUG: chromium:658875
TEST:crosperf unit tests
Change-Id: I34529102c29ed88efd848beb0363066f3b6e50f0
Reviewed-on: https://chrome-internal-review.googlesource.com/305910
Commit-Ready: Manoj Gupta <manojgupta@google.com>
Tested-by: Manoj Gupta <manojgupta@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/results_cache.py
c145de0147859ddc9f7b82c451c2dda36a0433d2 22-Nov-2016 Manoj Gupta <manojgupta@google.com> Fix crosperf generating duplicate key entries.

Fixes crosperf when reading data from cache.
Find and assign result data file if it exists in cache.
Fix string find check for json file.

Some formatting changes required by tc_python and lint.

BUG: chromium:658875
TEST:crosperf unit tests
Change-Id: Ib13e083464062c16c8a2f1921446441c9973e41a
Reviewed-on: https://chrome-internal-review.googlesource.com/305866
Commit-Ready: Manoj Gupta <manojgupta@google.com>
Tested-by: Manoj Gupta <manojgupta@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/results_cache.py
1ced193baabbf6d6aa1aa3913bcff714e5ae376d 23-Aug-2016 Yunlian Jiang <yunlian@chromium.org> crosperf: fix telemetry results parsing.

New telemetry results provide multiple values for a single key.
This CL uses the average value to make crosperf work.

BUG=chromium:639896
TEST=run crosperf with 2 iterations of speedometer.

Change-Id: I32e7a00a57dbbe995915af0c32918f1d680ae484
Reviewed-on: https://chrome-internal-review.googlesource.com/279057
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/results_cache.py
eb9fce674ff90a6de04827bfe1ef6e07a99c8f61 19-Aug-2016 Caroline Tice <cmtice@google.com> [crosperf] Fix reading from cache.

The read-from-cache code needed to be updated to deal with the new
telemetry results format, as did the code for generating json
reports (for archiving in the database).

BUG=chromium:639106
TEST=Tested with crosperf reading from cache & generating json results.

Change-Id: I2c97e5b393583048cc74559d065f498c0f0675a1
Reviewed-on: https://chrome-internal-review.googlesource.com/278298
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.py
882e707d7e4f63c8e64fa554e77303c4800258c7 16-Aug-2016 Caroline Tice <cmtice@google.com> [crosperf] Fix telemetry results parsing.

Many telemetry results fields now contain multiple values. This CL
fixes crosperf to accomodate that.

BUG=None
TEST=Ran crosperf with change and it worked.

Change-Id: Iccb8926223c8447b72d51f413756f5dbc09f89de
Reviewed-on: https://chrome-internal-review.googlesource.com/276817
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/results_cache.py
b9f97db723647b5e4507eac2e0ae53869da57d4a 11-Aug-2016 Caroline Tice <cmtice@google.com> [crosperf] Update parsing of telemetry json file.

They've updated the format of the output in the json file. This
updates crosperf to work with either the old or the new format.

BUG=None
TEST=./run_tests and ran crosperf successfully.

Change-Id: I0b22f4c740943c55c0c521ab715e0b70fbbdfc69
Reviewed-on: https://chrome-internal-review.googlesource.com/274195
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.py
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/results_cache.py
9099a788cd7124024559c064e425ed9caef6e0ac 23-Jul-2016 Caroline Tice <cmtice@google.com> [crosperf] Clean up exceptions.

Found all instances of 'raise Exception' and changed them to raise
something slightly more specific. Changed a few 'except Exception'
statements appropriately as well.

BUG=chromium:566255
TEST=None

Change-Id: If2666bd55838342bc71431e5e6ab2157c2c9e125
Reviewed-on: https://chrome-internal-review.googlesource.com/270731
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.py
180fb3868ae7a625cd82427ad29bc6224504c757 23-Jul-2016 Caroline Tice <cmtice@google.com> [crosperf] Get telemetry results from file instead of stdout.

This CL fixes crosperf to read the telemetry json results file for
getting its results, rather than parsing stdout.

BUG=chromium:620464
TEST=Successfully got results for octane, kraken & speedometer on daisy.

Change-Id: I5bf8cf143688d83ca38c6453006360a45e945544
Reviewed-on: https://chrome-internal-review.googlesource.com/270698
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.py
eddb06396dc17fcec418c3aadc234f737b63c876 14-Apr-2016 Caroline Tice <cmtice@google.com> [crosperf] Fix more lint errors.

BUG=chromium:567921
Test=Tested in my directory.

Change-Id: Ibe128dd030887e0372380fb8f95a5e37ee63feeb
Reviewed-on: https://chrome-internal-review.googlesource.com/255303
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.py
eabfd367c30c20ecdf0adb1f0281fc02dca10102 13-Apr-2016 Caroline Tice <cmtice@google.com> Fix Crosperf to deal with a list of values being returned.

BUG=None
TEST=Tested in my tree.

Change-Id: I85e5729f857e7771e4a59a3879081e6504a1fb44
Reviewed-on: https://chrome-internal-review.googlesource.com/255298
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Han Shen <shenhan@google.com>
/external/toolchain-utils/crosperf/results_cache.py
72725f0149c91eda72e6734717f5c857f4659d65 30-Mar-2016 Caroline Tice <cmtice@google.com> [crosperf] Update to use new telemetry json output, if present.

Autotest and telemetry and have changed their output and now put
out a json file instead of the old keyvals file. This CL updates
Crosperf to check for both kinds of output file and do the right
thing with either.

BUG=chromium:597099
TEST=Tested in nightly tests.

Change-Id: Ic7dc9d63d87917f50ff7f817bea7c1512594eb07
Reviewed-on: https://chrome-internal-review.googlesource.com/253019
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/results_cache.py
25d32b4add9a0d0ac4ec682062e45baea97bff04 03-Mar-2016 Caroline Tice <cmtice@google.com> [crosperf] Fix missing chrome_version problem (v2).

When generating the json reports, occasionally the chrome_version
comes up blank (this can happen when reading some results from the
cache, for example). A blank chrome_version messes up our dremel
database scripts. This CL updates the read-cache scenario to find
the chrome_version in the cache keys (human-readable) file.

BUG=chromium:591494
TEST=Tested with experiment that was generating blank Chrome
versions and this fixed the problem.

Change-Id: I29985581aa00bc30fb65720fb9d197f1475445e4
Reviewed-on: https://chrome-internal-review.googlesource.com/249960
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.py
655dfa3bd83f6abbc7fe7cc0fa14ad38f379dcb6 30-Dec-2015 Yunlian Jiang <yunlian@google.com> crosperf: fix lint warnings.

BUG=chromium:570454
TEST=unittest passes, lint warning is gone.

Change-Id: I37f71a1195454657f205845d346b5ad76be878ec
Reviewed-on: https://chrome-internal-review.googlesource.com/243141
Commit-Ready: Yunlian Jiang <yunlian@google.com>
Tested-by: Yunlian Jiang <yunlian@google.com>
Reviewed-by: Luis Lozano <llozano@chromium.org>
/external/toolchain-utils/crosperf/results_cache.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/results_cache.py
036c9233742004aa773a374df381b1cf137484f5 10-Dec-2015 Luis Lozano <llozano@chromium.org> crosperf: RunCommand should return one type of object.

Cleaned up the interfaces for the RunCommand routines.
These were returning different types (int or tuple) depending on
the value of the return_ouput parameter.
Returning different unrelated types from a routine is bad practice.
Linter complains about this with several warnings like this:

"Attempting to unpack a non-sequence defined at line XY of
utils.command_executer"

BUG=chromium:566256
TEST=ran crosperf with a example experiment file
Ran run_tests.

Change-Id: Ibb83ab9322c87558077fc4937ef5c0686bbe5417
Reviewed-on: https://chrome-internal-review.googlesource.com/241459
Commit-Ready: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Han Shen <shenhan@google.com>
/external/toolchain-utils/crosperf/results_cache.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/results_cache.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/results_cache.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/results_cache.py
31fedb0322eea850ed4ee45cb008c5b7ca5498b0 15-Sep-2015 Caroline Tice <cmtice@google.com> Get Chrome version and store in cache & json files.

This updates crosperf to query the DUT for the version of Chrome
running on it, and to store the Chrome version both in the json
reports and in the human-readable cache keys file.

BUG=None
TEST=None

Change-Id: Ie8215528b8119f95306cad694e6898cc4810730e
Reviewed-on: https://chrome-internal-review.googlesource.com/230537
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Han Shen <shenhan@google.com>
/external/toolchain-utils/crosperf/results_cache.py
9b852cfd9a602c5f80c8e621c696b796ce5177fd 09-Sep-2015 Caroline Tice <cmtice@google.com> Store machine description info in cache and json reports.

This CL updates the cache mechanism to store the machine spec
info (the checksum string) in the cache, as well as storing the
machine information in the json reports (to go into the dashboard
archive). It also updates the json reports to always include the
full set of result fields for a test, and it verifies that the
old cache directory exists before trying to remove it.

BUG=None
TEST=Tested in my directory, with --cache_only=True, --rerun=True and
--json_report=True

Change-Id: Ib12bae4ca10141de0b972e3a7aeee83c7b59049b
Reviewed-on: https://chrome-internal-review.googlesource.com/229765
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Han Shen <shenhan@google.com>
/external/toolchain-utils/crosperf/results_cache.py
5ea9f006b5de0d882d5b51da243806b7cac69938 02-Sep-2015 Caroline Tice <cmtice@google.com> Various small cache cleanups.

Add the machine used for running the test to benchmark run; use the
actual data from that machine for generating the cache entry for the
run. Also make sure, when calculating the common checksums for looking
machines up in the cache, that all the machines being used actually have
the same checksum. Also add a cache_keys.txt file to the cache directory,
to allow people to see what was used for generating the cache
entry/checksums.

BUG=None
TEST=Tested in my directory.

Change-Id: Ia4cf8316e920a24becf5d12fd4c8f9a3e30a180f
Reviewed-on: https://chrome-internal-review.googlesource.com/228854
Commit-Ready: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.py
bc2d3d13d2e1928217140a76acdf9f9917b1fa30 02-Jul-2015 Ting-Yuan Huang <laszio@google.com> Add 'run_local' to run the test harness locally.

The option 'run_local: True|False' will be passed into autotest.
For example, this is how test_that will be invoked:
test_that --arges="run_local=True ..." ...

BUG=None
TEST=Tested with the folllowing combinations.
benchmark: sunspider, smoothness.top_25_smooth
perf_args: record -e cycles,instructions / (none)

Change-Id: I7315027a7c9433d17a9f3fe54d7e8c3f480ea4f4
Reviewed-on: https://chrome-internal-review.googlesource.com/217370
Reviewed-by: Caroline Tice <cmtice@google.com>
Tested-by: Ting-Yuan Huang <laszio@google.com>
Commit-Queue: Ting-Yuan Huang <laszio@google.com>
/external/toolchain-utils/crosperf/results_cache.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/results_cache.py
bf70b0431858abf04d9b894c6d0f060e85589dc5 18-Oct-2014 cmtice <cmtice@google.com> Fix assumption that 'graph' results field is non-null.

Crosperf dies handling the results of the graphics test,
because the 'graph' field in the results is null and crosperf
was expecting it to be non-null. This fixes that problem.

BUG=chromium:424623
TEST=Ran graphics test with this fix and it no longer crashes.

Change-Id:I6764e7c38db5d1913109948d5f4798bdf5d6fb7c
Reviewed-on: https://chrome-internal-review.googlesource.com/180212
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/results_cache.py
c490e073c811f60d6fdfec5c193e7f042302b5e8 14-Jun-2014 cmtice <cmtice@google.com> Update and expand regression tests for results_cache.py

BUG=None
TEST=Ran regression tests successfully. Ran 'normal' crosperf tests
successfully as well.

Change-Id: Ib3387cb63f1050cc0d561cc676d91be2334e0c79
Reviewed-on: https://chrome-internal-review.googlesource.com/166133
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/results_cache.py
666d175610adbd9e69bb19be92522e7bc3ffcc63 24-Apr-2014 cmtice <cmtice@google.com> Tell users where results files are stored.

This updates the output messages to actually tell users where the
results files are stored, especially the perf.data and perf.report files.

BUG=None
TEST=Ran Crosperf with these changes.

Change-Id: I4030d8fbf47c0a313e0ab349da9c4d201f946d11
Reviewed-on: https://chrome-internal-review.googlesource.com/161486
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/results_cache.py
98a53692fb946a8eac46e3e82257f540d1350c18 16-Apr-2014 cmtice <cmtice@google.com> Clean up Crosperf options and help.

Crosperf's help was completely out of date and incorrect. Fixed
that. Also, I cleaned up the options, removed some that were no
longer appropriate or not ever used, and made some options global-only.
Also removed all references to pyauto. We no longer use or run pyauto
tests.

Option changes: Completely removed outlier_range (it was not actually doing
anything), key_results_only (applied only to pyauto tests), use_test_that
(not needed now that we're not using pyauto) and md5sum (never used).
Made the following options global-only: rm_chroot_tmp, perf_args, logging_level,
show_all_results, board. Removed 'build' from global settings and made
it an image-only setting (it made no sense as a global setting).

I also adjusted the unittests to work with these changes.

BUG=None
TEST=I tested all the options in all their various positions; I tested with and
wtihout caching; and I tested local and official images. I also ran the unittests. Everything works.

Change-Id: I7653663f65c0a3363a1904c0220f1066e72c7f9d
Reviewed-on: https://chrome-internal-review.googlesource.com/160758
Reviewed-by: Bhaskar Janakiraman <bjanakiraman@google.com>
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/results_cache.py
44a44befd1f500b9a227ebfd849702efce83ef6a 02-Apr-2014 cmtice <cmtice@google.com> Check for 'significant' results at report generation instead of caching.

The current implementation of the option that masks unimportant results
discards the uninteresting results before caching the test results. After
further thought, that was not the right design choice. Among other things it
can cause confusing results, such as seen in issue 357346. We should always
cache all the results, and do the result filtering during report generation.
This CL makes that change.

BUG=357346,357343
TEST=Ran crosperf tests with and without cache hits, and with and without entreies in the json file. It all seems to work as expected.

Change-Id: I778e5614c73bf751ebaa2d4606af636275247c60
Reviewed-on: https://chrome-internal-review.googlesource.com/159108
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/results_cache.py
24846b19591ca4fb1d03d0c80a2e86effc55c0f6 20-Mar-2014 cmtice <cmtice@google.com> Update to use "working" version of perf for now.

This is a temporary fix, until we can figure out why the 'normal' version
of 'perf' is not properly symbolizing ChromeOS perf data. This CL
commits a version of the 'perf' binary (based on perf 3.13) that does
properly symbolize ChromeOS perf data files. It also updates crosperf to
copy this working perf binary into the chroot (in /tmp) and to use it
when generating the perf report. Work to track down and fix the real
problem is ongoing, but in the meantime this allows Crosperf users to
get meaningful perf reports for ChromeOS.

BUG=None
TEST=Tested Crosperf using this patch and generating perf reports.

Change-Id: Ia8dd157b88d37a897eb9becf8fa444de41e88873
Reviewed-on: https://chrome-internal-review.googlesource.com/157756
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/results_cache.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/results_cache.py
e77818d606f46e84a592702272d73715b321a773 04-Mar-2014 cmtice <cmtice@google.com> Fix bug introduced with the --show_all_results flag, using cache.

The call to self._ProcessResults is supposed to take the show_all_results
flag as an argument. This was overlooked in the read-it-out-of-the-cache
path when this change was first introduced. This CL fixes that.

BUG=None
TEST=I tested cached and non-cached runs, with and without the
--show_all_results option. Everything worked as it should.

Change-Id: Ibf8f206406b0a4535d48b598709e62135289f993
Reviewed-on: https://chrome-internal-review.googlesource.com/156367
Reviewed-by: Yunlian Jiang <yunlian@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/results_cache.py
32f09363f80eb73ba1a22bd90d6e609e8f991c8f 03-Mar-2014 cmtice <cmtice@google.com> Fix problem with looking for 'perf' in the wrong directory.

BUG=None
TEST=Tested with old and new chroots; seems to work.

Change-Id: Id1a7fc9d6b1dea0b96fe51032bb25d4722dd8b48
Reviewed-on: https://chrome-internal-review.googlesource.com/156381
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/results_cache.py
0cc4e7790afbd514675801a1ffb90517c147270f 31-Jan-2014 cmtice <cmtice@google.com> Add 'build' settings option and xbuddy image format.

This patch updates Crosperf to add the 'build' tag in the
experiment file, and to allow that field to contain xbuddy
syntax for using trybot and/or official builds in the test runs.
It also adds a bit more checking to make sure we have everything
necessary for running 'cros flash' before attempting to use it.

BUG=None
TEST=I have run this using an experiment file that compares a local
image, a trybot image and an official image against each other. It
all worked.

Change-Id: Ia896799061508fb5718a3201b1599d8622de0b3f
Reviewed-on: https://chrome-internal-review.googlesource.com/154097
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/results_cache.py
75a28ac9bd52db76d106abc8e23678b0192b3a69 11-Feb-2014 cmtice <cmtice@google.com> Minor Crosperf fixes and cleanups.

Fix crosperf so that it doesn't try to look for a default result
(from the json file) if the telemetry test failed altogether. Also
fix it so that if it can't find the default result (on a successful run),
it returns all the results, rather than exiting with a backtrace. Also
add units to results.

BUG=None
TEST=Tested these fixes on my system. They appear to work as desired now.

Change-Id: I86099a1174c4d91d7d92a5aeea0792c68fa8dbbb
Reviewed-on: https://chrome-internal-review.googlesource.com/154114
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/results_cache.py
af5f70ecd0f07c76eb83eeb3e15d4bb168f9e8b1 11-Dec-2013 cmtice <cmtice@google.com> Fix bug with Telemetry results names.

Some Telemetry tests return results that have the same 'description'
name, but different 'graph' names. We were only using the description
names, so we were losing some Telemetry measurements in our reports.
This CL fixes that.

BUG=None
TEST=Ran this on with smoothness.top_25. Was missing some results
before this change; after, the results are all there.

Change-Id: Ibcbe31da5f2860c494cbc8364b0a720d1c50169c
Reviewed-on: https://chrome-internal-review.googlesource.com/150215
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/results_cache.py
9847df92a2b5f76ccddc4bf10288819712a8ca47 07-Dec-2013 cmtice <cmtice@google.com> Use default results for Telemetry tests; add option to use all results.

When running telemetry_Crosperf, use the json file of report defaults to
determine which results to actually include in the report. This CL
also adds a flag to Crospref, --show_all_results=True, that allows the
user to override the defaults and generate a report showing all the values.

BUG=None
TEST=Tested this both with and without the --show_all_results flag. It
works as expected for me.

Change-Id: I91364572ebdf3d54bb8b408fbd5a2580923f6829
Reviewed-on: https://chrome-internal-review.googlesource.com/149457
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/results_cache.py
d80a960b62d89bc6f83d2f5fd4d599408f2ec7f9 05-Dec-2013 cmtice <cmtice@google.com> Check for file before prepending directory path.

Sometimes _GetDataMeasurementsFiles returns the file with the full
directory path, and sometimes it doesn't. We were assuming it always
did not. This patch checks to see if we can already find the file
before attempting to prepend the directory path.

BUG=None
TEST=Tested this in the nightly infrastructure tests area, where we
were seeing the problem. This fixed that problem. (Before this fix
we were not seeing the successful test results; after it we are.)

Change-Id: Ic0a2df4c9aff7b820f652f7ecad56976ed97a4b0
Reviewed-on: https://chrome-internal-review.googlesource.com/149256
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/results_cache.py
e5a746fb9ba7ddb8827f73f030bf99f798ffcf9e 25-Nov-2013 cmtice <cmtice@google.com> Add the ability to pass arguments through test_that to Telemetry's
run_benchmark.

BUG=None
TEST=I have tested this with my own crosperf, and test_that is passing the
arguments along properly. The telemetry_Crosperf autotest also needs to
be updated before this completely works.

Change-Id: Ic887380b297d966229ac21ba4e7e909e7248fcb0
Reviewed-on: https://chrome-internal-review.googlesource.com/148485
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/results_cache.py
5f3ccbddaaf5f4a64431c9e68faf83a348ecdfdd 21-Nov-2013 cmtice <cmtice@google.com> Update report generation to check for a 'perf_measurements' file.

The latest version of telemetry_Crosperf generates a perf_measurements
file, containing the test results, rather than a keyval file. This CL
checks for perf_measurements, and reads it, if it is there. This
change is backwards compatible with the older versions of telemetry_Crosperf
that used the keyval file.

BUG=None
TEST=Tested this with the results only in a keyval file and only in a
perf_measurements file. Got acceptable test reports either way.

Change-Id: If10a62b2f7fbe89d35c1ebe789a81764c9d134e4
Reviewed-on: https://chrome-internal-review.googlesource.com/148295
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/results_cache.py
70fceb7f11f176a0de829514b99c5907107b76d2 04-Oct-2013 Yunlian Jiang <yunlian@google.com> crosperf: remove cache if --rerun=True is set.

If rerun=True, the data in the cache is useless, so remove it first
to avoid data corrupture.

BUG=None
TEST=The cache dir is removed.

Change-Id: I59b219c57cc99aaea7a734ef6e7fd91007cedfd3
Reviewed-on: https://chrome-internal-review.googlesource.com/146065
Reviewed-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
Commit-Queue: Yunlian Jiang <yunlian@google.com>
Tested-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.py
b47bff4d3336c5fe5593a95963c0f3dc20a02f68 20-Aug-2013 Caroline Tice <cmtice@chromium.org> Make test_that available for running tests.

Add a new flag, --use_test_that=True/False, to crosperf, to allow users to
tell crosperf to use the test_that script rather than the run_remote_tests.sh
script for running their tests.

BUG=None
TEST=Tested with and without the flag, to verify that it does the right thing.

Change-Id: I1a040d23adbf364b4a47320d9fd759a2d46e6689
Reviewed-on: https://gerrit-int.chromium.org/43109
Reviewed-by: Luis Lozano <llozano@chromium.org>
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/results_cache.py
4f10d39a499ad872c22402aa763037fc3351f399 15-Aug-2013 Caroline Tice <cmtice@chromium.org> Fix results processing to handle "JSON.stringify" in Telemetry results.

This is the same as the previous CL; I had to abandon the previous CL
because it erroneously depended on a different abandoned CL, so it refused
to commit.

BUG=none
TEST=I ran the telemetry tests with the modification and now ALL of them
give good output (before only about half of them did).

Change-Id: I567f51176c522bc1c41676f6dc560f3827b9cef4
Reviewed-on: https://gerrit-int.chromium.org/42930
Reviewed-by: Bhaskar Janakiraman <bjanakiraman@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
/external/toolchain-utils/crosperf/results_cache.py
570b2ce931d40a335f3b02ed859b376040b5fb67 07-Aug-2013 Caroline Tice <cmtice@chromium.org> Initialize machine_id_checksum. Make unlocking unlocked machine a warning.

Fix issues causing errors in nightly tester: Attempting to use
machine_id_checksum when it hasn't been initialized; and attempting to
unlock an already unlocked machine causes a fatal error.

Change-Id: Ia149953d4e25c7abf97a189bb5fdd129de865c34
Reviewed-on: https://gerrit-int.chromium.org/42489
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/results_cache.py
04dc5dc8547dbfbe524cf35ac39537346ad749bb 24-Apr-2013 Yunlian Jiang <yunlian@google.com> Adding support of telemetry to crosperf

BUG=None
TEST=run crosperf with pyauto/telemetry test with/without cache.
all pass.

Change-Id: If07ac020a9107a79d5780a58fd6dcc924d07f07f
Reviewed-on: https://gerrit-int.chromium.org/36594
Reviewed-by: Luis Lozano <llozano@chromium.org>
Commit-Queue: Yunlian Jiang <yunlian@google.com>
Tested-by: Yunlian Jiang <yunlian@google.com>
Reviewed-on: https://gerrit-int.chromium.org/39241
Reviewed-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.py
006a5b0cd4ed149e7774ef2d3a29a73d0cc3cee8 28-Mar-2013 Yunlian Jiang <yunlian@google.com> Add exe permission to groups for the cache dir.

So others can open the cache dir

BUG=None
TEST=run crosperf, the permission of the cache dir shown as drwx--x---

Change-Id: Iadc5519679f2820f047e17c10429205636e65f5b
Reviewed-on: https://gerrit-int.chromium.org/34614
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/results_cache.py
b8b76e2cf876caf2de12e06951c7ab80333a1799 25-Mar-2013 Yunlian Jiang <yunlian@google.com> Remove unrelated /tmp from crosperf report.

This bug happens when we move the invocation of generate_test_report
into chroot. The source dir did not change accordingly, so it cannot
remove the /tmp stuff anymore.

BUG=None
TEST=The /tmp/... stuff is removed on both cache and non cached case.

Change-Id: I29dac68eecf0ff1d265f2a3f004627c30962e228
Reviewed-on: https://gerrit-int.chromium.org/34407
Reviewed-by: asharif <asharif@google.com>
Commit-Queue: Yunlian Jiang <yunlian@google.com>
Tested-by: Yunlian Jiang <yunlian@google.com>
/external/toolchain-utils/crosperf/results_cache.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/results_cache.py
4467f004e7f0854963bec90daff1879fbd9d2fec 20-Dec-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 64740
/external/toolchain-utils/crosperf/results_cache.py
f395c26437cbdabc2960447fba89b226f4409e82 10-Oct-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 63271
/external/toolchain-utils/crosperf/results_cache.py
a171f8d10c0507127de54c60076f1f59feef3629 25-May-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 60736
/external/toolchain-utils/crosperf/results_cache.py
f84bd3b7b64deba46192ae6d15a712ab66e90a6e 24-May-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 60708
/external/toolchain-utils/crosperf/results_cache.py
5cc48b578c136a3d9427de53284e4268e927a521 18-May-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 60597
/external/toolchain-utils/crosperf/results_cache.py
5ae8a5c99e73be7f388f74551d5219cb676f8e41 18-May-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 60588
/external/toolchain-utils/crosperf/results_cache.py
ee988c87971c07b7e6767adb63d151ea37e363f2 15-May-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 60457
/external/toolchain-utils/crosperf/results_cache.py
fd356fb31c4340851fecc750230d05c9518b125c 07-May-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 60208
/external/toolchain-utils/crosperf/results_cache.py
92ab7af223c82fe8897bacea8b32028828eab018 02-Mar-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 58839
/external/toolchain-utils/crosperf/results_cache.py
0dcbc4b1714260820fd4b8d6536fbb05e139cc0f 03-Feb-2012 Ahmad Sharif <asharif@chromium.org> Synced repos to: 58208
/external/toolchain-utils/crosperf/results_cache.py