Added execution summary, modified benchmark to handle JSON

- Added execution summary to the beeswax client and QueryResult
- Modified report-benchmark-results to handle JSON and perform
  execution summary comparison between runs
- Added comments to the new workload runner

Change-Id: I9c3c5f2fdc5d8d1e70022c4077334bc44e3a2d1d
Reviewed-on: http://gerrit.ent.cloudera.com:8080/3598
Reviewed-by: Taras Bobrovytsky <tbobrovytsky@cloudera.com>
Tested-by: jenkins
(cherry picked from commit fd0b1406be2511c202e02fa63af94fbbe5e18eee)
Reviewed-on: http://gerrit.ent.cloudera.com:8080/3618
This commit is contained in:
Taras Bobrovytsky
2014-06-23 19:20:11 -07:00
committed by jenkins
parent 3bed0be1df
commit e94de02469
9 changed files with 1105 additions and 527 deletions

View File

@@ -37,6 +37,19 @@ class WorkloadRunner(object):
Internally, for each workload, this module looks up and parses that workload's
query files and reads the workload's test vector to determine what combination(s)
of file format / compression to run with.
Args:
workload (Workload)
scale_factor (str): eg. "300gb"
config (WorkloadConfig)
Attributes:
workload (Workload)
scale_factor (str): eg. "300gb"
config (WorkloadConfig)
exit_on_error (boolean)
results (list of QueryResult)
__test_vectors (list of ?)
"""
def __init__(self, workload, scale_factor, config):
self.workload = workload
@@ -106,7 +119,7 @@ class WorkloadRunner(object):
self.exit_on_error)
query_executors.append(query_executor)
# Initialize the scheduler.
scheduler= Scheduler(query_executors=query_executors,
scheduler = Scheduler(query_executors=query_executors,
shuffle=self.config.shuffle_queries,
iterations=self.config.workload_iterations,
query_iterations=self.config.query_iterations,