Commit Graph

29 Commits

Author SHA1 Message Date
bfcbd0a451 draw better dashboard images
Scaling big plots to small thumbnails results in bad images that barely
show any details.
We solve this by calling gnuplot a second time to generate the
thumbnails. They don't have any labels and are rendered in the required
size, so that not scaling is necessary.
Thumbnails have to be requested explicitly, because it can be expensive
to compute them.
2018-05-01 07:54:10 +02:00
2903b5a828 enable client side caching for plot requests
Doesn't work perfectly yet, because the height/width sometimes changes
by one or two pixels.
2018-04-29 19:16:13 +02:00
2da54432ff sort tiles on the dashboard 2018-04-28 19:03:07 +02:00
913057c6df add dashboard 2018-04-27 19:36:31 +02:00
7018a11ab3 add links to current settings and to current image 2018-04-10 19:59:09 +02:00
1755562a84 do not move the cursor to the end when applying a proposal 2018-04-08 14:06:13 +02:00
68ee88bce0 rewrite autocomplete in vue.js 2018-04-08 08:44:28 +02:00
5e53e667fe use vue.js for the UI 2018-04-02 09:18:41 +02:00
ahr
181fce805d do not run a gc after creating a plot
the gc often takes a second or more, which slows down the rendering a
lot
2018-03-11 16:25:52 +01:00
ahr
d63fabc85d prevent parallel plot requests
Plotting can take a long time and use a lot of resources. 
Multiple plot requests can cause the machine to run OOM.

We are now allowing plots for 500k files again. This is mainly to
prevent unwanted plots of everything.
2017-12-15 17:20:12 +01:00
a6a2236d18 do not compute counts when proposing all keys 2017-11-18 13:03:45 +01:00
9e3dd27eb0 use a default date of seven days ago instead of last year 2017-09-23 10:52:33 +02:00
44f30aafee add a new facade in front of DataStore
This is done in preparation for the proposal API.
In order to compute proposals we need to consume the
API of the DataStore, but the code does not need to
be in the DataStore. 
Extracting the API allows us to separate these concerns.
2017-04-16 10:11:46 +02:00
ac1ee20046 replace ludb with data-store
LuDB has a few disadvantages. 
  1. Most notably disk space. H2 wastes a lot of valuable disk space.
     For my test data set with 44 million entries it is 14 MB 
     (sometimes a lot more; depends on H2 internal cleanup). With 
     data-store it is 15 KB.
     Overall I could reduce the disk space from 231 MB to 200 MB (13.4 %
     in this example). That is an average of 4.6 bytes per entry.
  2. Speed:
     a) Liquibase is slow. The first time it takes approx. three seconds
     b) Query and insertion. with data-store we can insert entries 
        up to 1.6 times faster.

Data-store uses a few tricks to save disk space:
  1. We encode the tags into the file names.
  2. To keep them short we translate the key/value of the tag into 
     shorter numbers. For example "foo" -> 12 and "bar" to 47. So the
     tag "foo"/"bar" would be 12/47. 
     We then translate this number into a numeral system of base 62
     (a-zA-Z0-9), so it can be used for file names and it is shorter.
     That way we only have to store the mapping of string to int.
  3. We do that in a simple tab separated file.
2017-04-16 09:07:28 +02:00
6cc6e679a4 sort fields in 'group by' 2017-04-11 18:39:12 +02:00
cc7e461ebf replace PdbRepository with @Bean annotated method 2017-04-11 18:06:33 +02:00
46ce445010 return information about the plotted sequences
this information can be used for tests
2017-04-01 18:27:43 +02:00
726258020f make it possible to specify the time in the range 2017-03-27 19:38:02 +02:00
364997e611 show better error message, when no data points are found 2017-03-26 17:30:50 +02:00
ea905c2315 replace sysout with logger 2017-03-19 09:20:00 +01:00
9ab5d76d93 better exception logging 2017-03-19 09:08:41 +01:00
3456177291 add date range filter 2017-03-17 11:17:57 +01:00
d137f7c9cb limit the number of plots 2017-02-12 18:17:36 +01:00
b238849d65 use text input for filtering, again 2017-02-12 09:32:46 +01:00
4f77515bbd test for keywords db performance 2017-01-07 09:10:42 +01:00
c283568757 group plots by a single field 2016-12-30 18:45:01 +01:00
95e34831d3 simple auto-completion for the search box 2016-12-23 10:32:51 +01:00
bc5d1b0b7b show rendered image
added loading icon
image is scaled to available space
2016-12-21 20:06:11 +01:00
d1e39513f3 create web application 2016-12-21 17:48:36 +01:00