prometheus/tsdb
Bartlomiej Plotka fe802f29c9 storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response.
This is technically BREAKING CHANGE, but it was like this from the beginning: I just notice that we rely in
Prometheus on remote read being sorted. This is because we use selected data from remote reads in MergeSeriesSet
which rely on sorting.

I found during work on https://github.com/prometheus/prometheus/pull/5882 that
we do so many repetitions because of this, for not good reason. I think
I found a good balance between convenience and readability with just one method.
Smaller the interface = better.

Also I don't know what TestSelectSorted was testing, but now it's testing sorting.

Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
2020-03-13 13:06:25 +00:00
..
chunkenc Specify that returned samples must be ordered by timestamp. (#6877) 2020-02-26 13:11:55 +00:00
chunks Refactor tsdb/chunks/chunks.go for future PRs (#6754) 2020-02-05 19:09:40 +05:30
cmd/tsdb storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response. 2020-03-13 13:06:25 +00:00
docs/format
encoding
errors
fileutil Add OpenMmapFileWithSize method (#6753) 2020-02-05 19:08:30 +05:30
goversion Fix some typo in comments (#6730) 2020-01-31 12:11:52 +05:30
index tsdb: writePostingsToTmpFiles returns nil instead of err (#6618) 2020-01-13 22:40:12 +00:00
record
test
testdata Handle V1 indexes, some of which have unsorted posting offset tables. (#6564) 2020-01-06 14:06:11 +00:00
tombstones Bring back tombstones to Head block (#6542) 2020-01-20 21:08:00 +05:30
tsdbutil
wal remove Unused parameter 'reg' in wal.Open function (#6941) 2020-03-10 11:01:47 +05:30
.gitignore
block.go Make head Postings only return series in time range 2020-02-20 22:41:46 +01:00
block_test.go storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response. 2020-03-13 13:06:25 +00:00
CHANGELOG.md
compact.go Use a cryptographically random generator for ULID 2020-02-25 12:12:03 +01:00
compact_test.go Make head Postings only return series in time range 2020-02-20 22:41:46 +01:00
db.go remove Unused parameter 'reg' in wal.Open function (#6941) 2020-03-10 11:01:47 +05:30
db_test.go storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response. 2020-03-13 13:06:25 +00:00
head.go tsdb: Do a full rollback upon commit error 2020-03-10 14:54:41 +01:00
head_bench_test.go Make head Postings only return series in time range 2020-02-20 22:41:46 +01:00
head_test.go storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response. 2020-03-13 13:06:25 +00:00
isolation.go Do not attempt isolation for appendID == 0 2020-03-01 02:48:35 +01:00
mocks_test.go Make head Postings only return series in time range 2020-02-20 22:41:46 +01:00
querier.go storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response. 2020-03-13 13:06:25 +00:00
querier_bench_test.go storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response. 2020-03-13 13:06:25 +00:00
querier_test.go storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response. 2020-03-13 13:06:25 +00:00
README.md
repair.go tsdb: fix typo for wrong metric name (#6938) 2020-03-09 08:25:31 +00:00
repair_test.go
tsdbblockutil.go Unify Iterator interfaces. All point to storage now. 2020-02-17 18:03:54 +00:00
wal.go
wal_test.go

TSDB

GoDoc

This repository 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.