| Index: tools/telemetry/telemetry/results/json_output_formatter.py
|
| diff --git a/tools/telemetry/telemetry/results/json_output_formatter.py b/tools/telemetry/telemetry/results/json_output_formatter.py
|
| index 4298587a603c416c0f0644c32739f4bf227b1b1d..bf23ede9b8452d039c828b6e99720b65c74370b9 100644
|
| --- a/tools/telemetry/telemetry/results/json_output_formatter.py
|
| +++ b/tools/telemetry/telemetry/results/json_output_formatter.py
|
| @@ -6,16 +6,26 @@ import json
|
|
|
| from telemetry.results import output_formatter
|
|
|
| -
|
| -def ResultsAsDict(page_test_results, metadata):
|
| +def ResultsAsDict(page_test_results, benchmark_metadata):
|
| + """Takes PageTestResults to a dict serializable to JSON.
|
| +
|
| + To serialize results as JSON we first convert them to a dict that can be
|
| + serialized by the json module. It also requires a benchmark_metadat object
|
| + for metadata to be integrated into the results (currently the benchmark
|
| + name).
|
| +
|
| + Args:
|
| + page_test_results: a PageTestResults object
|
| + benchmark_metadata: a benchmark.BenchmarkMetadata object
|
| + """
|
| result_dict = {
|
| 'format_version': '0.2',
|
| - 'benchmark_name': metadata.name,
|
| + 'benchmark_name': benchmark_metadata.name,
|
| 'summary_values': [v.AsDict() for v in
|
| page_test_results.all_summary_values],
|
| 'per_page_values': [v.AsDict() for v in
|
| page_test_results.all_page_specific_values],
|
| - 'pages': dict((p.id, p.AsDict()) for p in _GetAllPages(page_test_results))
|
| + 'pages': {p.id: p.AsDict() for p in _GetAllPages(page_test_results)}
|
| }
|
|
|
| return result_dict
|
| @@ -26,15 +36,15 @@ def _GetAllPages(page_test_results):
|
| return pages
|
|
|
| class JsonOutputFormatter(output_formatter.OutputFormatter):
|
| - def __init__(self, output_stream, metadata):
|
| + def __init__(self, output_stream, benchmark_metadata):
|
| super(JsonOutputFormatter, self).__init__(output_stream)
|
| - self._metadata = metadata
|
| + self._benchmark_metadata = benchmark_metadata
|
|
|
| @property
|
| - def metadata(self):
|
| - return self._metadata
|
| + def benchmark_metadata(self):
|
| + return self._benchmark_metadata
|
|
|
| def Format(self, page_test_results):
|
| - json.dump(ResultsAsDict(page_test_results, self.metadata),
|
| + json.dump(ResultsAsDict(page_test_results, self.benchmark_metadata),
|
| self.output_stream)
|
| self.output_stream.write('\n')
|
|
|