prometheus/tsdb
George Krajcsovits 223f016c44
feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013)
* feat(tsdb): allow appending to ST capable XOR chunk optionally

Only for float samples as of now.  Supports for in-order and out-of-order
samples.

Make sure that on readout the ST capable chunks are returned automatically.
When the chunks are returned as is, this is trivially true.
When a chunk needs to be re-coded due to deletion (tombstone) markers,
we take the encoding of the original chunk.
When a chunk needs to be created from overlapping chunks, we observe
whether ST is zero or not and create the new chunk based on that.

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2026-02-20 09:15:51 +01:00
..
agent refactor: sed enableStStorage/enableSTStorage 2026-02-17 11:11:46 +00:00
chunkenc feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
chunks feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
compression tsdb: ST-in-WAL: Counter implementation and benchmarks (#17671) 2026-02-12 13:17:50 -05:00
docs Small simplification in the doc 2026-01-30 11:34:59 +01:00
encoding Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
fileutil Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
goversion Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
index tsdb/index: export sentinel error for symbol table size exceeded 2026-02-10 12:44:32 -05:00
record feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
testdata tsdb: Delete blocks atomically; Remove tmp blocks on start; Added test. (#7772) 2020-08-11 06:56:08 +01:00
tombstones Refactor various tsdb sub-packages (#17847) 2026-01-13 13:38:58 +00:00
tsdbutil Refactor various tsdb sub-packages (#17847) 2026-01-13 13:38:58 +00:00
wlog refactor: sed enableStStorage/enableSTStorage 2026-02-17 11:11:46 +00:00
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block.go tsdb: Migrate multi-errors to errors package (#17768) 2026-02-04 10:41:57 +01:00
block_test.go auto update head sample use in tests 2026-01-14 13:15:13 +01:00
blockwriter.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
blockwriter_test.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact.go tsdb: Migrate multi-errors to errors package (#17768) 2026-02-04 10:41:57 +01:00
compact_test.go tsdb: Migrate multi-errors to errors package (#17768) 2026-02-04 10:41:57 +01:00
db.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
db_append_v2_test.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
db_test.go refactor: sed enableStStorage/enableSTStorage 2026-02-17 11:11:46 +00:00
example_test.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
exemplar.go tsdb: fix rare case of OOO exemplar insertion pointing to the exemplar being deleted (#17865) 2026-01-15 08:49:37 +01:00
exemplar_test.go tsdb: fix rare case of OOO exemplar insertion pointing to the exemplar being deleted (#17865) 2026-01-15 08:49:37 +01:00
head.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
head_append.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
head_append_v2.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
head_append_v2_test.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
head_bench_test.go tsdb: add auto-cleanup to newTestHead and remove redundant cleanup calls (#17890) 2026-01-19 12:57:05 +01:00
head_dedupelabels.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
head_other.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
head_read.go tsdb: Add StaleHead and GC for stale series in the Head block 2026-01-23 17:59:41 -08:00
head_read_test.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
head_test.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
head_wal.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
isolation.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
isolation_test.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
mocks_test.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
ooo_head.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
ooo_head_read.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
ooo_head_read_test.go tsdb: add auto-cleanup to newTestHead and remove redundant cleanup calls (#17890) 2026-01-19 12:57:05 +01:00
ooo_head_test.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
ooo_isolation.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
ooo_isolation_test.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
querier.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
querier_bench_test.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
querier_test.go feat(tsdb): allow using ST capable XOR chunks - retain format on read (#18013) 2026-02-20 09:15:51 +01:00
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair.go tsdb: Migrate multi-errors to errors package (#17768) 2026-02-04 10:41:57 +01:00
repair_test.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
testutil.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
tsdbblockutil.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01: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: