mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-26 06:04:05 -08:00
c5b3f0221f
* Make WAL replay benchmark more representative Signed-off-by: Chris Marchbanks <csmarchbanks@gmail.com> * Move decoding records from the WAL into goroutine Decoding the WAL records accounts for a significant amount of time on startup, and can be done in parallel with creating series/samples to speed up startup. However, records still must be handled in order, so only a single goroutine can do the decoding. benchmark old ns/op new ns/op delta BenchmarkLoadWAL/batches=10,seriesPerBatch=100,samplesPerSeries=7200-8 481607033 391971490 -18.61% BenchmarkLoadWAL/batches=10,seriesPerBatch=10000,samplesPerSeries=50-8 836394378 629067006 -24.79% BenchmarkLoadWAL/batches=10,seriesPerBatch=1000,samplesPerSeries=480-8 348238658 234218667 -32.74% Signed-off-by: Chris Marchbanks <csmarchbanks@gmail.com> |
||
---|---|---|
.. | ||
chunkenc | ||
chunks | ||
cmd/tsdb | ||
docs/format | ||
encoding | ||
errors | ||
fileutil | ||
goversion | ||
index | ||
labels | ||
record | ||
test | ||
testdata | ||
tombstones | ||
tsdbutil | ||
wal | ||
.gitignore | ||
block.go | ||
block_test.go | ||
CHANGELOG.md | ||
compact.go | ||
compact_test.go | ||
db.go | ||
db_test.go | ||
head.go | ||
head_bench_test.go | ||
head_test.go | ||
mocks_test.go | ||
querier.go | ||
querier_test.go | ||
README.md | ||
repair.go | ||
repair_test.go | ||
wal.go | ||
wal_test.go |
TSDB
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.