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

Side by Side Diff: bench/bench_graph_svg.py

Issue 12543019: Make graph output optional in bench_graphs_svg (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 9 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ''' 1 '''
2 Created on May 16, 2011 2 Created on May 16, 2011
3 3
4 @author: bungeman 4 @author: bungeman
5 ''' 5 '''
6 import bench_util 6 import bench_util
7 import getopt 7 import getopt
8 import httplib 8 import httplib
9 import itertools 9 import itertools
10 import json 10 import json
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 print ' Will raise exception if actual bench values are out of range.' 47 print ' Will raise exception if actual bench values are out of range.'
48 print ' See bench_expectations.txt for data format and examples.' 48 print ' See bench_expectations.txt for data format and examples.'
49 print '-f <revision>[:<revision>] the revisions to use for fitting.' 49 print '-f <revision>[:<revision>] the revisions to use for fitting.'
50 print ' Negative <revision> is taken as offset from most recent revision.' 50 print ' Negative <revision> is taken as offset from most recent revision.'
51 print '-i <time> the time to ignore (w, c, g, etc).' 51 print '-i <time> the time to ignore (w, c, g, etc).'
52 print ' The flag is ignored when -t is set; otherwise we plot all the' 52 print ' The flag is ignored when -t is set; otherwise we plot all the'
53 print ' times except the one specified here.' 53 print ' times except the one specified here.'
54 print '-l <title> title to use for the output graph' 54 print '-l <title> title to use for the output graph'
55 print '-m <representation> representation of bench value.' 55 print '-m <representation> representation of bench value.'
56 print ' See _ListAlgorithm class in bench_util.py.' 56 print ' See _ListAlgorithm class in bench_util.py.'
57 print '-o <path> path to which to write output; writes to stdout if not spec ified' 57 print '-o <path> path to which to write output.'
58 print '-r <revision>[:<revision>] the revisions to show.' 58 print '-r <revision>[:<revision>] the revisions to show.'
59 print ' Negative <revision> is taken as offset from most recent revision.' 59 print ' Negative <revision> is taken as offset from most recent revision.'
60 print '-s <setting>[=<value>] a setting to show (alpha, scalar, etc).' 60 print '-s <setting>[=<value>] a setting to show (alpha, scalar, etc).'
61 print '-t <time> the time to show (w, c, g, etc).' 61 print '-t <time> the time to show (w, c, g, etc).'
62 print '-x <int> the desired width of the svg.' 62 print '-x <int> the desired width of the svg.'
63 print '-y <int> the desired height of the svg.' 63 print '-y <int> the desired height of the svg.'
64 print '--default-setting <setting>[=<value>] setting for those without.' 64 print '--default-setting <setting>[=<value>] setting for those without.'
65 65
66 66
67 class Label: 67 class Label:
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 except getopt.GetoptError, err: 325 except getopt.GetoptError, err:
326 print str(err) 326 print str(err)
327 usage() 327 usage()
328 sys.exit(2) 328 sys.exit(2)
329 329
330 directory = None 330 directory = None
331 config_of_interest = None 331 config_of_interest = None
332 bench_of_interest = None 332 bench_of_interest = None
333 time_of_interest = None 333 time_of_interest = None
334 time_to_ignore = None 334 time_to_ignore = None
335 output_path = None
335 bench_expectations = {} 336 bench_expectations = {}
336 appengine_url = None # used for adding data to appengine datastore 337 appengine_url = None # used for adding data to appengine datastore
337 rep = None # bench representation algorithm 338 rep = None # bench representation algorithm
338 revision_range = '0:' 339 revision_range = '0:'
339 regression_range = '0:' 340 regression_range = '0:'
340 latest_revision = None 341 latest_revision = None
341 requested_height = None 342 requested_height = None
342 requested_width = None 343 requested_width = None
343 title = 'Bench graph' 344 title = 'Bench graph'
344 settings = {} 345 settings = {}
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 read_expectations(bench_expectations, value) 456 read_expectations(bench_expectations, value)
456 elif option == "-f": 457 elif option == "-f":
457 regression_range = value 458 regression_range = value
458 elif option == "-i": 459 elif option == "-i":
459 time_to_ignore = value 460 time_to_ignore = value
460 elif option == "-l": 461 elif option == "-l":
461 title = value 462 title = value
462 elif option == "-m": 463 elif option == "-m":
463 rep = value 464 rep = value
464 elif option == "-o": 465 elif option == "-o":
465 redirect_stdout(value) 466 output_path = value
467 redirect_stdout(output_path)
466 elif option == "-r": 468 elif option == "-r":
467 revision_range = value 469 revision_range = value
468 elif option == "-s": 470 elif option == "-s":
469 add_setting(settings, value) 471 add_setting(settings, value)
470 elif option == "-t": 472 elif option == "-t":
471 time_of_interest = value 473 time_of_interest = value
472 elif option == "-x": 474 elif option == "-x":
473 requested_width = int(value) 475 requested_width = int(value)
474 elif option == "-y": 476 elif option == "-y":
475 requested_height = int(value) 477 requested_height = int(value)
476 elif option == "--default-setting": 478 elif option == "--default-setting":
477 add_setting(default_settings, value) 479 add_setting(default_settings, value)
478 else: 480 else:
479 usage() 481 usage()
480 assert False, "unhandled option" 482 assert False, "unhandled option"
481 except ValueError: 483 except ValueError:
482 usage() 484 usage()
483 sys.exit(2) 485 sys.exit(2)
484 486
485 if directory is None: 487 if directory is None:
486 usage() 488 usage()
487 sys.exit(2) 489 sys.exit(2)
488 490
491 if not output_path:
492 print 'Warning: No output path provided. No graphs will be written.'
493
489 if time_of_interest: 494 if time_of_interest:
490 time_to_ignore = None 495 time_to_ignore = None
491 496
492 # The title flag (-l) provided in buildbot slave is in the format 497 # The title flag (-l) provided in buildbot slave is in the format
493 # Bench_Performance_for_Skia_<platform>, and we want to extract <platform> 498 # Bench_Performance_for_Skia_<platform>, and we want to extract <platform>
494 # for use in platform_and_alg to track matching benches later. If title flag 499 # for use in platform_and_alg to track matching benches later. If title flag
495 # is not in this format, there may be no matching benches in the file 500 # is not in this format, there may be no matching benches in the file
496 # provided by the expectation_file flag (-e). 501 # provided by the expectation_file flag (-e).
497 bot = title # To store the platform as bot name 502 bot = title # To store the platform as bot name
498 platform_and_alg = title 503 platform_and_alg = title
(...skipping 26 matching lines...) Expand all
525 , settings 530 , settings
526 , bench_of_interest 531 , bench_of_interest
527 , config_of_interest 532 , config_of_interest
528 , time_of_interest 533 , time_of_interest
529 , time_to_ignore) 534 , time_to_ignore)
530 535
531 regressions = create_regressions(lines 536 regressions = create_regressions(lines
532 , oldest_regression 537 , oldest_regression
533 , newest_regression) 538 , newest_regression)
534 539
535 output_xhtml(lines, oldest_revision, newest_revision, ignored_revision_data_ points, 540 if output_path:
536 regressions, requested_width, requested_height, title) 541 output_xhtml(lines, oldest_revision, newest_revision,
542 ignored_revision_data_points, regressions, requested_width,
543 requested_height, title)
537 544
538 if appengine_url: 545 if appengine_url:
539 write_to_appengine(lines, appengine_url, newest_revision, bot) 546 write_to_appengine(lines, appengine_url, newest_revision, bot)
540 547
541 check_expectations(lines, bench_expectations, newest_revision, 548 if bench_expectations:
542 platform_and_alg) 549 check_expectations(lines, bench_expectations, newest_revision,
550 platform_and_alg)
543 551
544 def qa(out): 552 def qa(out):
545 """Stringify input and quote as an xml attribute.""" 553 """Stringify input and quote as an xml attribute."""
546 return xml.sax.saxutils.quoteattr(str(out)) 554 return xml.sax.saxutils.quoteattr(str(out))
547 def qe(out): 555 def qe(out):
548 """Stringify input and escape as xml data.""" 556 """Stringify input and escape as xml data."""
549 return xml.sax.saxutils.escape(str(out)) 557 return xml.sax.saxutils.escape(str(out))
550 558
551 def create_select(qualifier, lines, select_id=None): 559 def create_select(qualifier, lines, select_id=None):
552 """Output select with options showing lines which qualifier maps to it. 560 """Output select with options showing lines which qualifier maps to it.
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 print '<a id="rev_link" xlink:href="" target="_top">' 1040 print '<a id="rev_link" xlink:href="" target="_top">'
1033 print '<text id="revision" x="0" y=%s style="' % qa(font_size*2) 1041 print '<text id="revision" x="0" y=%s style="' % qa(font_size*2)
1034 print 'font-size: %s; ' % qe(font_size) 1042 print 'font-size: %s; ' % qe(font_size)
1035 print 'stroke: #0000dd; text-decoration: underline; ' 1043 print 'stroke: #0000dd; text-decoration: underline; '
1036 print '"> </text></a>' 1044 print '"> </text></a>'
1037 1045
1038 print '</svg>' 1046 print '</svg>'
1039 1047
1040 if __name__ == "__main__": 1048 if __name__ == "__main__":
1041 main() 1049 main()
OLDNEW
« 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