prometheus/tsdb
Oleg Zaytsev d23859dee2
Allow forcing usage of PostingsForMatchersCache
When out-of-order is enabled, queries go through both Head and OOOHead,
and they both execute the same PostingsForMatchers call, as memSeries
are shared for both.

In some cases these calls can be heavy, and also frequent. We can
deduplicate those calls by using the PostingsForMatchers cache that we
already use for query sharding.

The usage of this cache can skip a newly appended series in the results
for the duration of the ttl.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2022-12-28 13:44:10 +01:00
..
agent Merge remote-tracking branch 'upstream/main' into fix-conflict 2022-10-12 14:20:02 +05:30
chunkenc Remove unused ooo.go and ooo_test.go (#366) 2022-11-23 15:41:06 +00:00
chunks Merge remote-tracking branch 'upstream/main' into sync-prom 2022-10-05 20:33:36 +05:30
docs Merge branch 'main' into sparsehistogram 2022-08-10 17:54:37 +02:00
encoding Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
errors Address golint failures from revive 2021-10-23 00:53:11 +02:00
fileutil Update go to 1.19, set min version to 1.18 (#11279) 2022-09-07 11:30:48 +02:00
goversion Add new Go build tags. 2021-08-27 10:24:14 +02:00
hashcache Merge remote-tracking branch 'upstream/main' into merge-upstream 2021-11-18 15:48:40 +01:00
index Merge remote-tracking branch 'upstream/main' 2022-11-23 01:39:23 +08:00
record Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
test Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
testdata
tombstones refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00
tsdbutil Fix merge conflicts 2022-10-11 22:53:37 +05:30
wlog Merge remote-tracking branch 'upstream/main' into fix-conflict 2022-10-12 14:20:02 +05:30
.gitignore
async_block_writer.go Make linter happy 2022-02-10 15:32:02 +01:00
block.go Allow forcing usage of PostingsForMatchersCache 2022-12-28 13:44:10 +01:00
block_test.go Merge remote-tracking branch 'upstream/main' 2022-11-23 01:39:23 +08:00
blockwriter.go Merge remote-tracking branch 'upstream/main' 2022-11-23 01:39:23 +08:00
blockwriter_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
CHANGELOG.md
compact.go Merge remote-tracking branch 'upstream/main' 2022-11-23 01:39:23 +08:00
compact_test.go Fix tests 2022-11-23 02:21:03 +08:00
db.go Allow forcing usage of PostingsForMatchersCache 2022-12-28 13:44:10 +01:00
db_test.go Merge remote-tracking branch 'upstream/main' 2022-11-23 01:39:23 +08:00
example_test.go Merge branch 'main' into sparsehistogram 2022-05-04 13:37:13 +02:00
exemplar.go tsdb: use simpler map key to improve exemplar ingest performance (#10111) 2022-01-06 15:58:58 +05:30
exemplar_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
head.go Allow forcing usage of PostingsForMatchersCache 2022-12-28 13:44:10 +01:00
head_append.go Comment fixes (#364) 2022-11-23 12:26:20 +00:00
head_append_test.go Merge pull request #29 from grafana/add-jitter-to-chunk-end 2021-11-16 11:05:07 +01:00
head_bench_test.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
head_read.go Merge remote-tracking branch 'upstream/main' 2022-11-23 01:39:23 +08:00
head_read_test.go Fix merge conflicts 2022-10-11 22:53:37 +05:30
head_test.go Fix tests 2022-11-23 02:21:03 +08:00
head_wal.go Merge remote-tracking branch 'upstream/main' 2022-11-23 01:39:23 +08:00
isolation.go tsdb: turn off transaction isolation for head compaction (#11317) 2022-09-27 19:31:23 +05:30
isolation_test.go tsdb: turn off transaction isolation for head compaction (#11317) 2022-09-27 19:31:23 +05:30
mocks_test.go Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
ooo_head.go Fix merge conflicts 2022-10-11 22:53:37 +05:30
ooo_head_read.go Merge remote-tracking branch 'upstream/main' into sync-prom 2022-10-05 20:33:36 +05:30
ooo_head_read_test.go Fix merge conflicts 2022-10-11 22:53:37 +05:30
ooo_head_test.go Fix merge conflicts 2022-10-11 22:53:37 +05:30
postings_for_matchers_cache.go Allow forcing usage of PostingsForMatchersCache 2022-12-28 13:44:10 +01:00
postings_for_matchers_cache_test.go Allow forcing usage of PostingsForMatchersCache 2022-12-28 13:44:10 +01:00
querier.go Merge remote-tracking branch 'upstream/main' 2022-11-23 01:39:23 +08:00
querier_bench_test.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
querier_test.go Add tests for query sharding 2022-11-28 08:33:48 -08:00
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair.go refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00
repair_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
symbols_batch.go Introduced some options for compactor concurrency (#66) 2021-12-02 10:34:52 +01:00
symbols_batch_test.go Introduced some options for compactor concurrency (#66) 2021-12-02 10:34:52 +01:00
tsdbblockutil.go Add unit test for histogram append and various querying scenarios (#11194) 2022-08-29 15:35:03 +05:30
wal.go TSDB: Rename wal package to wlog (#11352) 2022-10-10 20:38:46 +05:30
wal_test.go TSDB: Rename wal package to wlog (#11352) 2022-10-10 20:38:46 +05:30

TSDB

GoPkg

This directory contains the Prometheus TSDB (Time Series DataBase) library, which handles storage and querying of all Prometheus v2 data.

Documentation

External resources

A series of blog posts explaining different components of TSDB: