Show regression info and link in graphs

This commit is contained in:
Hannes Verschore 2015-05-08 09:06:08 -07:00
Родитель 79db6bac23
Коммит a1c31e82dd
5 изменённых файлов: 82 добавлений и 3 удалений

Просмотреть файл

@ -44,7 +44,7 @@ def delete_metadata(prefix, data):
def fetch_test_scores(machine_id, suite_id, name, def fetch_test_scores(machine_id, suite_id, name,
finish_stamp = (0,"UNIX_TIMESTAMP()"), finish_stamp = (0,"UNIX_TIMESTAMP()"),
test_stamp = (0, "UNIX_TIMESTAMP()")): test_stamp = (0, "UNIX_TIMESTAMP()")):
query = "SELECT STRAIGHT_JOIN r.id, r.stamp, b.cset, s.score, b.mode_id, v.id \ query = "SELECT STRAIGHT_JOIN r.id, r.stamp, b.cset, s.score, b.mode_id, v.id, s.id \
FROM awfy_run r \ FROM awfy_run r \
JOIN awfy_build b ON r.id = b.run_id \ JOIN awfy_build b ON r.id = b.run_id \
JOIN awfy_breakdown s ON s.build_id = b.id \ JOIN awfy_breakdown s ON s.build_id = b.id \
@ -67,7 +67,7 @@ def fetch_test_scores(machine_id, suite_id, name,
def fetch_suite_scores(machine_id, suite_id, def fetch_suite_scores(machine_id, suite_id,
finish_stamp = (0,"UNIX_TIMESTAMP()"), finish_stamp = (0,"UNIX_TIMESTAMP()"),
test_stamp = (0, "UNIX_TIMESTAMP()")): test_stamp = (0, "UNIX_TIMESTAMP()")):
query = "SELECT STRAIGHT_JOIN r.id, r.stamp, b.cset, s.score, b.mode_id, v.id \ query = "SELECT STRAIGHT_JOIN r.id, r.stamp, b.cset, s.score, b.mode_id, v.id, s.id \
FROM awfy_run r \ FROM awfy_run r \
JOIN awfy_build b ON r.id = b.run_id \ JOIN awfy_build b ON r.id = b.run_id \
JOIN awfy_score s ON s.build_id = b.id \ JOIN awfy_score s ON s.build_id = b.id \
@ -140,7 +140,7 @@ def update_cache(cx, suite, prefix, when, rows):
None, None,
score, score,
row[5], row[5],
row[0]) row[6])
line = { 'modeid': modeid, line = { 'modeid': modeid,
'data': points 'data': points
} }

Просмотреть файл

@ -696,6 +696,20 @@ AWFY.showSingle = function (name, subtest, start, end) {
this.lastRefresh = Date.now(); this.lastRefresh = Date.now();
} }
AWFY.isSubtest = function() {
if (this.view == 'overview')
return false;
if (this.view == 'breakdown')
return true;
if (this.view == 'single') {
if (this.subtest)
return true;
else
return false;
}
throw new Exception();
}
AWFY.requestRedraw = function () { AWFY.requestRedraw = function () {
if (this.view == 'overview') { if (this.view == 'overview') {
this.request(['aggregate-' + this.machineId], this.request(['aggregate-' + this.machineId],

Просмотреть файл

@ -0,0 +1,37 @@
<?php
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
require_once("internals.php");
init_database();
$subtest = GET_bool("subtest");
$id = GET_int("id");
if ($subtest) {
$query = mysql_query("SELECT awfy_regression.id, noise, status
FROM `awfy_regression_breakdown`
LEFT JOIN awfy_regression
ON awfy_regression.build_id = awfy_regression_breakdown.build_id
WHERE breakdown_id = ".$id);
} else {
$query = mysql_query("SELECT awfy_regression.id, noise, status
FROM `awfy_regression_score`
LEFT JOIN awfy_regression
ON awfy_regression.build_id = awfy_regression_score.build_id
WHERE breakdown_id = ".$id);
}
$data = Array();
if (mysql_num_rows($query) == 1) {
$result = mysql_fetch_object($query);
$data["id"] = $result->id;
if ($result->noise)
$data["status"] = "noise";
else
$data["status"] = $result->status;
} else {
$data["status"] = "no";
}
echo json_encode($data);

Просмотреть файл

@ -611,6 +611,34 @@ Display.prototype.createToolTip = function (item, extended) {
text += pad(d.getHours()) + ':' + pad(d.getMinutes()) + '<br>'; text += pad(d.getHours()) + ':' + pad(d.getMinutes()) + '<br>';
} }
if (extended && point.length >= 5) {
if (!point[4]) {
text += so + 'regression: ' + sc + "zoom in to view regression info." + '<br>';
} else {
var id = Math.random();
while (document.getElementById("update_"+id))
id = Math.random();
text += so + 'regression?: ' + sc + "<span id='update_" + id + "'><img src='loading.gif' height='12px'/></span>" + '<br>';
var subtest = AWFY.isSubtest();
$.get("data-regression.php", {
subtest: subtest,
id: point[4]
}, function(data) {
var html = data.status;
if (data.id) {
html += " <a href='regressions/#regression/"+data.id+"'>(view)</a>"
} else {
if (subtest)
html += " <a href='regressions/#add/subtest/"+point[4]+"'>(report regression)</a>"
else
html += " <a href='regressions/#add/"+point[4]+"'>(report regression)</a>"
}
document.getElementById("update_"+id).innerHTML = html;
}, "json");
}
}
return new ToolTip(item.pageX, item.pageY, item, text); return new ToolTip(item.pageX, item.pageY, item, text);
} }

Двоичные данные
website/loading.gif Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 825 B