Index: generate_perf.py |
diff --git a/generate_perf.py b/generate_perf.py |
index 6b3a8e7cc27f5a718f77c63ebc0d761326ea5ff7..76531015d54afa44bc3215793a32659b9b72dbb5 100755 |
--- a/generate_perf.py |
+++ b/generate_perf.py |
@@ -110,11 +110,21 @@ ChromeSystemTitles = { |
'chrome-vista-quad-core': 'Vista Quad Core', |
} |
+# These are long-running endure tests that have differently-shaped graphs. |
+EndureSystemTitles = { |
+ 'endure-linux-dbg': 'Endure Linux Debug', |
+ 'endure-linux-rel': 'Endure Linux Release', |
+} |
+ |
TestTitles = { |
'avperf': 'Audio Video Perf', |
'av_perf': 'Audio Video Perf 2', |
'bloat-http': 'Bloat - HTTP', |
'chrome_frame_perf': 'Chrome Frame Perf', |
+ 'control-testControlAttachDetachDOMTree': |
+ 'Control Test: ControlAttachDetachDOMTree', |
+ 'control-testControlAttachDetachDOMTreeWebDriver': |
+ 'Control Test: ControlAttachDetachDOMTreeWebDriver', |
'coverage': 'Code Coverage', |
'database': 'Page Cycler Database', |
'dhtml': 'Page Cycler DHTML', |
@@ -134,6 +144,14 @@ TestTitles = { |
'dromaeo_jslibtraversejquery': 'Dromaeo JSLib traverse jquery', |
'dromaeo_jslibtraverseprototype': 'Dromaeo JSLib traverse prototype', |
'frame_rate': 'Frame Rate', |
+ 'gmail-testGmailComposeDiscard': |
+ 'Gmail Test: GmailComposeDiscard', |
+ 'gmail-testGmailAlternateThreadlistConversation': |
+ 'Gmail Test: GmailAlternateThreadlistConversation', |
+ 'gmail-testGmailAlternateTwoLabels': |
+ 'Gmail Test: GmailAlternateTwoLabels', |
+ 'gmail-testGmailExpandCollapseConversation': |
+ 'Gmail Test: GmailExpandCollapseConversation', |
'gpu_frame_rate': 'GPU Frame Rate', |
'gpu_latency': 'GPU Latency', |
'gpu_throughput': 'GPU Throughput', |
@@ -206,6 +224,14 @@ var ChromeConfig = { |
}; |
""" |
+# Template contents of a config.js file for endure tests. |
+ENDURE_CONFIG_TEMPLATE = """\ |
+var Config = { |
+ buildslave: '%(system_title)s', |
+ title: '%(title)s', |
+}; |
+""" |
+ |
DEFAULT_SYMLINK_LIST = [ |
('details.html', '../../dashboard/ui/details.html'), |
('report.html', '../../dashboard/ui/generic_plotter.html'), |
@@ -217,6 +243,11 @@ CHROME_DEFAULT_SYMLINK_LIST = [ |
('js', '../../dashboard/ui/js'), |
] |
+ENDURE_DEFAULT_SYMLINK_LIST = [ |
+ ('report.html', '../../dashboard/ui/endure_plotter.html'), |
+ ('js', '../../dashboard/ui/endure_js'), |
+] |
+ |
# Descriptions for optional detail tabs |
DETAIL_TAB_DESC = { |
'view-pages': 'Data', |
@@ -224,6 +255,30 @@ DETAIL_TAB_DESC = { |
} |
+def WriteJSConfigFile(perf_dir, system_title, test_title, symlink_list): |
+ contents = CONFIG_TEMPLATE % { |
+ 'base_url': BASE_URL, |
+ 'system_title': system_title, |
+ 'title': test_title, |
+ 'system_dir': os.path.basename(os.path.dirname(perf_dir)), |
+ } |
+ |
+ # Add detail tabs to config |
dennis_jeffrey
2013/02/05 02:48:28
nit: add period at end of sentence
Dai Mikurube (NOT FULLTIME)
2013/02/05 06:31:49
Done.
|
+ if os.path.basename(perf_dir) in ('coverage'): |
+ detail_tabs = ['view-coverage'] |
+ elif os.path.basename(perf_dir) in ('sizes', 'targets'): |
+ detail_tabs = [] |
+ else: |
+ detail_tabs = ['view-pages'] |
+ contents += " detailTabs: { 'view-change': 'CL'" |
+ for tab in detail_tabs: |
+ contents += ", '%s': '%s'" % (tab, DETAIL_TAB_DESC.get(tab, tab)) |
+ contents += ' }\n' |
+ contents += CONFIG_TEMPLATE_END |
+ |
+ open(os.path.join(perf_dir, 'config.js'), 'w').write(contents) |
dennis_jeffrey
2013/02/05 02:48:28
should we use the with/open syntax here to ensure
Dai Mikurube (NOT FULLTIME)
2013/02/05 06:31:49
Done. (I'm not sure why the existing code does it
|
+ |
+ |
def WriteChromeJSConfigFile(): |
"""Write Chrome JavaScript configuration file.""" |
system_title = '' |
@@ -245,7 +300,16 @@ def WriteChromeJSConfigFile(): |
open(os.path.join('dashboard', 'chrome_config.js'), 'w').write(contents) |
-def TestInit(perf_dir, system_title, test_title, symlink_list): |
+def WriteEndureJSConfigFile(perf_dir, system_title, test_title, symlink_list): |
+ contents = ENDURE_CONFIG_TEMPLATE % { |
+ 'system_title': system_title, |
+ 'title': test_title, |
+ } |
+ |
+ open(os.path.join(perf_dir, 'config.js'), 'w').write(contents) |
dennis_jeffrey
2013/02/05 02:48:28
should we use the with/open syntax here too?
Dai Mikurube (NOT FULLTIME)
2013/02/05 06:31:49
Done.
|
+ |
+ |
+def TestInit(perf_dir, system_title, test_title, symlink_list, endure=False): |
for slink, target in symlink_list: |
slink = os.path.join(perf_dir, slink) |
# Remove the old symlinks first. Catch exceptions on the |
@@ -263,27 +327,10 @@ def TestInit(perf_dir, system_title, test_title, symlink_list): |
RemovePath(slink) |
os.symlink(target, slink) |
- contents = CONFIG_TEMPLATE % { |
- 'base_url': BASE_URL, |
- 'system_title': system_title, |
- 'title': test_title, |
- 'system_dir': os.path.basename(os.path.dirname(perf_dir)), |
- } |
- |
- # Add detail tabs to config |
- if os.path.basename(perf_dir) in ('coverage'): |
- detail_tabs = ['view-coverage'] |
- elif os.path.basename(perf_dir) in ('sizes', 'targets'): |
- detail_tabs = [] |
+ if endure: |
+ WriteEndureJSConfigFile(perf_dir, system_title, test_title, symlink_list) |
else: |
- detail_tabs = ['view-pages'] |
- contents += " detailTabs: { 'view-change': 'CL'" |
- for tab in detail_tabs: |
- contents += ", '%s': '%s'" % (tab, DETAIL_TAB_DESC.get(tab, tab)) |
- contents += ' }\n' |
- contents += CONFIG_TEMPLATE_END |
- |
- open(os.path.join(perf_dir, 'config.js'), 'w').write(contents) |
+ WriteJSConfigFile(perf_dir, system_title, test_title, symlink_list) |
def RemovePath(path): |
@@ -302,6 +349,9 @@ def main(): |
parser.add_option( |
'-C', '--chrome', action='store_true', |
help='Initializes perf directories for Chrome.') |
+ parser.add_option( |
+ '-E', '--endure', action='store_true', |
+ help='Initializes perf directories for endure tests.') |
(options, args) = parser.parse_args() |
# Find the script's directory and cd there. |
@@ -312,6 +362,9 @@ def main(): |
system_titles = ChromeSystemTitles |
symlink_list = CHROME_DEFAULT_SYMLINK_LIST |
WriteChromeJSConfigFile() |
+ elif options.endure: |
+ system_titles = EndureSystemTitles |
+ symlink_list = ENDURE_DEFAULT_SYMLINK_LIST |
else: |
system_titles = SystemTitles |
symlink_list = DEFAULT_SYMLINK_LIST |
@@ -321,6 +374,7 @@ def main(): |
# Skip the entry if it's not a directory or should be ignored. |
if not os.path.isdir(system_dir) or system_dir not in system_titles: |
continue |
+ print system_dir |
Mike Stip (use stip instead)
2013/01/31 09:39:22
I think this was left in for testing, do you mind
Dai Mikurube (NOT FULLTIME)
2013/02/01 06:14:13
Ugh, thanks for the good catch. removed.
|
os.chmod(system_dir, 0755) |
system_title = system_titles[system_dir] |
@@ -329,10 +383,11 @@ def main(): |
# Skip the entry if it's not in our mapping of test titles. |
if test_dir not in TestTitles: |
continue |
+ print ' ' + test_dir |
Mike Stip (use stip instead)
2013/01/31 09:39:22
same
Dai Mikurube (NOT FULLTIME)
2013/02/01 06:14:13
Done.
|
test_title = TestTitles[test_dir] |
perf_dir = os.path.join(system_dir, test_dir) |
os.chmod(perf_dir, 0755) |
- TestInit(perf_dir, system_title, test_title, symlink_list) |
+ TestInit(perf_dir, system_title, test_title, symlink_list, options.endure) |
return 0 |