Chromium Code Reviews| Index: telemetry/telemetry/internal/results/chart_json_output_formatter.py |
| diff --git a/telemetry/telemetry/internal/results/chart_json_output_formatter.py b/telemetry/telemetry/internal/results/chart_json_output_formatter.py |
| index 9d95415720f09c00b5cf8278aa65a449956f23f0..f210c8f52d0d1381a931a529c16ddb310bb4bbeb 100644 |
| --- a/telemetry/telemetry/internal/results/chart_json_output_formatter.py |
| +++ b/telemetry/telemetry/internal/results/chart_json_output_formatter.py |
| @@ -68,20 +68,47 @@ def ResultsAsChartDict(benchmark_metadata, page_specific_values, |
| 'trace_rerun_options': benchmark_metadata.rerun_options, |
| 'benchmark_metadata': benchmark_metadata.AsDict(), |
| 'charts': charts, |
| + # Need to add this in for compatibility with disabled chartjson results. |
| + 'disabled': False |
|
perezju
2016/09/22 08:42:07
On a second thought, should we change this to 'ena
eyaich1
2016/09/26 14:23:09
Done.
|
| } |
| return result_dict |
| + |
| +def DisabledResultsDict(benchmark_name): |
| + """Produces a dict for serialization to Chart JSON when a benchmark is |
| + disabled. |
| + |
| + Args: |
| + benchmark_name: name of the disabled benchmark |
| + |
| + Returns: |
| + A Chart JSON dict corresponding to a disabled benchmark. |
| + """ |
| + result_dict = { |
| + 'benchmark_name': benchmark_name, |
| + 'disabled': True |
| + } |
| + |
| + return result_dict |
| + |
| + |
| # TODO(eakuefner): Transition this to translate Telemetry JSON. |
| class ChartJsonOutputFormatter(output_formatter.OutputFormatter): |
| def __init__(self, output_stream, benchmark_metadata): |
| super(ChartJsonOutputFormatter, self).__init__(output_stream) |
| self._benchmark_metadata = benchmark_metadata |
| + def FormatDisabled(self): |
| + self._Dump(DisabledResultsDict(self._benchmark_metadata.name)) |
| + |
| def Format(self, page_test_results): |
| - json.dump(ResultsAsChartDict( |
| - self._benchmark_metadata, |
| - page_test_results.all_page_specific_values, |
| - page_test_results.all_summary_values), |
| - self.output_stream, indent=2) |
| + self._Dump(ResultsAsChartDict( |
| + self._benchmark_metadata, |
| + page_test_results.all_page_specific_values, |
| + page_test_results.all_summary_values)) |
| + |
| + def _Dump(self, results): |
| + json.dump(results, self.output_stream, indent=2, |
| + separators=(',', ': ')) |
| self.output_stream.write('\n') |