blob: e6af9e59e1cc66f2a765bf7dfa906f248167b0c0 [file] [log] [blame]
<html>
<head>
<title>Chromium Perf</title>
<script src="ui/js/common.js"></script>
<script language="javascript">
var perf_url = DirName(DirName(window.location.href));
function DisplayGraph(name, heighth, width, thumbnail, graph) {
document.write('<td><iframe scrolling="no"');
document.write(' height="' + heighth + '" width="' + width + '"');
document.write(' src="' + perf_url);
document.write('/' + name + '/report.html?history=50');
var params = ParseParams();
if (typeof graph == 'undefined') {
if ('graph' in params) {
graph = escape(params.graph);
}
document.write('&header=');
} else if (graph != null) {
document.write('&header=');
document.write(graph);
}
if (graph != null) {
document.write('&graph=');
document.write(graph);
}
if (thumbnail) {
document.write('&thumbnail');
}
document.write('&lookout=1"></iframe></td>');
}
</script>
</head>
<body>
<center>
<script language="javascript">
var params = ParseParams();
var builder_map = {
'Chromium XP Dual Core': 'xp-release-dual-core',
'Chromium XP Single Core': 'xp-release-single-core',
'Chromium Vista Dual Core': 'vista-release-dual-core',
'Chromium Vista Single Core': 'vista-release-single-core',
'Chromium Linux': 'linux-release',
'Chromium Linux LowMem': 'linux-release-lowmem',
'Chromium Mac 10.5': 'mac-release-10.5',
'Chromium Mac 10.6': 'mac-release-10.6',
};
var test_map = {
'moz': 'Page Cycler Moz',
'intl1': 'Page Cycler Intl1',
'intl2': 'Page Cycler Intl2',
'moz-http': 'Page Cycler Moz - HTTP',
'bloat-http': 'Bloat - HTTP',
'dhtml': 'Page Cycler DHTML',
'startup': 'Startup',
'new-tab-ui-cold': 'New Tab Cold',
'memory': 'Memory',
'sunspider': 'SunSpider',
'v8_benchmark': 'V8 Benchmark',
'dom_perf': 'Dom',
'dromaeo_domcore': 'Dromaeo DOMCore',
'dromaeo_jslib': 'Dromaeo JSLib',
'morejs': 'Page Cycler Morejs',
'new-tab-ui-warm': 'New Tab Warm',
'database': 'Page Cycler Database',
'sync': 'Sync',
};
if ('builder' in params) {
builder_list = params.builder.split(',');
} else {
builder_list = Keys(builder_map);
}
if ('test' in params) {
test_list = params.test.split(',');
} else {
test_list = Keys(test_map);
}
function write_builder_table() {
document.write('<table><tr>');
for (var tindex=0; tindex < test_list.length; tindex++) {
test = test_list[tindex];
test_name = test_map[test];
DisplayGraph(builder_id + '/' + test, 250, 400, false);
if ((tindex % 3) == 2) {
document.write('</tr><tr>');
}
}
document.write('</tr></table>');
}
function write_test_table() {
document.write('<table>');
row = [];
function write_row(row) {
document.write('<tr>');
for (var bidx in row) {
builder = row[bidx];
document.write('<th align="center"><p><br>' +
escape(builder).replace('%20', ' ') + '</p></th>');
}
document.write('</tr><tr>');
for (var bidx in row) {
builder_id = builder_map[row[bidx]];
DisplayGraph(builder_id + '/' + test, 250, 400, true);
}
document.write('</tr>');
}
for (var bindex=0; bindex < builder_list.length; bindex++) {
builder = builder_list[bindex];
row.push(builder)
if ((bindex % 3) == 2) {
write_row(row);
row = [];
}
}
if (row.length > 0) {
write_row(row);
}
document.write('</table>');
}
function write_overview_header_row() {
document.write('<tr><th>&nbsp;</th>');
for (var bindex=0; bindex < builder_list.length; bindex++) {
builder = builder_list[bindex];
url = MakeURL({'builder':escape(builder)});
document.write('<th align="center"><a href="' + url + '">'
+ escape(builder).replace('%20', ' ') + '</a></th>');
}
document.write('</tr>');
}
function write_overview_table() {
document.write('<table>');
var width = document.body.scrollWidth / (builder_list.length + 2);
for (var tindex=0; tindex < test_list.length; tindex++) {
// Write a header every four rows for navigability.
// TODO: Use more sophisticated freezing of the header rows?
if ((tindex % 4) == 0) {
write_overview_header_row();
}
test = test_list[tindex];
test_name = test_map[test];
document.write('<tr>');
url = MakeURL({'test':escape(test)});
document.write('<th valign="center"><a href="' + url + '">'
+ test_name + '</a></th>');
for (var bindex=0; bindex < builder_list.length; bindex++) {
builder = builder_list[bindex];
builder_id = builder_map[builder];
DisplayGraph(builder_id + '/' + test, 250, width, true)
}
document.write('<th valign="center"><a href="' + url + '">'
+ test_name + '</a></th>');
document.write('</tr>');
}
write_overview_header_row();
document.write('</table>');
}
function write_header(header_string, url_string) {
document.write('<h1><a href="' + window.location.pathname + '">'
+ 'Chromium Perf</a>');
if (header_string) {
document.write(': ' + header_string);
}
if ('graph' in params) {
document.write(': ' + escape(params.graph))
} else {
document.write(': overview');
}
document.write('</h1>');
if (url_string == '') {
// Only provide a link back to classic on the matrix page,
// not on the individual pages it can't handle.
document.write('<p>(<a href="overview.html'
+ window.location.search
+ '">classic view</a>)</p>');
}
document.write(
'<p>[ <a href="perf.html' +
url_string + '">overview</a> | ' +
'<a href="perf.html?graph=times' +
url_string + '">page-load-time</a> | ' +
'<a href="perf.html?graph=vm_peak_b' +
url_string + '">vm-peak-browser</a> | ' +
'<a href="perf.html?graph=vm_peak_r' +
url_string + '">vm-peak-renderer</a> | ' +
'<a href="perf.html?graph=ws_peak_b' +
url_string + '">ws-peak-browser</a> | ' +
'<a href="perf.html?graph=ws_peak_r' +
url_string + '">ws-peak-renderer</a> | ' +
'<a href="perf.html?graph=total_op_b' +
url_string + '">total-op-browser</a> | ' +
'<a href="perf.html?graph=total_byte_b' +
url_string + '">total-byte-browser</a> | ' +
'<a href="perf.html?graph=commit_charge' +
url_string + '">commit_charge</a> ]</p>');
}
if (builder_list.length == 1) {
builder = builder_list[0];
builder_id = builder_map[builder];
write_header(builder, '&builder=' + escape(builder));
write_builder_table()
} else if (test_list.length == 1) {
test = test_list[0];
test_name = test_map[test];
write_header(test_name, '&test=' + escape(test));
write_test_table()
} else {
write_header('', '');
write_overview_table();
}
</script>
</center>
</body>
</html>