Dashboard on perf-o-matic should be sorted
[WebKit-https.git] / Websites / webkit-perf.appspot.com / js / config.js
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3  * You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5 var USE_GENERATED_IMAGES_IN_DASHBOARD = false;
6 var MAX_GRAPHS = 6;
7 var MAX_CSETS = 100;
8 var DAY = 86400000;
9
10 var COLORS = ['#e7454c', '#6dba4b', '#4986cf', '#f5983d', '#884e9f', '#bf5c41'];
11
12 // server for JSON performance data
13 var SERVER = location.protocol.indexOf('http') == 0 ? location.protocol + '//' + location.host : 'http://webkit-perf.appspot.com';
14
15 // server for static dashboard images
16 var IMAGE_SERVER = SERVER;
17
18 if ($.color) {
19     var LIGHT_COLORS = $.map(COLORS, function(color) {
20         return $.color.parse(color).add('a', -.5).toString();
21     });
22 }
23
24 var PLOT_OPTIONS = {
25     xaxis: { mode: 'time' },
26     yaxis: { min: 0 },
27     selection: { mode: 'x', color: '#97c6e5' },
28     series: { shadowSize: 0 },
29     lines: { show: false },
30     points: { show: true },
31     grid: {
32         color: '#cdd6df',
33         borderWidth: 2,
34         backgroundColor: '#fff',
35         hoverable: true,
36         clickable: true,
37         autoHighlight: false
38     }
39 };
40
41 var OVERVIEW_OPTIONS = {
42     xaxis: { mode: 'time' },
43     yaxis: { min: 0 },
44     selection: { mode: 'x', color: '#97c6e5' },
45     series: {
46         lines: { show: true, lineWidth: 1 },
47         shadowSize: 0
48     },
49     grid: {
50         color: '#cdd6df',
51         borderWidth: 2,
52         backgroundColor: '#fff',
53         tickColor: 'rgba(0,0,0,0)'
54     }
55 };
56
57 function urlForChangeset(branch, changeset)
58 {
59     return 'http://trac.webkit.org/changeset/' + changeset;
60 }
61
62 function urlForChangesetList(branch, changesetList)
63 {
64     var min = Math.min.apply(Math, changesetList);
65     var max = Math.max.apply(Math, changesetList);
66     return 'http://trac.webkit.org/log/?rev=' + max + '&stop_rev=' + min + '&verbose=on';
67 }
68
69 // FIXME move this back to dashboard.js once the bug 718925 is fixed
70 function fetchDashboardManifest(callback)
71 {
72     $.ajaxSetup({
73         'error': function(xhr, e, message) {
74             error('Could not download dashboard data from server', e);
75         },
76         cache: true,
77     });
78
79     $.getJSON(SERVER + '/api/test/dashboard', function (dashboardManifest) {
80         var testToId = dashboardManifest['testToId'];
81         var tests = Object.keys(testToId).sort();
82         var sortedTestToId = {};
83         for (var i = 0; i < tests.length; i++)
84             sortedTestToId[tests[i]] = testToId[tests[i]];
85         dashboardManifest['testToId'] = sortedTestToId;
86         callback(dashboardManifest);
87     });
88 }