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

Side by Side Diff: tools/telemetry/telemetry/record_wpr.py

Issue 11881051: Telemetry: add a metadata layer between page set and .wpr. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: no ordereddict Created 7 years, 10 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 | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 import logging 5 import logging
6 import os
6 import sys 7 import sys
8 import tempfile
7 import time 9 import time
8 10
9 from telemetry import all_page_actions # pylint: disable=W0611 11 from telemetry import all_page_actions # pylint: disable=W0611
10 from telemetry import browser_finder 12 from telemetry import browser_finder
11 from telemetry import browser_options 13 from telemetry import browser_options
12 from telemetry import discover 14 from telemetry import discover
13 from telemetry import multi_page_benchmark 15 from telemetry import multi_page_benchmark
14 from telemetry import page_runner 16 from telemetry import page_runner
15 from telemetry import page_set 17 from telemetry import page_set
16 from telemetry import page_test 18 from telemetry import page_test
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 recorder.AddCommandLineOptions(parser) 72 recorder.AddCommandLineOptions(parser)
71 73
72 _, args = parser.parse_args() 74 _, args = parser.parse_args()
73 75
74 if len(args) != 1: 76 if len(args) != 1:
75 parser.print_usage() 77 parser.print_usage()
76 sys.exit(1) 78 sys.exit(1)
77 79
78 ps = page_set.PageSet.FromFile(args[0]) 80 ps = page_set.PageSet.FromFile(args[0])
79 81
82 # Set the archive path to something temporary.
83 temp_target_wpr_file_path = tempfile.mkstemp()[1]
84 ps.wpr_archive_info.AddNewTemporaryRecording(temp_target_wpr_file_path)
85
86 # Do the actual recording.
80 options.wpr_mode = wpr_modes.WPR_RECORD 87 options.wpr_mode = wpr_modes.WPR_RECORD
81 recorder.CustomizeBrowserOptions(options) 88 recorder.CustomizeBrowserOptions(options)
82 possible_browser = browser_finder.FindBrowser(options) 89 possible_browser = browser_finder.FindBrowser(options)
83 if not possible_browser: 90 if not possible_browser:
84 print >> sys.stderr, """No browser found.\n 91 print >> sys.stderr, """No browser found.\n
85 Use --browser=list to figure out which are available.\n""" 92 Use --browser=list to figure out which are available.\n"""
86 sys.exit(1) 93 sys.exit(1)
87 results = page_test.PageTestResults() 94 results = page_test.PageTestResults()
88 with page_runner.PageRunner(ps) as runner: 95 with page_runner.PageRunner(ps) as runner:
89 runner.Run(options, possible_browser, recorder, results) 96 runner.Run(options, possible_browser, recorder, results)
90 97
91 if len(results.page_failures): 98 if results.page_failures:
99 logging.warning('Some pages failed. The recording has not been updated for '
100 'these pages.')
92 logging.warning('Failed pages: %s', '\n'.join( 101 logging.warning('Failed pages: %s', '\n'.join(
93 [failure['page'].url for failure in results.page_failures])) 102 [failure['page'].url for failure in results.page_failures]))
94 103
95 if len(results.skipped_pages): 104 if results.skipped_pages:
105 logging.warning('Some pages were skipped. The recording has not been '
106 'updated for these pages.')
96 logging.warning('Skipped pages: %s', '\n'.join( 107 logging.warning('Skipped pages: %s', '\n'.join(
97 [skipped['page'].url for skipped in results.skipped_pages])) 108 [skipped['page'].url for skipped in results.skipped_pages]))
109
110 if results.page_successes:
111 # Update the metadata for the pages which were recorded.
112 ps.wpr_archive_info.AddRecordedPages(
113 [page['page'] for page in results.page_successes])
114 else:
115 os.remove(temp_target_wpr_file_path)
116
98 return min(255, len(results.page_failures)) 117 return min(255, len(results.page_failures))
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/page_unittest.py ('k') | tools/telemetry/telemetry/scrolling_action_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698