diff options
author | Caroline Tice <cmtice@google.com> | 2015-08-25 12:53:38 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-08-26 02:10:56 +0000 |
commit | ef4ca8a8cfe05ec09447896db42fb220d07834f8 (patch) | |
tree | 9cee7390eab577bc8fd11b7a36bb87f886af5ec1 /crosperf/experiment_runner.py | |
parent | bb04def1e86a0949a1b1898e705e56c84c400dd9 (diff) | |
download | toolchain-utils-ef4ca8a8cfe05ec09447896db42fb220d07834f8.tar.gz |
Add json report archiving.
This CL adds a new output, in json format, for archiving test
results. It also adds a new flag, --json_report, to crosperf to
tell it to generate the json output file in the usual results
directory. The json output is always in addition to the other
reports that Crosperf generates. This CL also make some minor
changes to the tool that maintains the telemetry default results
file, so it can be used by the json report generator.
BUG=None
TEST=Tested Crosperf with & without new flag; it did what it should.
Change-Id: Id0e476716ceee208d33e6f9427ea95235fbf11d4
Reviewed-on: https://chrome-internal-review.googlesource.com/228325
Reviewed-by: Han Shen <shenhan@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Diffstat (limited to 'crosperf/experiment_runner.py')
-rw-r--r-- | crosperf/experiment_runner.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/crosperf/experiment_runner.py b/crosperf/experiment_runner.py index 90c07e77..0d7a0262 100644 --- a/crosperf/experiment_runner.py +++ b/crosperf/experiment_runner.py @@ -25,6 +25,7 @@ import config from experiment_status import ExperimentStatus from results_report import HTMLResultsReport from results_report import TextResultsReport +from results_report import JSONResultsReport class ExperimentRunner(object): @@ -33,11 +34,13 @@ class ExperimentRunner(object): STATUS_TIME_DELAY = 30 THREAD_MONITOR_DELAY = 2 - def __init__(self, experiment, using_schedv2=False, log=None, cmd_exec=None): + def __init__(self, experiment, json_report, using_schedv2=False, log=None, + cmd_exec=None): self._experiment = experiment self.l = log or logger.GetLogger(experiment.log_dir) self._ce = cmd_exec or command_executer.GetCommandExecuter(self.l) self._terminated = False + self.json_report = json_report self.locked_machines = [] if experiment.log_level != "verbose": self.STATUS_TIME_DELAY = 10 @@ -211,6 +214,8 @@ class ExperimentRunner(object): self.l.LogOutput("Storing results report in %s." % results_directory) results_table_path = os.path.join(results_directory, "results.html") report = HTMLResultsReport(experiment).GetReport() + if self.json_report: + JSONResultsReport(experiment).GetReport(results_directory) FileUtils().WriteFile(results_table_path, report) self.l.LogOutput("Storing email message body in %s." % results_directory) |