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
22c99f8517
fix null pointer exception
...
filename were generated without '$', but the parsing code expected
the '$'.
2018-03-28 19:34:48 +02:00
9f37243ba3
Reduce memory consumption of Tags by 50%
...
by storing only the bytes instead of the string.
2018-03-28 19:08:53 +02:00
81711d551f
fix performance regression
...
The last improvement of memory usage introduced a performance
regression. The ingestion performance dropped by 50%-80%, because
for every inserted entry the Tags were created inefficient.
2018-03-27 19:30:18 +02:00
de0f8412bd
show proposals for empty terminals
2018-03-25 19:17:49 +02:00
2cd32805d9
show better error message when there are too many parallel requests
2018-03-25 18:03:20 +02:00
540b6c79f4
restart waiting game
2018-03-25 17:59:51 +02:00
c581e352e4
add method that returns a string representation of the tags in Tags
2018-03-19 19:29:22 +01:00
5343c0d427
reduce memory usage
...
Reduce memory usage by storing the filename as string instead of
individual tags.
2018-03-19 19:21:57 +01: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
caf400343e
remove time measurements
...
For each entry we executed two calls to System.nanoTime().
The resulting numbers aren't very reliable and calling nanoTime
that often (160k - 300k per second) is quite expensive.
2018-03-09 08:46:09 +01:00
ahr
3387ebc134
use epoch millis instead of creating a date object
...
We only have to check if one timestamp is newer than another.
We don't have to create an expensive date object to do that.
2018-03-09 08:43:37 +01:00
ahr
829fddf88c
merge key and value arrays
...
we have several hundred thousand of those MiniMaps and this reduces
the memory requirement by 8 bytes per instance
2018-03-09 08:40:12 +01:00
ahr
7e5b762c0d
pre-compute firstByteMaxValue
...
this operation is executed very often during ingestion
2018-03-09 08:38:58 +01:00
ahr
5a9aae70af
handle corrupt json
...
Entries must be separated by a newline. This allows
us to handle corrupt json entries, because we know
that entries only start at a line beginning.
2018-03-03 09:58:50 +01:00
ahr
9d4eb660a5
update gradle and spring
...
gradle to 4.6
spring to 1.5.10.RELEASE
2018-03-03 08:34:38 +01:00
ahr
6b60fd542c
add percentile plots
2018-03-03 08:19:26 +01:00
b4a0514267
draw points and percentile lines with the same color
2018-01-21 14:09:34 +01:00
bb7701e7c4
use enum for line type instead of string
2018-01-21 11:01:30 +01:00
8f15aba0d5
replace individual percentile aggregates with a single one for all
2018-01-21 10:54:13 +01:00
b439c9d79a
update third-party libs
...
antlr4: 4.7 -> 4.7.1
commons-lang3: 3.6 -> 3.7
2018-01-21 08:44:30 +01:00
469dc20411
add gradle plugin: gradle-versions-plugin
2018-01-21 08:43:45 +01:00
9f45eb24ca
add trace logging for creation of new writer
2018-01-21 08:36:40 +01:00
ahr
740cb1cb2d
print metrics every 10 seconds, not every 10.001 seconds
2018-01-14 09:52:08 +01:00
ahr
d98c45e8bd
add index for tags-to-documents
...
Now we can find writer much faster, because we don't have to execute
a query for documents that match the tags. We can just look up the
documents in the map.
Speedup: 2-4ms -> 0.002-0.01ms
2018-01-14 09:51:37 +01:00
ahr
64613ce43c
add metric logging for getWriter
2018-01-13 10:32:03 +01:00
ahr
0f2fcc3c9c
extract long_to_string converter
2018-01-06 08:40:58 +01:00
ahr
c5c7c03c66
add example logger
2017-12-30 10:09:19 +01:00
ahr
bcc30f0f3f
add trace logging and make set of proposals synchronized
...
I checked if computing the proposals with a parallel stream would be
beneficial. Turns out the stream uses several threads, but the overall
computation is not faster, because each individual computation is
slower.
2017-12-30 10:08:54 +01:00
ahr
3cc512f73d
update third party libs
...
testng 6.11 -> 6.13.1
jackson-databind 2.9.1 -> 2.9.3
guava 23.0 -> 23.6-jre
2017-12-30 10:06:57 +01:00
ahr
fc30ffd928
sort IntLists in DataStore
...
The IntLists were no longer sorted since we made the initialization run
in parallel. Therefore a much slower implementation for
intersection/union was used.
2017-12-30 09:45:50 +01:00
ahr
5617547d63
add percentile plots
2017-12-30 09:15:26 +01:00
ahr
9b9554552d
Extract interface for DataSeries
...
This will make it possible to have DataSeries that do not require a csv
file on disk.
2017-12-29 09:15:29 +01:00
ahr
cc70f45c12
add different plot types
...
Step 1:
Added PlotType enum and a drop down to the UI.
Extracted the code for scatter plots.
2017-12-29 08:57:34 +01:00
ahr
2df66c7b2f
update primitiveCollections
...
This fixes a performance issue where the IntLists were not sorted and
therefore slow union/intersection algorithms were chosen.
2017-12-29 08:20:52 +01:00
ahr
e060e9761d
cleanup
2017-12-23 10:06:52 +01:00
ahr
8037212145
synchronize docIdToDoc list
...
When we parallelized the initialization we forgot to
synchronize the docIdToDoc list.
Luckily there is a high probability, that queries return
results, that are obviously wrong.
2017-12-23 10:06:45 +01:00
ahr
888d25f7ea
trim docIdToDoc list
...
This reduces memory usage by 1 or 2 MB.
33% of an ArrayList can be free. If the list is 1 million entries long,
then the list wastes 2.6 MB.
The Doc objects in the list are much bigger.
2017-12-23 09:42:08 +01:00
ahr
e59caa0f02
parallelize initialization of DataStore
...
When the files are already in the OS cache, then the initialization time
for 750k files went down from 35 seconds to 15 seconds.
2017-12-23 08:58:42 +01:00
ahr
a6251074cf
add trace logging to ExpressionToDocIdVisitor
2017-12-20 11:14:41 +01:00
ahr
6509391059
sometimes plots are missing
...
The csv generation is running in parallel, but the
list that collects the results was not synchronized.
2017-12-16 19:22:56 +01:00
ahr
cafaa7343c
remove obsolete method
2017-12-16 19:20:38 +01:00
ahr
fd1479760a
use same log format for console and file
2017-12-16 19:20:24 +01:00
ahr
a359652f8b
log stdout/stderr of the gnuplot process
2017-12-16 19:19:35 +01:00
ahr
04b029e1be
add trace logging
2017-12-16 19:19:12 +01:00
ahr
6ef4e7a96b
reduce memory footprint of index by trimming IntLists
...
Reduced the memory usage of the IntLists in the index by 4.1MB (19.9MB
to 15.8MB) for 683,390 files and 4,046,250 values in the IntLists.
2017-12-16 17:57:15 +01:00
ahr
8225dd2077
update primitiveCollections to 0.1.20171216143737
...
Use intersection and union methods from IntList.
2017-12-16 17:35:16 +01:00
ahr
a2512b210f
update to gradle 4.4
2017-12-16 17:33:45 +01:00