Commit Graph

33 Commits

Author SHA1 Message Date
7adfc7029f Revert "introduce indexes"
This reverts commit 36ccc57db6.
2021-05-12 18:18:57 +02:00
36ccc57db6 introduce indexes 2021-05-09 10:33:28 +02:00
de6ffe5097 make tests more robust
1. we are now using a random port for listening
2. TcpIngestor.start() waits until the socket is established.
2020-10-31 09:46:12 +01:00
c4ae1c431b add test for a date pattern without the 'T' 2020-09-19 19:03:57 +02:00
3e77c2a103 various fixes 2020-08-11 16:12:18 +02:00
859491e99e put y axis definition into its own object 2020-02-09 17:16:27 +01:00
cf7e5ec968 add bar charts 2020-01-19 10:35:07 +01:00
ffc3832bfa fix: events are added to wrong partition
The writerCache in DataStore did not use the partitionId
in its cache key. Therefore the cache could return the
wrong writer and events were written to the wrong
partition.
Fixed by changing the cache key.
2019-12-23 18:42:54 +01:00
00ba4d2a69 add support for renaming and post processing of csv columns 2019-12-14 18:11:59 +01:00
7737d45887 define name of value column
The name of the column containing the value is now part of the
csv settings. This allows us to use different names than "duration".
2019-12-14 08:34:33 +01:00
204c258980 ignore comment lines in CSV files 2019-12-14 08:11:12 +01:00
4e554bfa85 specify additional tags for CSV upload
You can now specify additional tags to be added to all entries.
This makes it possible to remove columns that would be identical
for all entries.
2019-12-14 07:59:22 +01:00
5d8df6888d move Entry and Entries to data-store 2019-12-13 18:15:10 +01:00
550d7ba44e add flag to make CSV upload wait until entries are flushed
To make it easier/possible to write stable unit test the CSV upload
can optionally wait until all entries have been flushed to disk.
This is necessary for tests that ingest data and then read the data.
2019-12-13 18:05:20 +01:00
07ad62ddd9 use Junit5 instead of TestNG
We want to be able to use @SpringBootTest tests that fully initialize
the Spring application. This is much easier done with Junit than TestNG.
Gradle does not support (at least not easily) to run Junit and TestNG
tests. Therefore we switch to Junit with all tests.
The original reason for using TestNG was that Junit didn't support
data providers. But that finally changed in Junit5 with
ParameterizedTest.
2019-12-13 14:33:20 +01:00
394e16ad27 make time column configurable
Adding the header of the time column to the
CsvReaderSettings. This is necessary to parse
arbitrary CSV files.
2019-12-09 18:59:48 +01:00
d383134c42 add support for ISO-like date formats
Recommind is using a pseudo ISO date format for their
log files. It uses a comma instead of a dot for the
second to milli second separator and it does not
add a timezone. Dates without timezone are assumed to be UTC.
2019-12-09 18:40:14 +01:00
60f1a79816 add settings to file upload
This makes it possible to define properties for
the uploaded CSV files. Currently we can define the
separator and which columns are to be ignored.
2019-12-08 20:20:13 +01:00
85679ca0c8 send CSV file via REST 2019-12-08 18:39:43 +01:00
30504672bc extend CsvReaderSettings by list of columns that will not be indexed 2019-12-01 09:21:07 +01:00
08b1be5334 extract CSV reading code to new file
Refactoring to prepare the addition of CSV parsing rules. The parsing
rules will contain information about which columns to ingest or ignore.
This will be used to add the ability to upload files via HTTP post in
addition to the TcpIngestor.
2019-11-30 17:58:01 +01:00
06b379494f apply new code formatter and save action 2019-11-24 10:20:43 +01:00
10a7710940 fix CSV parser corrupts duration if duration is last element in line 2019-11-14 18:40:14 +01:00
b7c4fe4c1f move scatter plot creation into an AggregateHandler 2019-10-20 08:11:09 +02:00
2cb81e5acd make it possible to ignore columns using the csv ingestor 2019-07-04 09:51:33 +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
4cde10a9f2 read csv using input stream instead of reader
We are now reading the CSV input without transforming
the data into strings. This reduces the amount of bytes
that have to be converted and copied.
We also made Tag smaller. It no longer stores pointers
to strings, instead it stored integers obtained by
compressing the strings (see StringCompressor). This
reduces memory usage and it speeds up hashcode and
equals, which speeds up access to the writer cache.

Performance gain is almost 100%:
- 330k entries/s -> 670k entries/s, top speed measured over a second
- 62s -> 32s, to ingest 16 million entries
2019-01-01 08:31:28 +01:00
40f4506e13 use FastISODateParser.parseAsEpochMilli
Compared to FastISODateParser.parse, which returns an
OffsetDateTime object, parseAsEpochMilli returns the
epoch time millis. The performance improvement for
date parsing alone is roughly 100% (8m dates/s to
18m dates/s).
Insertion speed improved from 13-14s for 1.6m entries
to 11.5-12.5s.
2018-12-16 19:24:47 +01:00
23f800a441 add date parsing method that returns epochMillis instead of date object 2018-12-16 15:38:26 +01:00
218ea9ed68 use custom date parser
A specialized date parser that can only handle ISO-8601 like dates
(2011-12-03T10:15:30.123Z or 2011-12-03T10:15:30+01:00) but does this
roughly 10 times faster than DateTimeFormatter and 5 times
faster than the FastDateParser of commons-lang3.
2018-11-19 19:23:57 +01:00
bda2de672e improvements
- split the 'sortby' select field into two fields
- sort by average
- legend shows plotted and total values in the date range
- removed InlineDataSeries, because it was not used anymore
2018-05-01 17:32:25 +02:00
ed17d84da4 remove obsolete and disabled test 2017-04-08 08:18:17 +02:00
d1e39513f3 create web application 2016-12-21 17:48:36 +01:00