prometheus/tsdb
Julien Pivotto 8907ba6235 Make TSDB use storage errors
This fixes #6992, which was introduced by #6777. There was an
intermediate component which translated TSDB errors into storage errors,
but that component was deleted and this bug went unnoticed, until we
were watching at the Prombench results. Without this, scrape will fail
instead of dropping samples or using "Add" when the series have been
garbage collected.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2020-03-17 22:24:25 +01: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 Make TSDB use storage errors 2020-03-17 22:24:25 +01:00
docs/format Stream symbols during compaction. (#6468) 2019-12-17 19:49:54 +00:00
encoding Avoid WriteAt for Postings. 2019-12-16 15:30:49 +00:00
errors Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
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 Spelling (#6517) 2020-01-02 15:54:09 +01:00
test Port tsdb to use pkg/labels. (#6326) 2019-11-18 11:53:33 -08:00
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 Removed extra tsdb/testutil after merge. 2019-08-14 10:12:32 +01:00
wal remove Unused parameter 'reg' in wal.Open function (#6941) 2020-03-10 11:01:47 +05:30
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block_test.go Unify Iterator interfaces. All point to storage now. 2020-02-17 18:03:54 +00:00
block.go Make TSDB use storage errors 2020-03-17 22:24:25 +01:00
CHANGELOG.md Spelling (#6517) 2020-01-02 15:54:09 +01:00
compact_test.go Make head Postings only return series in time range 2020-02-20 22:41:46 +01:00
compact.go Use a cryptographically random generator for ULID 2020-02-25 12:12:03 +01:00
db_test.go Make TSDB use storage errors 2020-03-17 22:24:25 +01:00
db.go remove Unused parameter 'reg' in wal.Open function (#6941) 2020-03-10 11:01:47 +05:30
head_bench_test.go Make head Postings only return series in time range 2020-02-20 22:41:46 +01:00
head_test.go Make TSDB use storage errors 2020-03-17 22:24:25 +01:00
head.go Make TSDB use storage errors 2020-03-17 22:24:25 +01: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_bench_test.go Make head Postings only return series in time range 2020-02-20 22:41:46 +01:00
querier_test.go Make TSDB use storage errors 2020-03-17 22:24:25 +01:00
querier.go Make TSDB use storage errors 2020-03-17 22:24:25 +01:00
README.md Edit TSDB README badges 2019-10-24 15:35:47 +05:30
repair_test.go Port tsdb to use pkg/labels. (#6326) 2019-11-18 11:53:33 -08:00
repair.go tsdb: fix typo for wrong metric name (#6938) 2020-03-09 08:25:31 +00:00
tsdbblockutil.go Unify Iterator interfaces. All point to storage now. 2020-02-17 18:03:54 +00:00
wal_test.go Spelling (#6517) 2020-01-02 15:54:09 +01:00
wal.go Spelling (#6517) 2020-01-02 15:54:09 +01:00

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.