mirror of
https://github.com/prometheus/prometheus
synced 2025-01-30 03:33:32 +00:00
630bcb494b
Previously, we had one “polymorphous” `sample` type in the `storage` package. This commit breaks it up into `fSample`, `hSample`, and `fhSample`, each still implementing the `tsdbutil.Sample` interface. This reduces allocations in `sampleRing.Add` but inflicts the penalty of the interface wrapper, which makes things worse in total. This commit therefore just demonstrates the step taken. The next commit will tackle the interface overhead problem. Signed-off-by: beorn7 <beorn@grafana.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 | ||
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: