| 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..6a84be1c428d963fc22e8534b871133a184ed7aa 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.
|
| + 'enabled': True
|
| }
|
|
|
| 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,
|
| + 'enabled': False
|
| + }
|
| +
|
| + 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')
|
|
|