prometheus/tsdb
Cyril Tovena c751cfbfce
Improve findSetMatches to support concatenation.
This improves how we find `SetMatches` for regexp. Notably it allows to support concatenation
such as `api_(v1|prom)_push` for which the resulting set matches are `api_v1_push` and `api_prom_push`.

I had to support characters classes too since the syntax may try to optimize alternates with them.

In the end the code is also more robust than the previous implementation relying on the stringyfied version of the regexp.

This could be upstreamed later.

Signed-off-by: Cyril Tovena <cyril.tovena@gmail.com>
2021-10-05 13:43:41 +02:00
..
chunkenc remove redundant parentheses (#9134) 2021-07-29 18:26:57 +05:30
chunks Add new Go build tags. 2021-08-27 10:24:14 +02:00
docs/format Exemplars in snapshot (#9255) 2021-08-30 19:34:38 +05:30
encoding Snapshot in-memory chunks on shutdown for faster restarts (#7229) 2021-08-06 17:51:01 +01:00
errors MultiError: Refactored MultiError for more concise and safe usage. (#8066) 2020-10-28 15:24:58 +00:00
fileutil Add new Go build tags. 2021-08-27 10:24:14 +02:00
goversion Add new Go build tags. 2021-08-27 10:24:14 +02:00
hashcache Added series hash cache support to TSDB (#5) 2021-08-17 13:31:08 +00:00
index Update upstream Prometheus 2021-09-14 10:28:19 +02:00
record Exemplars in snapshot (#9255) 2021-08-30 19:34:38 +05:30
test labels: Reduce allocated memory and latency of Hash method; Added tests. (#8025) 2020-10-15 11:31:28 +01:00
testdata tsdb: Delete blocks atomically; Remove tmp blocks on start; Added test. (#7772) 2020-08-11 06:56:08 +01:00
tombstones Call delete on head if interval overlaps (#9151) 2021-09-16 12:20:03 +05:30
tsdbutil storage: Split chunks if more than 120 samples (#8582) 2021-05-18 18:37:16 +02:00
wal Snapshot in-memory chunks on shutdown for faster restarts (#7229) 2021-08-06 17:51:01 +01:00
.gitignore
block.go Do not break exported functions signatures (#6) 2021-08-20 18:37:47 +02:00
block_test.go Do not break exported functions signatures (#6) 2021-08-20 18:37:47 +02:00
blockwriter.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
blockwriter_test.go Do not break exported functions signatures (#6) 2021-08-20 18:37:47 +02:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact.go More review feedback. 2021-09-28 10:29:54 +02:00
compact_test.go Fix directory cleanup in case of compaction failure. 2021-09-27 17:05:14 +02:00
db.go Merge remote-tracking branch 'upstream/main' into codesome/syncprom 2021-09-17 15:58:45 +05:30
db_test.go Also ignore func1 2021-08-28 22:42:22 -04:00
exemplar.go Fix div by 0 panic is resize function. (#9286) 2021-09-02 11:08:05 -07:00
exemplar_test.go Fix div by 0 panic is resize function. (#9286) 2021-09-02 11:08:05 -07:00
head.go Merge remote-tracking branch 'upstream/main' into codesome/syncprom 2021-09-17 15:58:45 +05:30
head_append.go Decrement active_appenders metric when no samples added (#9230) 2021-09-08 14:49:58 +05:30
head_bench_test.go React UI: Add Starting Screen (#8662) 2021-06-05 15:29:32 +01:00
head_read.go Update upstream Prometheus 2021-09-14 10:28:19 +02:00
head_test.go Merge remote-tracking branch 'upstream/main' into codesome/syncprom 2021-09-17 15:58:45 +05:30
head_wal.go Update upstream Prometheus 2021-09-14 10:28:19 +02:00
isolation.go Add present_over_time (#9097) 2021-07-29 12:38:11 +02:00
isolation_test.go tsdb: Block Head GC till pending readers are done reading (#9081) 2021-07-20 14:17:20 +05:30
mocks_test.go Move away from testutil, refactor imports (#8087) 2020-10-22 11:00:08 +02:00
querier.go Improve findSetMatches to support concatenation. 2021-10-05 13:43:41 +02:00
querier_bench_test.go Do not break exported functions signatures (#6) 2021-08-20 18:37:47 +02:00
querier_test.go Improve findSetMatches to support concatenation. 2021-10-05 13:43:41 +02:00
README.md Replace godoc.org links 2021-06-17 07:18:51 -04:00
repair.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
repair_test.go Do not break exported functions signatures (#6) 2021-08-20 18:37:47 +02:00
tsdbblockutil.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
wal.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
wal_test.go Add new Go build tags. 2021-08-27 10:24:14 +02:00

TSDB

GoPkg

This directory contains the Prometheus storage layer that is used in its 2.x releases.

A writeup of its design can be found here.

Based on the Gorilla TSDB white papers.

Video: Storing 16 Bytes at Scale from PromCon 2017.

See also the format documentation.

A series of blog posts explaining different components of TSDB: