mirror of
https://github.com/prometheus/prometheus
synced 2024-12-28 09:42:22 +00:00
5bee0cfce2
The ChunkReader interface's Chunk() has been changed to ChunkOrIterable(). This is a precursor to OOO native histogram support - with OOO native histograms, the chunks.Meta passed to Chunk() can result in multiple chunks being returned rather than just a single chunk (e.g. if oooMergedChunk has a counter reset in the middle). To support this, ChunkOrIterable() requires either a single chunk or an iterable to be returned. If an iterable is returned, the caller has the responsibility of converting the samples from the iterable into possibly multiple chunks. The OOOHeadChunkReader now returns an iterable rather than a chunk to prepare for the native histograms case. Also as a beneficial side effect, oooMergedChunk and boundedChunk has been simplified as they only need to implement the Iterable interface now, not the full Chunk interface. --------- Signed-off-by: Fiona Liao <fiona.y.liao@gmail.com> Co-authored-by: George Krajcsovits <krajorama@users.noreply.github.com> |
||
---|---|---|
.. | ||
agent | ||
chunkenc | ||
chunks | ||
docs | ||
encoding | ||
errors | ||
fileutil | ||
goversion | ||
index | ||
record | ||
testdata | ||
tombstones | ||
tsdbutil | ||
wlog | ||
.gitignore | ||
block_test.go | ||
block.go | ||
blockwriter_test.go | ||
blockwriter.go | ||
CHANGELOG.md | ||
compact_test.go | ||
compact.go | ||
db_test.go | ||
db.go | ||
example_test.go | ||
exemplar_test.go | ||
exemplar.go | ||
head_append.go | ||
head_bench_test.go | ||
head_read_test.go | ||
head_read.go | ||
head_test.go | ||
head_wal.go | ||
head.go | ||
isolation_test.go | ||
isolation.go | ||
mocks_test.go | ||
ooo_head_read_test.go | ||
ooo_head_read.go | ||
ooo_head_test.go | ||
ooo_head.go | ||
ooo_isolation_test.go | ||
ooo_isolation.go | ||
querier_bench_test.go | ||
querier_test.go | ||
querier.go | ||
README.md | ||
repair_test.go | ||
repair.go | ||
tsdbblockutil.go | ||
wal_test.go | ||
wal.go |
TSDB
This directory contains the Prometheus TSDB (Time Series DataBase) library, which handles storage and querying of all Prometheus v2 data.
Documentation
External resources
- A writeup of the original design can be found here.
- Video: Storing 16 Bytes at Scale from PromCon 2017.
- Compression is based on the Gorilla TSDB white paper.
A series of blog posts explaining different components of TSDB: