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

Unified Diff: tools/telemetry/telemetry/page_runner.py

Issue 11434040: [telemetry] Number the trace .json files in trace-dir. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/page_runner.py
diff --git a/tools/telemetry/telemetry/page_runner.py b/tools/telemetry/telemetry/page_runner.py
index 389d4c884483fbd487e16777c7112951b2c9eb01..7f0ba07f8ccc4eefa5dbe9ae1d17af8f62443d33 100644
--- a/tools/telemetry/telemetry/page_runner.py
+++ b/tools/telemetry/telemetry/page_runner.py
@@ -49,9 +49,9 @@ def _ShufflePageSet(page_set, options):
if options.test_shuffle:
random.Random().shuffle(pages)
return [page
- for _ in xrange(options.pageset_repeat)
+ for _ in xrange(int(options.pageset_repeat))
for page in pages
- for _ in xrange(options.page_repeat)]
+ for _ in xrange(int(options.page_repeat))]
class PageRunner(object):
"""Runs a given test against a given test."""
@@ -98,8 +98,12 @@ http://goto/read-src-internal, or create a new archive using --record.
test.CustomizeBrowserOptionsForPage(page, possible_browser.options)
# Check tracing directory.
- if options.trace_dir and not os.path.isdir(options.trace_dir):
- raise Exception('Trace directory doesn\'t exist: %s' % options.trace_dir)
+ if options.trace_dir:
+ if not os.path.isdir(options.trace_dir):
+ raise Exception('Trace directory doesn\'t exist: %s' %
+ options.trace_dir)
+ elif os.listdir(options.trace_dir):
+ raise Exception('Trace directory isn\'t empty: %s' % options.trace_dir)
# Reorder page set based on options.
pages = _ShufflePageSet(self.page_set, options)
@@ -160,8 +164,22 @@ http://goto/read-src-internal, or create a new archive using --record.
util.WaitFor(lambda: not IsTracingRunning(), 10)
logging.info('Processing trace...')
- with open(os.path.join(options.trace_dir, page.url_as_file_safe_name +
- '.json'), 'w') as trace_file:
+
+ trace_file_base = os.path.join(
+ options.trace_dir, page.url_as_file_safe_name)
+
+ if options.page_repeat != 1 or options.pageset_repeat != 1:
+ trace_file_index = 0
+
+ while True:
+ trace_file = '%s_%03d.json' % (trace_file_base, trace_file_index)
+ if not os.path.exists(trace_file):
+ break
+ trace_file_index = trace_file_index + 1
+ else:
+ trace_file = '%s.json' % trace_file_base
+
+ with open(trace_file, 'w') as trace_file:
trace_file.write(state.trace_tab.runtime.Evaluate("""
JSON.stringify({
traceEvents: tracingController.traceEvents,
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698