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') |