Fabian Reinartz
869cccf080
Test and fixes for buffered iterator
2016-12-21 16:06:33 +01:00
Fabian Reinartz
0a94f58f1a
Fix test import of labels, simplify constructor names
2016-12-21 15:12:26 +01:00
Fabian Reinartz
da2beb3e6d
Fix zero division, add buffer series iterator
2016-12-21 13:04:51 +01:00
Fabian Reinartz
dbca3453fb
Add label clone benchmark
2016-12-21 10:37:38 +01:00
Fabian Reinartz
ede733ab6c
Extract labels package
2016-12-21 09:39:01 +01:00
Fabian Reinartz
ee217adc7e
Redfine append interface, remove old Prometheus storage from bench
2016-12-21 00:02:37 +01:00
Fabian Reinartz
cddc29fa17
Fix labels comparison, fetch correct labels
2016-12-20 14:54:52 +01:00
Fabian Reinartz
ce7f4106c2
Reda correct label number, fix buffered iterator panic
2016-12-20 14:21:50 +01:00
Fabian Reinartz
d9ca4b47f5
Fix offset errors, fix persisted postings order
2016-12-20 13:14:55 +01:00
Fabian Reinartz
1b23d62e3f
Properly close files before reopening
2016-12-19 22:37:03 +01:00
Fabian Reinartz
00a503129b
Use contextualized and traced errors in reader
2016-12-19 22:29:49 +01:00
Fabian Reinartz
282d9ae6e2
Implement label value queries in all layers.
2016-12-19 12:26:25 +01:00
Fabian Reinartz
aabb21f4b9
Add shard series set test
2016-12-19 11:44:11 +01:00
Fabian Reinartz
bad93d8d57
Extract head serialization into Head method
2016-12-18 14:43:27 +01:00
Fabian Reinartz
b08f82fa4e
Pre-select relevant chunks on series access.
...
This adds interval metadata to indexed chunks. The queried interval
is used to filter chunks when queried from the index to save
unnecessary accesses of the chunks file.
This is especially relevant for series that come and go often and larger
files.
2016-12-16 12:13:17 +01:00
Fabian Reinartz
bd77103a49
Add stats serialization, load querier of all blocks
2016-12-15 16:14:33 +01:00
Fabian Reinartz
1a35e54450
Add chained iterator, skipping seek added
2016-12-15 15:23:15 +01:00
Fabian Reinartz
205edd2da9
Add byte/string equality check benchmark
2016-12-15 12:15:54 +01:00
Fabian Reinartz
b2f1db5666
Add unsafe string and slice conversions
2016-12-15 11:56:41 +01:00
Fabian Reinartz
9ceed5378e
Fix missing bound checks, off-by-ones, typos
2016-12-15 11:24:20 +01:00
Fabian Reinartz
5424a0cf75
Rename SeriesShard to Shard
2016-12-15 08:36:09 +01:00
Fabian Reinartz
9873e18b75
Add loading of persisted blocks
2016-12-15 08:36:07 +01:00
Fabian Reinartz
d56b281006
Rename Iterator to Postings
2016-12-15 07:05:29 +01:00
Fabian Reinartz
c1acd3fe85
Advance buffered iterator correctly on seek
2016-12-14 21:43:27 +01:00
Fabian Reinartz
e561c91d53
Implement proper buffered iterator
...
This adds a proper duration based lookback buffer for series iterators
to allow advancing sequentially while remaining able to calculate time
aggregating functions such as `rate` backwards.
It uses an array ring buffer to minimize heap allocations for
potentially hundreds of thousands of series for a single query.
2016-12-14 21:14:44 +01:00
Fabian Reinartz
ca89080128
Misc fixes for initial Prometheus integration
2016-12-14 18:38:46 +01:00
Fabian Reinartz
725385ea05
Fix compareLabels, add test
2016-12-14 15:47:05 +01:00
Fabian Reinartz
fc992fafc2
Change querier interface, initial implementations
2016-12-14 15:39:23 +01:00
Fabian Reinartz
6eeb0ef01c
Add queriers and partial mocks
2016-12-13 15:26:58 +01:00
Fabian Reinartz
9b400b4c58
Add chunk based series iterator
2016-12-12 19:12:55 +01:00
Fabian Reinartz
b334c3ade8
Write chunk skiplist and add series reader
2016-12-12 15:39:55 +01:00
Fabian Reinartz
ae379f385b
Fix label index write and add read path
2016-12-12 11:38:43 +01:00
Fabian Reinartz
10943b6d88
Add initial index reader implementation
2016-12-12 08:12:19 +01:00
Fabian Reinartz
70a0224f19
Change chunk sample number to BigEndian
2016-12-12 08:11:53 +01:00
Fabian Reinartz
81b4d570ad
Add series file reader
2016-12-11 15:54:25 +01:00
Fabian Reinartz
5e02e28f9c
Add proper mmap calls
2016-12-11 15:49:36 +01:00
Fabian Reinartz
8425df035d
Fix hashmap serialization
2016-12-11 15:49:24 +01:00
Fabian Reinartz
14dbc59f2b
cleanup and switching removal of unsafe calls.
2016-12-10 18:09:57 +01:00
Fabian Reinartz
eb9af096f9
Write hashmap pointers, simplify section writer
2016-12-10 10:13:54 +01:00
Fabian Reinartz
3a528c3078
Write plain postings list index
2016-12-10 09:44:00 +01:00
Fabian Reinartz
4eba874b04
Factor out section writer
2016-12-09 22:36:31 +01:00
Fabian Reinartz
0b77a3dafc
Write series references into index
2016-12-09 22:27:43 +01:00
Fabian Reinartz
55b36ab413
Index persistence fixes, write label index hash table
2016-12-09 22:12:16 +01:00
Fabian Reinartz
8cbc95c316
Write label value indices
2016-12-09 21:40:38 +01:00
Fabian Reinartz
1e0edf367b
Write index with symbol table
2016-12-09 21:23:34 +01:00
Fabian Reinartz
40a451694f
Refactor persistence into interfaces
2016-12-09 20:45:46 +01:00
Fabian Reinartz
62f9dc311c
misc
2016-12-09 16:54:38 +01:00
Fabian Reinartz
74f8dfd95d
Persist blocks periodically
2016-12-09 13:41:38 +01:00
Fabian Reinartz
0cf8bb9e53
Move sub-indexes into single index structure
2016-12-09 10:41:51 +01:00
Fabian Reinartz
8aa99a3ebd
misc
2016-12-09 10:00:14 +01:00