Skip to content

Commit b6aaf17

Browse files
Ethan MalloveEthan Mallove
authored andcommitted
Refs #70
Add experimental "new" failure reporter script: new-result-reporter.pl. The script creates a static HTML page containing links to MTT results that have changed (see below link for a sample). http://www.open-mpi.org/~emallove/new-result-reporter-preview.html It bombards the database with queries, so - for testing purposes - the above output HTML page was creating after running mtt-result-reporter.pl for only 15 seconds, but on only a six hour period of MTT results - it can crank away for a looong time. (Fixing #362 would greatly shrink the new-result-reporter.pl's output HTML pages.) The script looks through a batch of test results (always delimited by date range, and optionally delimited by other fields such as MPI version). Out of these results, it looks for pairs of test cases that are similar, but had differing outcomes. There is a range of "similarness" that is illustrated in shades of red table cells. The "redder" the cell, the more similar the pair of test cases. Specifically, "more similar" means more database columns match between the pairs of tests. It is assumed that if two test cases are nearly identical, but have different outcomes, this would be more relevant to the MPI source - and hence - these results are redder and at the top of the page. Right now, the script is generalized such that no columns are weighted as more important than others, but we will need to hone in on which matching columns (and groupings of columns) are most critical. All the links displayed are unique. new-result-reporter.pl needs improvement in the following areas: 1. Report fewer, and more meaningful links to results 2. Optimize the algorithm used for finding result pairs, which might lessen the number of queries it needs to run (it is basically brute force right now) 3. Optimize the SELECTs (using SQL magic like indexes, caching, temporary tables, etc.) This commit was SVN r1359.
1 parent 65bd716 commit b6aaf17

File tree

3 files changed

+545
-8
lines changed

3 files changed

+545
-8
lines changed

server/php/reporter.inc

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -277,18 +277,26 @@ function setup_advanced($params) {
277277

278278
$menu = array(
279279
'compute_cluster' => array(
280+
'compute_cluster_id' => null,
280281
'os_version' => array('', $control),
281282
'platform_type' => array('', $control),
282283
'platform_hardware' => array('', $control),
283284
'platform_name' => array('', $control),
284285
'os_name' => array('', $control),
285286
),
286287
'submit' => array(
288+
'submit_id' => null,
287289
'hostname' => array('', $control),
288290
'local_username' => array('', $control),
289291
'http_username' => array('', $control),
290292
),
291293
'mpi_install' => array(
294+
295+
'mpi_get_id' => null,
296+
'mpi_install_compiler_id' => null,
297+
'mpi_install_configure_id' => null,
298+
'mpi_install_id' => null,
299+
292300
'compiler_name' => array('', $control),
293301
'compiler_version' => array('', $control),
294302
'vpath_mode' => array('', $control),
@@ -320,6 +328,8 @@ function setup_advanced($params) {
320328
$menu,
321329
array('test_build' =>
322330
array(
331+
'test_build_id' => null,
332+
'test_build_compiler_id' => null,
323333
'suite_name' => array('', $control),
324334
))
325335
);
@@ -330,13 +340,19 @@ function setup_advanced($params) {
330340
$menu,
331341
array('test_run' =>
332342
array(
333-
'launcher' => array('', $control),
343+
'test_run_id' => null,
344+
'test_name_id' => null,
345+
'test_run_command_id' => null,
346+
'test_suite_id' => null,
347+
'performance_id' => null,
348+
349+
'launcher' => array('', $control),
334350
'resource_mgr' => array('', $control),
335-
'network' => array('', $control),
336-
'parameters' => array('', $control),
337-
'test_name' => array('', $control),
338-
'np' => array('', $control),
339-
'full_command' => array('', $control),
351+
'network' => array('', $control),
352+
'parameters' => array('', $control),
353+
'test_name' => array('', $control),
354+
'np' => array('', $control),
355+
'full_command' => array('', $control),
340356
))
341357
);
342358
}

server/php/screen.inc

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,6 +1002,12 @@ function form_popup($elements, $params, $specs) {
10021002
foreach (array_keys($elements[$category]) as $field) {
10031003
$array = $elements[$category][$field];
10041004

1005+
# Skip over some fields compeltely (e.g., most
1006+
# users will have *no* need to see *_id fields)
1007+
if (is_null($array)) {
1008+
continue;
1009+
}
1010+
10051011
$menu .= $tr . $td . label(label($field));
10061012

10071013
# Set the colspan based on the number of
@@ -1180,13 +1186,26 @@ function hidden_carryover($params) {
11801186
$col_types = array('text_', 'show_');
11811187

11821188
$setup_advanced = setup_advanced($_GET);
1189+
11831190
foreach (array_keys($setup_advanced) as $table) {
11841191
foreach (array_keys($setup_advanced[$table]) as $field) {
1192+
11851193
$arr = $setup_advanced[$table][$field];
11861194

1187-
foreach (array_keys($arr) as $i) {
1188-
$type = $col_types[$i];
1195+
# If the column is set to null in setup_advanced, it only means
1196+
# that we didn't want to display it in the web front-end. Make
1197+
# it a text_* field so that we can filter it via a WHERE
1198+
# clause, but it's not something we want to display to the
1199+
# user. E.g, it's okay for us to slip it in a query string or
1200+
# <hidden> form field using find-new-mtt-failures.pl script.
1201+
if (is_null($arr)) {
1202+
$type = $col_types[0];
11891203
$advanced_fields[] = "$type$field";
1204+
} else {
1205+
foreach (array_keys($arr) as $i) {
1206+
$type = $col_types[$i];
1207+
$advanced_fields[] = "$type$field";
1208+
}
11901209
}
11911210
}
11921211
}

0 commit comments

Comments
 (0)