OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import codecs | 5 import codecs |
6 import optparse | 6 import optparse |
7 import os | 7 import os |
8 import sys | 8 import sys |
9 import time | 9 import time |
10 | 10 |
11 from py_utils import cloud_storage # pylint: disable=import-error | 11 from py_utils import cloud_storage # pylint: disable=import-error |
12 | 12 |
13 from telemetry.core import util | 13 from telemetry.core import util |
14 from telemetry.internal.results import chart_json_output_formatter | 14 from telemetry.internal.results import chart_json_output_formatter |
15 from telemetry.internal.results import csv_output_formatter | 15 from telemetry.internal.results import csv_output_formatter |
16 from telemetry.internal.results import csv_pivot_table_output_formatter | 16 from telemetry.internal.results import csv_pivot_table_output_formatter |
17 from telemetry.internal.results import gtest_progress_reporter | 17 from telemetry.internal.results import gtest_progress_reporter |
18 from telemetry.internal.results import histogram_set_json_output_formatter | 18 from telemetry.internal.results import histogram_set_json_output_formatter |
19 from telemetry.internal.results import html_output_formatter | 19 from telemetry.internal.results import html_output_formatter |
20 from telemetry.internal.results import json_3_output_formatter | 20 from telemetry.internal.results import json_3_output_formatter |
21 from telemetry.internal.results import json_output_formatter | |
22 from telemetry.internal.results import legacy_html_output_formatter | 21 from telemetry.internal.results import legacy_html_output_formatter |
23 from telemetry.internal.results import page_test_results | 22 from telemetry.internal.results import page_test_results |
24 from telemetry.internal.results import progress_reporter | 23 from telemetry.internal.results import progress_reporter |
25 | 24 |
26 # Allowed output formats. The default is the first item in the list. | 25 # Allowed output formats. The default is the first item in the list. |
27 | 26 |
28 _OUTPUT_FORMAT_CHOICES = ( | 27 _OUTPUT_FORMAT_CHOICES = ( |
29 'chartjson', | 28 'chartjson', |
30 'csv', | 29 'csv', |
31 'csv-pivot-table', | 30 'csv-pivot-table', |
32 'gtest', | 31 'gtest', |
33 'histograms', | 32 'histograms', |
34 'html', | 33 'html', |
35 'json', | |
36 'json-test-results', | 34 'json-test-results', |
37 'legacy-html', | 35 'legacy-html', |
38 'none', | 36 'none', |
39 ) | 37 ) |
40 | 38 |
41 | 39 |
42 # Filenames to use for given output formats. | 40 # Filenames to use for given output formats. |
43 _OUTPUT_FILENAME_LOOKUP = { | 41 _OUTPUT_FILENAME_LOOKUP = { |
44 'chartjson': 'results-chart.json', | 42 'chartjson': 'results-chart.json', |
45 'csv': 'results.csv', | 43 'csv': 'results.csv', |
46 'csv-pivot-table': 'results-pivot-table.csv', | 44 'csv-pivot-table': 'results-pivot-table.csv', |
47 'histograms': 'histograms.json', | 45 'histograms': 'histograms.json', |
48 'html': 'results.html', | 46 'html': 'results.html', |
49 'json': 'results.json', | |
50 'json-test-results': 'test-results.json', | 47 'json-test-results': 'test-results.json', |
51 'legacy-html': 'legacy-results.html' | 48 'legacy-html': 'legacy-results.html' |
52 } | 49 } |
53 | 50 |
54 | 51 |
55 def AddResultsOptions(parser): | 52 def AddResultsOptions(parser): |
56 group = optparse.OptionGroup(parser, 'Results options') | 53 group = optparse.OptionGroup(parser, 'Results options') |
57 group.add_option( | 54 group.add_option( |
58 '--output-format', | 55 '--output-format', |
59 action='append', | 56 action='append', |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 | 162 |
166 output_stream = _GetOutputStream(output_format, options.output_dir) | 163 output_stream = _GetOutputStream(output_format, options.output_dir) |
167 if output_format == 'csv-pivot-table': | 164 if output_format == 'csv-pivot-table': |
168 output_formatters.append( | 165 output_formatters.append( |
169 csv_pivot_table_output_formatter.CsvPivotTableOutputFormatter( | 166 csv_pivot_table_output_formatter.CsvPivotTableOutputFormatter( |
170 output_stream, trace_tag=options.output_trace_tag)) | 167 output_stream, trace_tag=options.output_trace_tag)) |
171 elif output_format == 'html': | 168 elif output_format == 'html': |
172 output_formatters.append(html_output_formatter.HtmlOutputFormatter( | 169 output_formatters.append(html_output_formatter.HtmlOutputFormatter( |
173 output_stream, benchmark_metadata, options.reset_results, | 170 output_stream, benchmark_metadata, options.reset_results, |
174 upload_bucket)) | 171 upload_bucket)) |
175 elif output_format == 'json': | |
176 output_formatters.append(json_output_formatter.JsonOutputFormatter( | |
177 output_stream, benchmark_metadata)) | |
178 elif output_format == 'json-test-results': | 172 elif output_format == 'json-test-results': |
179 output_formatters.append(json_3_output_formatter.JsonOutputFormatter( | 173 output_formatters.append(json_3_output_formatter.JsonOutputFormatter( |
180 output_stream)) | 174 output_stream)) |
181 elif output_format == 'chartjson': | 175 elif output_format == 'chartjson': |
182 output_formatters.append( | 176 output_formatters.append( |
183 chart_json_output_formatter.ChartJsonOutputFormatter( | 177 chart_json_output_formatter.ChartJsonOutputFormatter( |
184 output_stream, benchmark_metadata)) | 178 output_stream, benchmark_metadata)) |
185 elif output_format == 'csv': | 179 elif output_format == 'csv': |
186 output_formatters.append( | 180 output_formatters.append( |
187 csv_output_formatter.CsvOutputFormatter( | 181 csv_output_formatter.CsvOutputFormatter( |
(...skipping 25 matching lines...) Expand all Loading... |
213 output_dir=options.output_dir, | 207 output_dir=options.output_dir, |
214 value_can_be_added_predicate=value_can_be_added_predicate, | 208 value_can_be_added_predicate=value_can_be_added_predicate, |
215 benchmark_enabled=benchmark_enabled) | 209 benchmark_enabled=benchmark_enabled) |
216 | 210 |
217 results.telemetry_info.benchmark_name = benchmark_metadata.name | 211 results.telemetry_info.benchmark_name = benchmark_metadata.name |
218 results.telemetry_info.benchmark_start_epoch = time.time() | 212 results.telemetry_info.benchmark_start_epoch = time.time() |
219 if options.results_label: | 213 if options.results_label: |
220 results.telemetry_info.label = options.results_label | 214 results.telemetry_info.label = options.results_label |
221 | 215 |
222 return results | 216 return results |
OLD | NEW |