prometheus/tsdb
Bryan Boreham 7f2374b703
tsdb: faster postings sort with generic slices.Sort (#11054)
Use new experimental package `golang.org/x/exp/slices`.

Some of the speedup comes from comparing SeriesRef (which is an int64)
directly rather than through an interface `.Less()` call; some comes
from exp/slices using "pattern-defeating quicksort(pdqsort)".

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2022-09-30 20:01:32 +05:30
..
agent tsdb/agent: fix validation of default options (#9876) 2022-09-27 19:41:43 +05:30
chunkenc tsdb: stop saving a copy of last 4 samples in memSeries (#11296) 2022-09-27 19:32:05 +05:30
chunks Fix 'invalid magic number 0' bug (#11338) 2022-09-28 21:43:58 +05:30
docs Fix type byte of WAL metadata records in docs (#11035) 2022-07-19 18:22:02 +05:30
encoding chore: remove duplicate word in comments (#11225) 2022-08-27 22:21:41 +02:00
errors
fileutil Update go to 1.19, set min version to 1.18 (#11279) 2022-09-07 11:30:48 +02:00
goversion
index tsdb: faster postings sort with generic slices.Sort (#11054) 2022-09-30 20:01:32 +05:30
record Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
test
testdata
tombstones refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00
tsdbutil Remove unnecessary tsdb/tsdbutil/buffer.go (#11302) 2022-09-13 19:36:32 +05:30
wal Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
.gitignore
CHANGELOG.md
README.md Update godoc links and remove note about TSDB versioning (#10754) 2022-05-26 18:34:43 +10:00
block.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
block_test.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
blockwriter.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
blockwriter_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
compact.go
compact_test.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
db.go Allow overlapping blocks by default (#11331) 2022-09-28 19:17:54 +05:30
db_test.go Allow overlapping blocks by default (#11331) 2022-09-28 19:17:54 +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
exemplar_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
head.go tsdb: stop saving a copy of last 4 samples in memSeries (#11296) 2022-09-27 19:32:05 +05:30
head_append.go tsdb: stop saving a copy of last 4 samples in memSeries (#11296) 2022-09-27 19:32:05 +05:30
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 tsdb: stop saving a copy of last 4 samples in memSeries (#11296) 2022-09-27 19:32:05 +05:30
head_read_test.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
head_test.go tsdb: stop saving a copy of last 4 samples in memSeries (#11296) 2022-09-27 19:32:05 +05:30
head_wal.go tsdb: stop saving a copy of last 4 samples in memSeries (#11296) 2022-09-27 19:32:05 +05:30
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
ooo_head.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
ooo_head_read.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
ooo_head_read_test.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
ooo_head_test.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
querier.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
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 out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
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
tsdbblockutil.go tsdb: commit data periodically in CreateBlock (#10788) 2022-06-17 11:26:19 +05:30
wal.go tsdb: extract functions to encode and decode labels (#11045) 2022-07-26 20:12:00 +05:30
wal_test.go refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00

README.md

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: