-
Notifications
You must be signed in to change notification settings - Fork 47
WebUIGuide
This page details the new web user interface to the MTT results. The web user interface is a front-end to the central Postgres database which stores all the MTT results. In short, this tool simply allows you to quickly and intuitively compose SQL queries for the MTT database.
The Query Screen is an always-visible user-input mechanism that is displayed atop every report. It does not require frames. (Screenshot)
The MTT client submits data to the database on three of its phases. An individual result for each phase represents the following:
- MPI Install - the
configure
andmake
commands to compile Open MPI - Test Build - the
configure
and/ormake
command to compile a test suite - Test Run - the
mpirun
command to run a single test case
Clicking a phase radio button adds a few phase relevant input fields to the Query Screen and a few phase relevant columns to the report.
Text fields can be filled in manually, using
selection menus, and are
auto-filled between invocations of reporter.php (e.g., after clicking drilldown
links, see Summary tables).
They can contain regular expressions.
Inserting a -
at the start of a token in the text field will effect a search on
the negation of that search string. For example:
foo bar -baz
will search for values that contain "foo" and "bar", but not "baz".
The Date range
field can be filled in manually, using
selection menus, and are
auto-filled between invocations of reporter.php (e.g., after clicking drilldown
links, see Summary tables).
The format they use is one of the following:
"YYYY-MM-DD [HH:MM:SS] - YYYY-MM-DD [HH:MM:SS]" ["YYYY-MM-DD [HH:MM:SS] - YYYY-MM-DD [HH:MM:SS]"] ...
- Past
n
interval
Where n
is an integer and interval
is one of the
following:
microseconds
milliseconds
second
minute
hour
day
week
month
quarter
year
decade
century
millennium
Quoted tokens allow for non-contiguous date ranges. E.g., the below will return results from the first week of October and November:
"2008-10-01 - 2008-10-07" "2008-11-01 - 2008-11-07"
The Date Range
field has no show/hide
menu next to it. The show/hide equivalent is available
as a second menu in the selection popup containing options
like "by day", "by hour", "by minute", etc. Selecting "by
interval" will add a Date Range
column grouped
according to the interval selection.
Selection menus next to each text field are just a way to enter search strings using the mouse, instead of the keyboard. Initially, these menus are populated with all the available entries in the database. After clicking a report button (Summary, Detail, or Performance), these menus no longer contain all the available entries, but only the entries in the displayed report.
Show/Hide menus show and hide columns in
reports. Hiding a
column does not remove data points from a
report, but rather
renders the data with the hidden column aggregated.
Date Range
is an oddball field in that there is no show/hide
menu next to it (see the above Date range field section).
Special large fields can be identified in
reporter.php as the text fields not having an
adjacent Show/Hide menu. (They are Stdout
,
Stderr
, Environment
, Result message
, Configure arguments
, and
Command
). They are handled differently than other fields due to their being
too large to display in a Summary table.
For example, if you type a
regular expression
into the Command
text field, the first pattern that
matches the expression is captured and will show up in the
Summary table. Thus, you can type e.g.,
tcp|openib
into the Command
field and there will be a Command
column
differentiating the rows by displaying the occurrence of the pattern tcp
or
openib
in the mpirun
command.
The Reporter can generate three types of reports:
- '''Summary''' is the highest level view.
- '''Detail''' is the lowest level view. It displays large text fields (e.g., stdout, stderr, configure arguments, etc.) that can not fit into the columns of a Summary table.
- '''Performance''' is a
Summary table
plus a graph(s) of any latency and/or
bandwidth results.
min
,max
, andavg
data is broken up into separate graphs.
The [Preferences]
link (see next to the Performance
button) opens up a window which allows the saving of
preferences to a cookie. This means that preferences will
persist until the browser's cookies are cleared, or until
the Preferences are changed by the user. (An open
[ticket:169 ticket] exists because the Safari browser for
Mac has some issues with this feature).
General
- Max rows per page (default: 100) Sets the number of rows per page in Summary view
- Text wrap (in Detail) (default: 100) Wraps text in Detail view
- Time zone (default: GMT) Timestamps will be displayed in the time zone you select
- Show trial runs (default: off)
If checked, trial results (test results created when the MTT
client is invoked with the
--trial
flag) are displayed. Trial results are darkened and italicized.
Graphing
- Y-axis scale
- X-axis scale Axes can be scaled either in linear or logarithmic fashion.
Next to the Preferences menu is an [Advanced]
menu which contains all the fields in the database that are applicable to the
current phase selection which are not displayed in the main
Query Screen. They are handled
similarly to form controls on the main Query Screen.
There are three types of reports that each correspond to a button in the Query Screen:
- Summary Tables
- Detail Tables
- Performance Graphs
The MTT Web User Interface is setup to give the user the ability to whittle a large chunk of test results down to the details of a given failure(s). With that in mind, each item of data in the Summary tables is itself clickable to reach another drilled down Summary table.
- Drilldown links
- Phase headers (
MPI install
,Test build
,Test run
) This is a shortcut to a phase-specific report with existing filters maintained. - Result headers (Pass, Fail, Skip, Timed, and Perf) This is a shortcut to a phase-specific report, plus filtered by result type, with existing filters maintained.
- White parameter cells Refreshes the report, applying the '''(column, value)''' pair filter.
- Colored result cells Refreshes the report, applying each and every '''(column, value)''' pair filter in the whole row to the report.
- Sorting arrows ( )
The left-to-right layout of the columns is the sorting
order. E.g., if the reports displays the columns
Org
andHardware
from left to right, then the results are sorted first byOrg
, and then byHardware
. The exception to this rule is when an up/down sorting arrow is clicked in the table header. Sorting arrows refresh the report with the given table header as the primary ascending/descending sort key. E.g., if the report displays columnsOrg
,Hardware
, and then {{{MPI version}}} from left to right. And the down arrow next toMPI version
is clicked, then the report will refresh sorted byMPI version
(descending), then byOrg
, and then byHardware
. - Report slice links (next n rows)
Large reports are broken down into tables of
n rows (determined by user preference,
and defaulting to
100
). - Cherry picking The cherry button () is a special feature only available in Performance mode. It allows the user to select/unselect rows in the Summary table. It is useful for honing in on specific line plots in a performance graph.
Detail tables display everything in the Summary tables, plus some additional fields. They are formatted to allow large text fields (e.g., stdout, stderr, configure arguments, etc.), and are color coded similarly to Summary tables.
The easiest way to get to performance data is to click on
the Perf
header in a Summary table
(the far right column) or a blue table cell in a
Summary table. This
will bring you to a report of Test run
results in which each
contains Performance
results (note that the
Performance
button is only enabled in Test run
mode when
there are performance results). Clicking the
Performance
button will then show you some graphs.
Performance graphs always display below a Summary table. Each row of the Summary table corresponds to a single line plot in the Performance graph (hence the row numbers in the legend). The subtitle for the graph is created based on columns that are identical across all line plots. The remaining entries for each line plot make up the legend. Graphs are output in JPEG format, and raw data is available in HTML and CSV format. (Note: the CSV dumps are kept around for 1 hour. Refresh your browser to recreate an expired CSV link.)
Performance graphs are created using Jpgraph.
A report's state is maintained from invocation to invocation by way of the URL's query string (everything trailing the '''?''' in the browser's address bar). This is useful in carrying over filters when whittling down a report, transitioning from one phase to the next, or lastly - to create a permalink. Since the query string can grow to absurd character lengths, the Create permalink links offer a way to create a tiny link from a long link. tiny links are more sensible over email or AIM. The tiny link is merely a redirect to the long link. ''There are also commercial URL redirection services (e.g., www.tinyurl.com).''
Permalinks can be created in two ways:
- Absolute date range - links to an exact replica of the report (the exception is that trial data can get expired out of the database, in which case those rows can go away after x number of days)
- Relative date range - links based on a range relative to right now (e.g., past 24 hours)
Unaccommodated use cases? Ideas for more preferences? Browser incompatibilities?
E-mail the [email protected] list with questions and comments.