Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Side by Side Diff: tools/telemetry/telemetry/results/results_options.py

Issue 631213003: Add CSV export, suitable for use with "pivot tables" in spreadsheets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 optparse 5 import optparse
6 import os 6 import os
7 import sys 7 import sys
8 8
9 from telemetry.core import util 9 from telemetry.core import util
10 from telemetry.results import buildbot_output_formatter 10 from telemetry.results import buildbot_output_formatter
11 from telemetry.results import chart_json_output_formatter 11 from telemetry.results import chart_json_output_formatter
12 from telemetry.results import csv_output_formatter 12 from telemetry.results import csv_output_formatter
13 from telemetry.results import csv_pivot_table_output_formatter
13 from telemetry.results import gtest_progress_reporter 14 from telemetry.results import gtest_progress_reporter
14 from telemetry.results import html_output_formatter 15 from telemetry.results import html_output_formatter
15 from telemetry.results import json_output_formatter 16 from telemetry.results import json_output_formatter
16 from telemetry.results import page_test_results 17 from telemetry.results import page_test_results
17 from telemetry.results import progress_reporter 18 from telemetry.results import progress_reporter
18 19
19 # Allowed output formats. The default is the first item in the list. 20 # Allowed output formats. The default is the first item in the list.
20 _OUTPUT_FORMAT_CHOICES = ('html', 'buildbot', 'block', 'csv', 'gtest', 'json', 21 _OUTPUT_FORMAT_CHOICES = ('html', 'buildbot', 'block', 'csv', 'gtest', 'json',
21 'chartjson', 'none') 22 'chartjson', 'csv-pivot-table', 'none')
22 23
23 24
24 def AddResultsOptions(parser): 25 def AddResultsOptions(parser):
25 group = optparse.OptionGroup(parser, 'Results options') 26 group = optparse.OptionGroup(parser, 'Results options')
26 group.add_option('--chartjson', action='store_true', 27 group.add_option('--chartjson', action='store_true',
27 help='Output Chart JSON. Ignores --output-format.') 28 help='Output Chart JSON. Ignores --output-format.')
28 group.add_option('--output-format', action='append', dest='output_formats', 29 group.add_option('--output-format', action='append', dest='output_formats',
29 choices=_OUTPUT_FORMAT_CHOICES, default=[], 30 choices=_OUTPUT_FORMAT_CHOICES, default=[],
30 help='Output format. Defaults to "%%default". ' 31 help='Output format. Defaults to "%%default". '
31 'Can be %s.' % ', '.join(_OUTPUT_FORMAT_CHOICES)) 32 'Can be %s.' % ', '.join(_OUTPUT_FORMAT_CHOICES))
nednguyen 2014/10/09 17:05:14 How would telemetry users know that --output-trace
vogelheim 2014/10/10 11:27:43 Done. (I think...) I've added the description to
32 group.add_option('-o', '--output', 33 group.add_option('-o', '--output',
33 dest='output_file', 34 dest='output_file',
34 default=None, 35 default=None,
35 help='Redirects output to a file. Defaults to stdout.') 36 help='Redirects output to a file. Defaults to stdout.')
36 group.add_option('--output-trace-tag', 37 group.add_option('--output-trace-tag',
37 default='', 38 default='',
38 help='Append a tag to the key of each result trace.') 39 help='Append a tag to the key of each result trace.')
39 group.add_option('--reset-results', action='store_true', 40 group.add_option('--reset-results', action='store_true',
40 help='Delete all stored results.') 41 help='Delete all stored results.')
41 group.add_option('--upload-results', action='store_true', 42 group.add_option('--upload-results', action='store_true',
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 91
91 output_formatters = [] 92 output_formatters = []
92 for output_format in options.output_formats: 93 for output_format in options.output_formats:
93 if output_format == 'none' or output_format == "gtest" or options.chartjson: 94 if output_format == 'none' or output_format == "gtest" or options.chartjson:
94 continue 95 continue
95 96
96 output_stream = _GetOutputStream(output_format, options.output_file) 97 output_stream = _GetOutputStream(output_format, options.output_file)
97 if output_format == 'csv': 98 if output_format == 'csv':
98 output_formatters.append(csv_output_formatter.CsvOutputFormatter( 99 output_formatters.append(csv_output_formatter.CsvOutputFormatter(
99 output_stream)) 100 output_stream))
101 elif output_format == 'csv-pivot-table':
102 output_formatters.append(
103 csv_pivot_table_output_formatter.CsvPivotTableOutputFormatter(
104 output_stream, trace_tag=options.output_trace_tag))
100 elif output_format == 'buildbot': 105 elif output_format == 'buildbot':
101 output_formatters.append( 106 output_formatters.append(
102 buildbot_output_formatter.BuildbotOutputFormatter( 107 buildbot_output_formatter.BuildbotOutputFormatter(
103 output_stream, trace_tag=options.output_trace_tag)) 108 output_stream, trace_tag=options.output_trace_tag))
104 elif output_format == 'html': 109 elif output_format == 'html':
105 # TODO(chrishenry): We show buildbot output so that users can grep 110 # TODO(chrishenry): We show buildbot output so that users can grep
106 # through the results easily without needing to open the html 111 # through the results easily without needing to open the html
107 # file. Another option for this is to output the results directly 112 # file. Another option for this is to output the results directly
108 # in gtest-style results (via some sort of progress reporter), 113 # in gtest-style results (via some sort of progress reporter),
109 # as we plan to enable gtest-style output for all output formatters. 114 # as we plan to enable gtest-style output for all output formatters.
(...skipping 18 matching lines...) Expand all
128 133
129 # TODO(chrishenry): This is here to not change the output of 134 # TODO(chrishenry): This is here to not change the output of
130 # gtest. Let's try enabling skipped tests summary for gtest test 135 # gtest. Let's try enabling skipped tests summary for gtest test
131 # results too (in a separate patch), and see if we break anything. 136 # results too (in a separate patch), and see if we break anything.
132 output_skipped_tests_summary = 'gtest' in options.output_formats 137 output_skipped_tests_summary = 'gtest' in options.output_formats
133 138
134 reporter = _GetProgressReporter(output_skipped_tests_summary, 139 reporter = _GetProgressReporter(output_skipped_tests_summary,
135 options.suppress_gtest_report) 140 options.suppress_gtest_report)
136 return page_test_results.PageTestResults( 141 return page_test_results.PageTestResults(
137 output_formatters=output_formatters, progress_reporter=reporter) 142 output_formatters=output_formatters, progress_reporter=reporter)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698