| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces the Top Changes page. This page retrieves
'top 10' changes for all host/platform/branch combinations from
a new 'change' database table. The script that updates this table
for a given host/platform/branch combination is run automatically
after uploading a new set of results (since this is when new
changes may potentially arise).
This commit also removes the ranking feature as this is obsoleted
(more or less) by the new feature.
|
| |
|
|
|
|
|
|
|
| |
Selecting a snapshot in the time series plot did not have the
expected effect if certain other snapshots did not have a
valid median result (because all results were invalid or
missing altogether).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The formulas for LCSS and LCSS1 are now back to the original:
LCSS1 = LCMS * LCGSS * LCLSS * LCDS1
LCSS = LCSS1 * LCDS2
A simple product turned out to be the most robust way to avoid assigning
significant scores to certain outlier cases after all.
This patch also redefines the global separation score slightly to make
it more robust (the values before the last change are now compared against
all values at or after the last change, rather than just the last change
value itself).
Finally, the default maximum durability score is adjusted from 30 to 10
(i.e. 10 seems to be sufficient to establish stability).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The formula for LCSS is adjusted from
LCSS = (LCMS + LCGSS + LCLSS + LCDS1 + LCDS2) / 5.0
to
LCSS = (LCMS + LCGSS + LCLSS + (LCDS1 * LCDS2)) / 4.0
This ensures that certain outlier cases are not falsely
given a significant score.
|
| |
|
|\ |
|
| |
| |
| |
| | |
We want to track the Tieto benchmarks files as well.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
QCOMPARE and friends could be used to ensure that performance
was measured for the intended code path: A failed verification
step would indicate an invalid benchmark result. This information
would then be stored in the database and taken into consideration
in a later analysis.
The feature falsely relied on explicit data tags being used and
was simply ignored for test functions without such tags
(i.e. without a corresponding _data() function).
|
|
|
|
|
|
|
|
|
|
|
| |
The --remote option allows the upload script to be run either
on gitestr (remote = 0) or on another host (remote = 1).
When running on gitestr, 'cp' will be used instead of 'scp' etc.
The reason we need this is that scp to gitestr currently doesn't work
when the script is run in gitestr itself (the command is trying to
access another (apparently unrelated) host for some reason).
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Now we are compressing the backup files
Task-number: QTQAINFRA-40
|
| |
| |
| |
| | |
Task-number: QTQAINFRA-40
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch causes the upload script to update a
a 'testable snapshots' file (located at
qt@gitestr.nokia.troll.no:bmtestable/bmtestable.xml)
each time a new set of results is successfully
uploaded to the database.
This file indicates the most recent tested snapshot (SHA-1)
in each branch. The file can be inspected by external testers
(like Tieto) to ensure they test a subset of the snapshots
tested locally. This property can be important for certain
analyses.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch ensures proper processing of SQL queries by making
use of the second argument to the Psycopg execute() method:
WRONG:
>>> SQL = "INSERT INTO authors (name) VALUES ('%s');" # NEVER DO THIS
>>> data = ("O'Reilly", )
>>> cur.execute(SQL % data) # THIS WILL FAIL MISERABLY
CORRECT:
>>> SQL = "INSERT INTO authors (name) VALUES (%s);" # Notice: no quotes
>>> data = ("O'Reilly", )
>>> cur.execute(SQL, data) # Notice: no % operator
This has a double purpose:
1: Arguments are automatically handled properly according to their type
(in particular strings containing single quotes).
2: SQL injection is prevented.
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Using the new uploadresults.py script
Task-number: QTQAINFRA-50
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reject uploading if rankings exist for the given context, since
that would require a recomputation of these rankings.
Note that this check if sufficient as long as we assume that results
are uploaded in an order that is consistent with the order of the
corresponding SHA-1s in the branch in question (i.e. that results will
never be uploaded for a SHA-1 that precedes (is "older" than) a SHA-1
for which results already exist). This assumption ensures that results for
a new SHA-1 will not alter the input for any existing ranking.
|
| |
|
| |
|
|
|
|
|
|
| |
This commit adds optional dbhost and dbport args to
the command line in order to use other database servers
than the default.
|
|
|
|
|
|
|
|
|
| |
When computing the quality score for a time series,
an invalid LSD or MDRSE (indicated by -1) should
contribute a max quality score since each of them
_normally_ arises when analyzing a time series that is
very short, and thus not really qualifying as being
of "poor quality" yet.
|
|
|
|
| |
Fix it properly this time ;)
|
|
|
|
| |
This reverts commit 485ea014cb49073fa86c6884c62136cfc56cc34f.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The timestamp command-line argument is obsolete
(and has probably always been!), so it is removed.
Ordering is currently based on the assumption that
results are uploaded in the order the associated
SHA-1s occur in the branch. In other words: once
results for a given SHA-1 are uploaded, it is
assummed that results for older SHA-1s will not
be uploaded.
Should this become too restrictive at
some point, we can let the server figure out the
SHA-1 ordering (e.g. by analyzing a local repository
clone of the branch in question). The client would
still only pass the SHA-1 itself.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
On the rankings page, a note for an individual
benchmark can now be edited.
This is the first step towards a more sophisticated
annotation concept. It could for example be useful to
interactively classify a benchmark as "suspended" or
"active".
|
| |
|
|
|
|
|
|
|
|
| |
The URL that refers to a single time series now specifies an
infinite enpoint for the second snapshot (by specifying an
invalid SHA-1). Reloading the page is then guaranteed to show
the latest available results, This is likely to be more useful
in practice.
|
| |
|