prometheus/tsdb
Bryan Boreham 90e98e0235 tsdb: create isolation transaction slice on demand
When Prometheus restarts it creates every series read in from the WAL,
but many of those series will be finished, and never receive any more
samples. By defering allocation of the txRing slice to when it is first
needed, we save 32 bytes per stale series.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2023-10-21 13:45:47 +00:00
..
agent tsdb/agent: allow ingestion of OOO samples (#12897) 2023-10-13 16:33:09 +02:00
chunkenc Fix more counterResetInAnyBucket edgecases 2023-09-13 15:18:40 +02:00
chunks storage: make histogram reset handling consistent in chainSampleIterator (#12779) 2023-09-19 17:06:46 +02:00
docs Merge branch 'main' into sparsehistogram 2022-08-10 17:54:37 +02:00
encoding Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
errors Fix context.Canceled wrapping in compaction 2023-03-23 11:10:00 +01:00
fileutil Update go to 1.19, set min version to 1.18 (#11279) 2022-09-07 11:30:48 +02:00
goversion lint: Adjust to the lint warnings raised by current versions of golint-ci 2023-04-19 17:10:10 +02:00
index Fix int32 overflow issues (#12978) 2023-10-16 16:23:26 +02:00
record tsdb: Support native histograms in snapshot on shutdown (#12258) 2023-07-05 11:44:13 +02:00
testdata tsdb: Delete blocks atomically; Remove tmp blocks on start; Added test. (#7772) 2020-08-11 06:56:08 +01:00
tombstones Copy tombstone intervals to avoid race (#12245) 2023-05-17 15:15:12 +02:00
tsdbutil Add a chunk size limit in bytes (#12054) 2023-08-24 15:21:17 +02:00
wlog Update exp package (#12650) 2023-09-21 22:53:51 +02:00
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block_test.go Add context argument to LabelQuerier.LabelValues (#12665) 2023-09-14 16:02:04 +02:00
block.go Add context argument to tsdb.PostingsForMatchers 2023-09-16 18:13:32 +02:00
blockwriter_test.go Add a chunk size limit in bytes (#12054) 2023-08-24 15:21:17 +02:00
blockwriter.go Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact_test.go Add context argument to IndexReader.Postings (#12667) 2023-09-13 17:45:06 +02:00
compact.go Fix int32 overflow issues (#12978) 2023-10-16 16:23:26 +02:00
db_test.go Additionally wrap WBL replay error (#12406) 2023-10-13 14:21:35 +02:00
db.go Fix int32 overflow issues (#12978) 2023-10-16 16:23:26 +02:00
example_test.go Add context argument to Querier.Select (#12660) 2023-09-12 12:37:38 +02:00
exemplar_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
exemplar.go Update exp package (#12650) 2023-09-21 22:53:51 +02:00
head_append.go Refactor solution to not repeat code 2023-09-20 15:54:00 +02:00
head_bench_test.go Pass ref to SeriesLifecycleCallback.PostDeletion (#12626) 2023-08-03 10:56:27 +02:00
head_read_test.go Use a linked list for memSeries.headChunk (#11818) 2023-07-31 11:10:24 +02:00
head_read.go tsdb: shrink txRing with smaller integers 2023-10-21 12:44:34 +00:00
head_test.go tsdb: shrink txRing with smaller integers 2023-10-21 12:44:34 +00:00
head_wal.go Additionally wrap WBL replay error (#12406) 2023-10-13 14:21:35 +02:00
head.go tsdb: create isolation transaction slice on demand 2023-10-21 13:45:47 +00:00
isolation_test.go tsdb: turn off transaction isolation for head compaction (#11317) 2022-09-27 19:31:23 +05:30
isolation.go tsdb: create isolation transaction slice on demand 2023-10-21 13:45:47 +00:00
mocks_test.go Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
ooo_head_read_test.go Add context argument to LabelQuerier.LabelValues (#12665) 2023-09-14 16:02:04 +02:00
ooo_head_read.go Very minor refactor of the integer overflow fix 2023-10-19 13:17:46 +08:00
ooo_head_test.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
ooo_head.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
querier_bench_test.go tsdb: Tighten up sub-benchmark scope in BenchmarkQuerier (#12718) 2023-10-02 12:16:37 +02:00
querier_test.go Fix exit condition of TestQuerierIndexQueriesRace 2023-09-20 20:22:26 +01:00
querier.go Update exp package (#12650) 2023-09-21 22:53:51 +02:00
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair_test.go Add context argument to IndexReader.Postings (#12667) 2023-09-13 17:45:06 +02:00
repair.go refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00
tsdbblockutil.go Support FloatHistogram in TSDB (#11522) 2022-12-28 14:25:07 +05:30
wal_test.go Add Zstandard compression option for wlog (#11666) 2023-07-11 14:57:57 +02:00
wal.go Add Zstandard compression option for wlog (#11666) 2023-07-11 14:57:57 +02:00

TSDB

GoPkg

This directory contains the Prometheus TSDB (Time Series DataBase) library, which handles storage and querying of all Prometheus v2 data.

Documentation

External resources

A series of blog posts explaining different components of TSDB: