Changeset 144155 in webkit
- Timestamp:
- Feb 27, 2013 12:56:33 AM (11 years ago)
- Location:
- trunk/Tools
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r144150 r144155 1 2013-02-27 Ryosuke Niwa <rniwa@webkit.org> 2 3 Stop uploading results to webkit-perf.appspot.com 4 https://bugs.webkit.org/show_bug.cgi?id=110954 5 6 Reviewed by Benjamin Poulain. 7 8 When the specified test results server was webkit-perf.appspot.com, replace it by perf.webkit.org. 9 Also, always use the new JSON format. Removed the code to generate the old format. 10 11 * Scripts/webkitpy/performance_tests/perftestsrunner.py: 12 (PerfTestsRunner._generate_and_show_results): 13 (PerfTestsRunner._generate_results_dict): 14 (PerfTestsRunner._merge_slave_config_json): 15 (PerfTestsRunner._generate_output_files): 16 1 17 2013-02-27 Sheriff Bot <webkit.review.bot@gmail.com> 2 18 -
trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py
r144141 r144155 208 208 def _generate_and_show_results(self): 209 209 options = self._options 210 perf_webkit_json_path = self._output_json_path()211 legacy_output, perf_webkit_output = self._generate_results_dict(self._timestamp, options.description, options.platform, options.builder_name, options.build_number)210 output_json_path = self._output_json_path() 211 output = self._generate_results_dict(self._timestamp, options.description, options.platform, options.builder_name, options.build_number) 212 212 213 213 if options.slave_config_json_path: 214 legacy_output, perf_webkit_output = self._merge_slave_config_json(options.slave_config_json_path, legacy_output, perf_webkit_output)215 if not legacy_output:214 output = self._merge_slave_config_json(options.slave_config_json_path, output) 215 if not output: 216 216 return self.EXIT_CODE_BAD_SOURCE_JSON 217 217 218 perf_webkit_output = self._merge_outputs_if_needed(perf_webkit_json_path, perf_webkit_output)219 if not perf_webkit_output:218 output = self._merge_outputs_if_needed(output_json_path, output) 219 if not output: 220 220 return self.EXIT_CODE_BAD_MERGE 221 legacy_output = [legacy_output] 222 223 results_page_path = self._host.filesystem.splitext(perf_webkit_json_path)[0] + '.html' 224 legacy_output_json_path = self._host.filesystem.splitext(perf_webkit_json_path)[0] + '-legacy.json' if options.test_results_server else None 225 self._generate_output_files(legacy_output_json_path, perf_webkit_json_path, results_page_path, legacy_output, perf_webkit_output) 221 222 results_page_path = self._host.filesystem.splitext(output_json_path)[0] + '.html' 223 self._generate_output_files(output_json_path, results_page_path, output) 226 224 227 225 if options.test_results_server: 228 if not self._upload_json(options.test_results_server, legacy_output_json_path): 229 return self.EXIT_CODE_FAILED_UPLOADING 230 231 # FIXME: Remove this code once we've made transition to use perf.webkit.org 232 if not self._upload_json('perf.webkit.org', perf_webkit_json_path, "/api/report"): 226 if options.test_results_server == 'webkit-perf.appspot.com': 227 options.test_results_server = 'perf.webkit.org' 228 229 if not self._upload_json(options.test_results_server, output_json_path): 233 230 return self.EXIT_CODE_FAILED_UPLOADING 234 231 … … 237 234 238 235 def _generate_results_dict(self, timestamp, description, platform, builder_name, build_number): 239 contents = {' results': self._results}236 contents = {'tests': {}} 240 237 if description: 241 238 contents['description'] = description 242 239 243 revisions _for_perf_webkit= {}240 revisions = {} 244 241 for (name, path) in self._port.repository_paths(): 245 242 scm = SCMDetector(self._host.filesystem, self._host.executive).detect_scm_system(path) or self._host.scm() 246 243 revision = scm.svn_revision(path) 247 contents[name.lower() + '-revision'] = revision 248 revisions_for_perf_webkit[name] = {'revision': str(revision), 'timestamp': scm.timestamp_of_latest_commit(path, revision)} 249 250 # FIXME: Add --branch or auto-detect the branch we're in 251 for key, value in {'timestamp': int(timestamp), 'branch': self._default_branch, 'platform': platform, 252 'builder-name': builder_name, 'build-number': int(build_number) if build_number else None}.items(): 253 if value: 254 contents[key] = value 255 256 contents_for_perf_webkit = {'tests': {}} 257 if description: 258 contents_for_perf_webkit['description'] = description 244 revisions[name] = {'revision': str(revision), 'timestamp': scm.timestamp_of_latest_commit(path, revision)} 259 245 260 246 meta_info = { 261 247 'buildTime': self._datetime_in_ES5_compatible_iso_format(self._utc_timestamp), 262 248 'platform': platform, 263 'revisions': revisions _for_perf_webkit,249 'revisions': revisions, 264 250 'builderName': builder_name, 265 251 'buildNumber': int(build_number) if build_number else None} … … 267 253 for key, value in meta_info.items(): 268 254 if value: 269 contents _for_perf_webkit[key] = value255 contents[key] = value 270 256 271 257 # FIXME: Make this function shorter once we've transitioned to use perf.webkit.org. … … 279 265 metric = {'fps': 'FrameRate', 'runs/s': 'Runs', 'ms': 'Time'}[result['unit']] 280 266 281 tests = contents _for_perf_webkit['tests']267 tests = contents['tests'] 282 268 path = test_full_name.split('/') 283 269 for i in range(0, len(path)): … … 298 284 tests = current_test['tests'] 299 285 300 return contents , contents_for_perf_webkit286 return contents 301 287 302 288 @staticmethod … … 304 290 return datetime.strftime('%Y-%m-%dT%H:%M:%S.%f') 305 291 306 def _merge_slave_config_json(self, slave_config_json_path, contents , contents_for_perf_webkit):292 def _merge_slave_config_json(self, slave_config_json_path, contents): 307 293 if not self._host.filesystem.isfile(slave_config_json_path): 308 294 _log.error("Missing slave configuration JSON file: %s" % slave_config_json_path) 309 return None , None295 return None 310 296 311 297 try: 312 298 slave_config_json = self._host.filesystem.open_text_file_for_reading(slave_config_json_path) 313 299 slave_config = json.load(slave_config_json) 314 contents = dict(slave_config.items() + contents.items())315 300 for key in slave_config: 316 contents _for_perf_webkit['builder' + key.capitalize()] = slave_config[key]317 return contents , contents_for_perf_webkit301 contents['builder' + key.capitalize()] = slave_config[key] 302 return contents 318 303 except Exception, error: 319 304 _log.error("Failed to merge slave configuration JSON file %s: %s" % (slave_config_json_path, error)) 320 return None , None305 return None 321 306 322 307 def _merge_outputs_if_needed(self, output_json_path, output): … … 330 315 return None 331 316 332 def _generate_output_files(self, output_json_path, perf_webkit_json_path, results_page_path, legacy_output, perf_webkit_output):317 def _generate_output_files(self, output_json_path, results_page_path, output): 333 318 filesystem = self._host.filesystem 334 319 335 if output_json_path: 336 filesystem.write_text_file(output_json_path, json.dumps(legacy_output)) 337 338 json_output = json.dumps(perf_webkit_output) 339 if perf_webkit_json_path: 340 filesystem.write_text_file(perf_webkit_json_path, json.dumps(perf_webkit_output)) 320 json_output = json.dumps(output) 321 filesystem.write_text_file(output_json_path, json_output) 341 322 342 323 if results_page_path:
Note: See TracChangeset
for help on using the changeset viewer.