summaryrefslogtreecommitdiffstats
path: root/src/bmserver
Commit message (Collapse)AuthorAgeFilesLines
* Removed obsolete columns from 'indexConfig'table.jasplin2010-04-291-3/+0
|
* Added save/load feature for index configs.jasplin2010-04-091-0/+75
| | | | | | It is now possible to save, load, and delete a performance index configuration (i.e. all the settings in the 'Index' section in the BM web app).
* Performance index - new approach.jasplin2010-03-261-25/+0
| | | | | | | | | | | | | | | | | | | | | This patch constitutes a slightly different and also simpler approach to computing the performance index. The hierarchical index structure is gone for now, and the index is computed essentially like this: 1: Specify a base timestamp BT. 2: Specify a set of evaluation timestamps ET. 3: Specify a window size for median smoothing. 4: Specify a set of filters to effectively narrow down the set of result histories that may contribute to the index (there are currently five separate filters: metric, platform, host, branch, and test case. Zero or more values may be specified for each one). 5: Evaluate the index at a given evaluation timestamp ET(i) by taking the arithmetic mean of the differences between the values at ET(i) and BT for the individual result histories. Both values are median-smoothed using a right-aligned window.
* Added index to result table to speed up fetching a basic time series.jasplin2010-03-191-1/+6
| | | | | | | | | | | The result table is now indexed on (bmcontextId, timestamp) which speeds up fetching a time series that doesn't need the snapshot, typically: SELECT timestamp, value FROM result \ WHERE bmcontextId=... \ ORDER BY timestamp ASC;
* Moved timestamp from snapshot to result.jasplin2010-03-191-4/+5
| | | | | | | | | | | | | | | | | | | | This patch moves the timestamp attribute from the snapshot table to the result table. This is done for two purposes: 1) Retrieving a pure result history (not including the SHA-1 values) becomes quicker, since a join is avoided (simply fetch all (timestamp, value) pairs matching a given BM context). 2) It constitutes the first of two steps towards supporting multiple result recordings per (SHA-1, BM context) combination (the other step will be to remove the current uniqueness constraint on that combination!). The (future) use case is to improve statistical confidence by e.g. taking the median value of the set of values for a certain (SHA-1, BM context) combination as the representative value for the combination.
* Performance index - initial version.jasplin2010-03-151-0/+6
|
* Performance index support: Reintroduced multiple index trees + implemented ↵jasplin2010-03-051-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | more commands. It turned out that we need to keep a time series of index trees for the performance index after all: There will be one base index tree (at timestamp -1, i.e. older than any result), and one index tree for the timestamps where the current index tree was changed (i.e. essentially one or more result histories and/or sub-indexes added or removed). The index is evaluated on the basis of the closest index tree earlier than the requested evaluation time. This ensures that the correct history constants are used. (The history constants in turn ensure continuity of the index values upon adding or removing result histories and/or sub-indexes). The following bmclient commands are implemented so far: - index set base - sets the index base from an XML file - index get tree - lists a certain index tree as XML - index get names - lists the available index names - index get values - evaluates an index at a set of timestamps; dumps the result to stdout - index get plot - same, except the result is plotted in an image - get result - verifies a result ID in the XML file
* Keep only a single index tree.jasplin2010-02-261-7/+2
| | | | | | | | There is no need to keep a time series of index trees. Computing the index value will always be based on the state of the single index tree (provided that the specified index exists in the tree and none of the contributing baseline results are yonger than the specified timestamp).
* Partial implementation of performance index support.jasplin2010-02-251-0/+21
| | | | | The performance index support does not work yet. It remains to implement the functions in indextree.cpp.
* Restructured the database schema.jasplin2010-02-031-39/+42
| | | | | | | | | | | | | | | | The most important change of this patch is a restructring of the database schema in order to better support current and future use cases. In particular, the 'result' table has been reduced in size (which is important since this table is the one that will grow on a regular basis), and a 'bmcontext' table has been introduced as an extra structural level that is expected to make certain queries faster than they would have otherwise been (due to reduced need for complex join expressions etc.).
* Improved interactive context selection.jasplin2009-12-221-0/+14
| | | | | | | | | | | | | | | | | | | | | | The context part of the configuration of a benchmark summary page may be interactively manipulated using HTML <select> menus for the individual components (metric, platform, host, and branch). This patch both speeds up the interactive selection and fixes a bug that caused the selection from going haywire (due to improper handling of asynchronous communication). This patch also involves a small visibility change: Rather than just hiding the non-matching options in each menu, all available values are now shown, but only the matching ones are selectable (i.e. enabled.). WARNING: Manipulating the disabled attribute of an <option> element doesn't seem to be supported by all web browsers.
* Made extraction of BMDISKWRITESYNC independent of 4.6.jasplin2009-12-161-3/+17
|
* Removed debug output.jasplin2009-12-161-3/+0
|
* Added disksync=off option to bmserver.jasplin2009-12-161-0/+18
| | | | | | | | | The bmserver now checks if the BMDISKWRITESYNC environment variable is set to 'off', in which case disk writes are no longer synchronous. This speeds up database insertions and updates, but the database may be corrupted if the OS crashes in the middle of a write operation.
* Obsoleted 'iterations' and added DB indexes.jasplin2009-12-141-2/+41
| | | | | | | | | | | | | | | | | | The most important change of this commit is that the 'iterations' component of the result value is gone. Now the result value represented by just the final real-valued result, rather than two integer components: (accumulated) result and number of iterations. NOTE: The old file format is still accepted, and when an iterations component is present, the result component will be divided by this one. The other significant change of this commit is that indexes are added to the database scheme to speed up queries. This only affects the 'initdb' command-line option, though.
* Add license (GPL version 2 and 3).jasplin2009-11-051-0/+23
|
* Ensure 64-bit results in future database backends.jasplin2009-10-291-3/+3
| | | | | | | SQL defines INTEGER as 32-bit and BIGINT as 64-bit. SQLite uses dynamic typing, so it doesn't matter, but later we would like to replace SQLite with e.g. PostgreSQL, so now we have reduced the risk of surprises.
* Updates to doc ++.jasplin2009-10-151-44/+22
|
* Renamed files and directories.jasplin2009-10-102-0/+163