Show regression info and link in graphs
This commit is contained in:
Родитель
79db6bac23
Коммит
a1c31e82dd
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 825 B |
Загрузка…
Ссылка в новой задаче