6eaf4e10fc
add maxSize parameter to HotEntryCache
2019-08-24 19:24:20 +02:00
00c20dae6b
use long instead of Instant for time
...
Working with longs is faster and requires less
cache. The space in L123 caches is precious.
2019-08-19 18:58:24 +02:00
feda901f6d
remove event types
...
We only have removal events. The additional complexity
of having a generic interface for many different event
types does not pay off.
2019-08-18 20:30:25 +02:00
4d9ea6d2a8
switch back to my own HotEntryCache implementation
...
Guava's cache does not evict elements reliably by
time. Configure a cache to have a lifetime of n
seconds, then you cannot expect that an element is
actually evicted after n seconds with Guava.
2019-08-18 20:14:14 +02:00
0dc908c79c
show the removal listener of HotEntryCache is not called on expire
2019-08-18 09:27:18 +02:00
3252fcf42d
improve trace logging
...
- Add filename for trace logs for read/write operations.
2019-08-18 09:25:49 +02:00
16bf0933e7
update to spring-boot 2.1.7
2019-08-12 08:36:09 +02:00
0b3eb97b96
Fix to string for maps with values of type Empty
...
The MAX_KEY inserted into the tree had a value of one byte. This
triggered an assertion for maps with values of type Empty, because they
expected values to be empty.
Fixed by using an empty array for the value of the MAX_KEY.
2019-08-12 08:35:40 +02:00
427d7818bf
update gradle and commons-collections
2019-08-01 18:54:52 +02:00
574a9c9cc4
update jquery to 3.4.1
2019-07-04 19:12:54 +02:00
a8d77562c9
update daterangepicker to 3.0.5
2019-07-04 19:11:00 +02:00
2cb81e5acd
make it possible to ignore columns using the csv ingestor
2019-07-04 09:51:33 +02:00
3a39f66e22
update 3rd party libs
2019-07-04 09:06:06 +02:00
58f988f378
update gradle to 5.5
2019-07-04 09:01:39 +02:00
4f57a29c3b
increase cache of stringified longs
...
This should improve the csv generation a little bit.
2019-05-25 17:55:14 +02:00
1be57dce0c
update spring and jackson
2019-05-25 17:53:54 +02:00
2eb2a69c17
rename 'percentile' plots to 'cumulative distribution'
2019-05-12 14:30:16 +02:00
1f144846db
update 3rd party libs and gradle
2019-04-28 14:40:43 +02:00
9fb1a136c8
cache last used date prefix
...
The 99.9999% use case is to ingest data
from the same month.
2019-04-22 09:51:44 +02:00
dfe9579726
use DateTimeRange.max() instead of arbitrary relative range
2019-04-20 20:36:26 +02:00
d82b33c60e
update js libraries
2019-04-20 20:31:51 +02:00
7277670b8b
update 3rd party libs
2019-04-20 20:19:24 +02:00
9525ee22a0
add access restrictions for a few unwelcome classes
2019-04-20 20:12:45 +02:00
56085061ed
do not return anything if the field/value does not exist
...
The computation of proposals is done by searching for values in a
combined index. If one of the values didn't exist, then the algorithm
returned all values. Fixed by checking that we query only existing
field/values from the combined index.
2019-04-20 19:48:51 +02:00
dbe0e02517
rename cluster to partition
...
We are not clustering the indices, we
are partitioning them.
2019-04-14 10:10:16 +02:00
2a1885a77f
cluster the indices
2019-03-31 09:01:55 +02:00
95f2f26966
handle IOExceptions earlier
2019-03-17 11:13:46 +01:00
5d0ceb112e
add clustering for DiskStore
2019-03-17 10:53:02 +01:00
b5e2d0a217
introduce clustering for query completion indices
2019-03-16 10:19:28 +01:00
fb9f8592ac
make ClusteredPersistentMap easier to use
2019-02-24 19:20:44 +01:00
59aea1a15f
introduce index clustering (part 1)
...
In order to prevent files from getting too big and
make it easier to implement retention policies, we
are splitting all files into chunks. Each chunk
contains the data for a time interval (1 month per
default).
This first changeset introduces the ClusteredPersistentMap
that implements this for PersistentMap. It is used
for a couple (not all) of indices.
2019-02-24 16:50:57 +01:00
372a073b6d
PdbWriter is no longer in the API of DataStore
2019-02-16 16:24:14 +01:00
92a47d9b56
remove TagsToFile
...
Remove one layer of abstraction by moving the code into the DataStore.
2019-02-16 16:06:46 +01:00
117ef4ea34
use guava's cache as implementation for the HotEntryCache
...
My own implementation was faster, but was not able to
implement a size limitation.
2019-02-16 10:23:52 +01:00
7b00eede86
refactoring: extract EncoderDecoders from DataStore
2019-02-16 09:16:15 +01:00
cbcb7714bb
split BSFile into a TimeSeries and a LongStream file
...
BSFile was used to store two types of data. This makes
the API complex. I split the API into two files with
easier and more clear APIs. Interestingly the API of
BSFile is still rather complex and has to consider both
use cases.
2019-02-10 09:59:16 +01:00
fd55ea0866
update vuejs to 2.6.4
...
Added the version to moment.min.js
2019-02-09 15:39:28 +01:00
93dea402a5
remove obsolete class
2019-02-09 15:25:39 +01:00
27b83234cc
group proposal as if they were hierarchical
...
We interpret dots ('.') as hierarchy delimiter in.
That way we can reduce the number of proposed values
and show only those for the next level.
2019-02-09 15:21:35 +01:00
493971bcf3
values used in queries were added to the keys.csv
...
Due to a mistake in Tag which added all strings used
by Tag into the String dictionary, the dictionary
did contain all values that were used in queries.
2019-02-09 08:28:23 +01:00
ea5884a5e6
move creation of PdbWriter to the DataStore
2019-02-07 18:06:41 +01:00
58bfba23bb
reset lastEpochMilli when opening a new export file
2019-02-06 15:52:37 +00:00
99cdf557b3
add metric logger for query completion evaluation
2019-02-06 15:51:41 +00:00
668d73c926
introduced a new custom file format used for backup and ingestion
...
The new file format reduces repetition, is easy to parse,
easy to generate in any language and is human readable.
2019-02-03 15:44:35 +01:00
1d8ca0e21c
fetch org.lucares artifacts only from repo.lucares.de
2019-02-02 17:51:20 +01:00
c0fffbf676
update third party libs
...
gradle to 5.1.1
spring-boot to 2.1.2.RELEASE
antlr to 4.7.2
jackson to 2.9.8
2019-02-02 17:33:21 +01:00
2e48061793
add LRU cache to PersistentMap
...
This should speed up fetching and inserting of values
that are used often.
2019-02-02 17:26:25 +01:00
d4d1685f9f
replace stdout with logger
2019-02-02 16:49:21 +01:00
151e9363e1
remove obsolete classes
2019-02-02 16:45:34 +01:00
76e5d441de
rewrite query completion
...
The old implementation searched for all possible values and then
executed each query to see what matches.
The new implementation uses several indices to find only
the matching values.
2019-02-02 15:35:56 +01:00