mirror of
https://github.com/prometheus/prometheus
synced 2024-12-27 17:13:22 +00:00
cda025b5b5
* TSDB: demistify seriesRefs and ChunkRefs The TSDB package contains many types of series and chunk references, all shrouded in uint types. Often the same uint value may actually mean one of different types, in non-obvious ways. This PR aims to clarify the code and help navigating to relevant docs, usage, etc much quicker. Concretely: * Use appropriately named types and document their semantics and relations. * Make multiplexing and demuxing of types explicit (on the boundaries between concrete implementations and generic interfaces). * Casting between different types should be free. None of the changes should have any impact on how the code runs. TODO: Implement BlockSeriesRef where appropriate (for a future PR) Signed-off-by: Dieter Plaetinck <dieter@grafana.com> * feedback Signed-off-by: Dieter Plaetinck <dieter@grafana.com> * agent: demistify seriesRefs and ChunkRefs Signed-off-by: Dieter Plaetinck <dieter@grafana.com> |
||
---|---|---|
.. | ||
agent | ||
chunkenc | ||
chunks | ||
docs | ||
encoding | ||
errors | ||
fileutil | ||
goversion | ||
index | ||
record | ||
test | ||
testdata | ||
tombstones | ||
tsdbutil | ||
wal | ||
.gitignore | ||
block_test.go | ||
block.go | ||
blockwriter_test.go | ||
blockwriter.go | ||
CHANGELOG.md | ||
compact_test.go | ||
compact.go | ||
db_test.go | ||
db.go | ||
exemplar_test.go | ||
exemplar.go | ||
head_append.go | ||
head_bench_test.go | ||
head_read.go | ||
head_test.go | ||
head_wal.go | ||
head.go | ||
isolation_test.go | ||
isolation.go | ||
mocks_test.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 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 and bstream details.
A series of blog posts explaining different components of TSDB: