summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 3b22aa832fa0c055dd555c8f0c084592f79fe30f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
- Refactor the JavaScript code (to use more appropriate idioms etc.)

- Replace some of the current database queries with more efficient
  ones (e.g. consider denormalizing to get rid of expensive joins).

- In the time series plot, highlight the current change, the difference
  tolerance, and the stability tolerance by means of two rectangles.

- Allow for specifying a difference- and stability tolerance per benchmark.

- Allow for an alternative database backend (like PostgreSQL) to be specified
  when starting the bmserver (default should still be SQLite).

- Add support for more browsers (in particular Qt-based ones like
  QWebView and konqueror). (The main challenge here would probably be to
  come up with useful alternatives to the HTML canvas tag for 2D graphs.)

- Add a way to annotate the history (for a certain context) so that
  history before and after e.g. a system upgrade can be handled separately.
  This could be implemented by generalizing history into segments (by the
  default there is only one). The user could then choose either to compare
  results within a specific segment (normally the latest one), or ignore
  segment boundaries altogether.
  ALTERNATIVELY, we could rely on system upgrades to be captured in the host
  entity: Results after a system upgrades need to be registered with a
  different host name. A 'description' attribute could be introduced for the
  host entity for keeping details about the system.

- Automatic regression notification. Notifications could be sent either
  directly to relevant/subscribing persons (through an email etc.), or
  indirectly by creating JIRA tasks, which in turn could trigger notifications
  to relevant people. Other ideas?

- In "branch 2" and "file" modes, consider if the "current change" and "trend"
  columns of the primary branch should be shown in addition to the
  "difference" column.

- Allow for comparison wrt. other context entities than branches.
  It may for example be useful to compare results produced under (slightly)
  different system (hw/sw) environments. Currently, such environments are
  captured in the 'host' entity, i.e. two results associated with the same
  host are assumed to have been produced under the exact same system
  environment (regardless of VM usage).

- Allow for recording more than one result per snapshot. This is a useful
  option for increasing the statistical confidence (i.e. the final result
  could typically be the median of the sub-results).

  (Note: currently, the result for a given snapshot is always the latest one
  recorded for that snapshot (the existing one is overwritten)).

- Use QXmlStreamReader instead of QDomDocument.

- Make web app behave sensibly for an empty result database.