prometheus/tsdb
Oleg Zaytsev b87c54de14 Load OutOfOrderTimeWindow only once per appender
We're loading the time window once per each Append() call, plus once in
the Commit(). While not extremely expensive, atomic operations are also
not cheap.

Additionally, it makes sense to keep the window consistent for a single
append.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2022-08-11 10:46:12 +02:00
..
agent Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
chunkenc Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
chunks Merge remote-tracking branch 'upstream/main' into update-upstream-prometheus 2022-07-13 10:18:09 +02:00
docs Update godoc links and remove note about TSDB versioning (#10754) 2022-05-26 18:34:43 +10:00
encoding
errors
fileutil Make necessary change to compile promql parser to wasm (#10683) 2022-05-12 09:12:05 +02:00
goversion
hashcache
index Remove use of io/ioutil. 2022-06-09 15:01:34 +02:00
record Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
test
testdata
tombstones refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00
tsdbutil refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00
wal Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
.gitignore
async_block_writer.go Make linter happy 2022-02-10 15:32:02 +01:00
block.go Avoid gaps in in-order data after restart with out-of-order enabled (#277) 2022-06-27 20:26:25 +05:30
block_test.go Include out of order samples in BenchmarkQueries (#286) 2022-07-14 18:01:39 +05:30
blockwriter.go Add support to query unmerged, unsorted chunks (#299) 2022-07-20 15:57:02 +05:30
blockwriter_test.go refactor: use T.TempDir() and B.TempDir to create temporary directory 2022-01-22 18:57:30 +08:00
CHANGELOG.md
compact.go Avoid gaps in in-order data after restart with out-of-order enabled (#277) 2022-06-27 20:26:25 +05:30
compact_test.go Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
db.go Prevent panic with ApplyConfig (#312) 2022-08-09 19:25:17 +05:30
db_test.go Prevent panic with ApplyConfig (#312) 2022-08-09 19:25:17 +05:30
example_test.go refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +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 unit tests: make all Labels sorted alphabetically (#10532) 2022-05-04 23:41:36 +02:00
head.go Update minOOOTime after truncating Head (#309) 2022-08-02 19:43:50 +05:30
head_append.go Load OutOfOrderTimeWindow only once per appender 2022-08-11 10:46:12 +02:00
head_append_test.go
head_bench_test.go Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
head_read.go Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
head_read_test.go Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
head_test.go Update minOOOTime after truncating Head (#309) 2022-08-02 19:43:50 +05:30
head_wal.go Merge remote-tracking branch 'upstream/main' into update-upstream-prometheus 2022-07-13 10:18:09 +02:00
isolation.go
isolation_test.go
mocks_test.go
ooo_head.go Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
ooo_head_read.go Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
ooo_head_read_test.go Rename OutOfOrderAllowance to OutOfOrderTimeWindow 2022-06-24 12:23:38 +02:00
postings_for_matchers_cache.go
postings_for_matchers_cache_test.go Necessary changes to make the merge work 2022-04-13 14:45:43 +02:00
querier.go Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
querier_bench_test.go Add out-of-order sample support to the TSDB (#269) 2022-06-22 11:45:21 +00:00
querier_test.go Include out of order samples in BenchmarkQueries (#286) 2022-07-14 18:01:39 +05:30
README.md Update godoc links and remove note about TSDB versioning (#10754) 2022-05-26 18:34:43 +10: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 refactor: use T.TempDir() and B.TempDir to create temporary directory 2022-01-22 18:57:30 +08: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 tsdb: commit data periodically in CreateBlock (#10788) 2022-06-17 11:26:19 +05:30
wal.go fix potential goroutine leaks 2021-12-17 18:35:30 -05:00
wal_test.go refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00

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: