// query ::= name "@@@" sql
//
$limits = array("20","50","100");
+
+$query_last_mark = "select mark from bench order by mark desc limit 1;";
+$last_mark = "";
+function set_last_mark($a) {
+ global $last_mark;
+ foreach ($a as $k => $v) {
+ $last_mark = $v;
+ }
+}
+query($query_last_mark,"set_last_mark");
+
+$query_last_svn_mark = "select revision from bench_svn where mark='$last_mark';";
+$last_svn_mark = "";
+function set_last_svn_mark($a) {
+ global $last_svn_mark;
+ foreach ($a as $k => $v) {
+ $last_svn_mark = trim($v);
+ }
+}
+query($query_last_svn_mark,"set_last_svn_mark");
+
+$query_before_last_mark = "select mark from bench where mark <> '$last_mark' order by mark desc limit 1;";
+$before_last_mark = "";
+function set_before_last_mark($a) {
+ global $before_last_mark;
+ foreach ($a as $k => $v) {
+ $before_last_mark = $v;
+ }
+}
+query($query_before_last_mark,"set_before_last_mark");
+
+$query_before_last_svn_mark = "select revision from bench_svn where mark='$before_last_mark';";
+$before_last_svn_mark = "";
+function set_before_last_svn_mark($a) {
+ global $before_last_svn_mark;
+ foreach ($a as $k => $v) {
+ $before_last_svn_mark = trim($v);
+ }
+}
+query($query_before_last_svn_mark,"set_before_last_svn_mark");
+
$quey_all = urlencode("
Whole content:
@@@
select * from bench order by mark desc***");
+$query_time_diff = urlencode("
+Time diff:
+@@@
+select
+ b1.test as test, b1.timeuser as oldtime, b2.timeuser as newtime, b1.compilation as comp, b1.options as opts,
+ (b2.timeuser - b1.timeuser) as diff
+from
+ bench as b1, bench as b2
+where
+ b1.test = b2.test and
+ b1.options = b2.options and
+ b1.compilation = b2.compilation and
+ b1.result = b2.result and
+ b1.mark = '$before_last_mark' and b2.mark= '$last_mark' and
+ ABS(b2.timeuser - b1.timeuser) > 100
+order by diff desc***");
+
+$query_result_diff = urlencode("
+Result diff:
+@@@
+select
+ b1.test as test, b1.result as oldresult, b2.result as newresult, b1.timeuser as oldtime, b2.timeuser as newtime, b1.compilation as comp, b1.options as opts,
+ (b2.timeuser - b1.timeuser) as diff
+from
+ bench as b1, bench as b2
+where
+ b1.test = b2.test and
+ b1.options = b2.options and
+ b1.compilation = b2.compilation and
+ b1.result <> b2.result and
+ b1.mark = '$before_last_mark' and b2.mark= '$last_mark'
+order by test desc***");
+
$query_fail = urlencode("
Number of failures
@@@
b1.options = 'gc-on' and
b1.compilation = 'byte'
group by b1.mark) as bench_times,
- (select b1.mark as mark, COUNT(DISTINCT b1.test) as count
+ (select
+ b1.mark as mark,
+ SUM(if(b1.result='fail' and b1.compilation='byte' and b1.options='gc-on',1,0))
+ as count
from bench as b1
- where
- b1.options = 'gc-on' and
- b1.compilation = 'byte' and b1.result = 'fail'
- group by b1.mark) as bench_fails,
- (select b1.mark as mark, COUNT(DISTINCT b1.test) as count
+ group by b1.mark) as bench_fails,
+ (select
+ b1.mark as mark,
+ SUM(if(b1.result='fail' and b1.compilation='opt' and b1.options='gc-on',1,0))
+ as count
from bench as b1
- where
- b1.options = 'gc-on' and
- b1.compilation = 'opt' and b1.result = 'fail'
- group by b1.mark) as bench_fails_opt
+ group by b1.mark) as bench_fails_opt
where
bench_times.mark = bench_fails.mark and
bench_times_opt.mark = bench_fails_opt.mark and
echo "</li>";
}
+function last_commits() {
+ global $last_svn_mark;
+ global $before_last_svn_mark;
+ $query = "svn log -r$last_svn_mark:$before_last_svn_mark -v svn://mowgli.cs.unibo.it/trunk/helm/software";
+ echo $query;
+ exec($query,$res);
+ echo "<pre>";
+ foreach ($res as $k => $v) { echo "$v\n"; }
+ echo "</pre>";
+}
+
?>
<html>
</head>
<body>
<h1>QUERY the benchmark system</h1>
+ <h2>Last Commits</h2>
+ <? last_commits() ?>
<h2>Common Queries</h2>
<p>
<ul>
<? links_of("Broken tests",$query_fail,$limits) ?>
+ <? links_of("Time diff",$query_time_diff,$limits) ?>
+ <? links_of("Result diff",$query_result_diff,$limits) ?>
<? links_of("Garbage collector killer",$query_gc,$limits) ?>
<? links_of("Auto performances",$query_auto,$limits) ?>
<? links_of("Global performances",$query_csc,$limits) ?>
<td>
<select name="test">";
<option value="--">--</option>";
- <?query("select distinct test from bench;","array_to_combo");?>
+ <?query("select distinct test from bench order by test;","array_to_combo");?>
</select>
</td>
</tr>
<table>
<tr><td>'bench' table description:</td></tr>
</tr>
-<? query("describe bench","printer"); ?>
+<? query("describe bench","printer"); $i=0; ?>
+</tr>
+<tr><td></td></tr>
+<tr><td></td></tr>
+<tr><td>'bench_svn' table description:</td></tr>
+</tr>
+<? query("describe bench_svn","printer"); $i=0; ?>
</tr>
<tr><td></td></tr>
<tr><td colspan="7">
<tr><td colspan="7">
<textarea rows="10" cols="120" name="query"/>
select
- b1.test as test, b1.timeuser as oldtime, b2.timeuser as newtime, b1.compilation as comp, b1.options as opts
+ b1.test as test, b1.timeuser as oldtime, b2.timeuser as newtime, b1.compilation as comp, b1.options as opts,
+ (b2.timeuser - b1.timeuser) as diff
from
bench as b1, bench as b2
where
b1.test = b2.test and
b1.options = b2.options and
b1.compilation = b2.compilation and
- b1.mark = '' and b2.mark= '' and
- ABS(b1.timeuser - b2.timeuser) > 100;</textarea>
+ b1.result = b2.result and
+ b1.mark = '<?php echo $before_last_mark ?>' and b2.mark= '<?php echo $last_mark ?>' and
+ ABS(b2.timeuser - b1.timeuser) > 100
+order by diff desc;
+</textarea>
</td>
</tr>
<tr><td>