prometheus/tsdb
Bryan Boreham ac4f8a5e23
Some checks are pending
buf.build / lint and publish (push) Waiting to run
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (0) (push) Waiting to run
CI / Build Prometheus for common architectures (1) (push) Waiting to run
CI / Build Prometheus for common architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (0) (push) Waiting to run
CI / Build Prometheus for all architectures (1) (push) Waiting to run
CI / Build Prometheus for all architectures (10) (push) Waiting to run
CI / Build Prometheus for all architectures (11) (push) Waiting to run
CI / Build Prometheus for all architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (3) (push) Waiting to run
CI / Build Prometheus for all architectures (4) (push) Waiting to run
CI / Build Prometheus for all architectures (5) (push) Waiting to run
CI / Build Prometheus for all architectures (6) (push) Waiting to run
CI / Build Prometheus for all architectures (7) (push) Waiting to run
CI / Build Prometheus for all architectures (8) (push) Waiting to run
CI / Build Prometheus for all architectures (9) (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
[ENHANCEMENT] TSDB: Improve calculation of space used by labels (#13880)
* [ENHANCEMENT] TSDB: Improve calculation of space used by labels

The labels for each series in the Head take up some some space in the
Postings index, but far more space in the `memSeries` structure.

Instead of having the Postings index calculate this overhead, which is
a layering violation, have the caller pass in a function to do it.

Provide three implementations of this function for the three Labels
versions.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-12-16 09:42:52 +00:00
..
agent Agent: allow for ingestion of CT samples (#15124) 2024-10-27 01:06:34 +01:00
chunkenc tsdb/chunkenc: don't reuse custom value slices between histograms 2024-11-29 16:28:09 +11:00
chunks enable errorf rule from perfsprint linter 2024-11-06 16:50:36 +01:00
docs update links to openmetrics to reference the v1.0.0 release 2024-12-13 21:32:27 +00:00
encoding Neater string vs byte-slice conversions (#14425) 2024-09-21 12:19:21 +02:00
errors Enable default revive rules (#13068) 2023-11-29 17:23:34 +00:00
fileutil tests: remove err from message when testify prints it already 2024-02-01 14:18:01 +00:00
goversion remove obsolete build tag 2024-01-17 22:26:32 +08:00
index [ENHANCEMENT] TSDB: Improve calculation of space used by labels (#13880) 2024-12-16 09:42:52 +00:00
record chore: Fix typos (#14868) 2024-09-10 22:32:03 +02:00
testdata tsdb: Delete blocks atomically; Remove tmp blocks on start; Added test. (#7772) 2020-08-11 06:56:08 +01:00
tombstones chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
tsdbutil chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
wlog [TESTS] Remote-Write: Fix BenchmarkStartup 2024-11-15 11:22:07 +00:00
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block.go [PERF] TSDB: Optimize inverse matching (#14144) 2024-11-19 15:49:01 +00:00
block_test.go feat: Allow customizing TSDB postings decoder (#13567) 2024-11-11 07:59:24 +01:00
blockwriter.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
blockwriter_test.go feat: Allow customizing TSDB postings decoder (#13567) 2024-11-11 07:59:24 +01:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact.go Merge pull request #14489 from harry671003/implement_metadata_limit 2024-11-19 17:32:16 +01:00
compact_test.go feat: Allow customizing TSDB postings decoder (#13567) 2024-11-11 07:59:24 +01:00
db.go feat: Allow customizing TSDB postings decoder (#13567) 2024-11-11 07:59:24 +01:00
db_test.go Always return unknown hint for first sample in non-gauge histogram chunk (#15343) 2024-11-12 15:14:06 +01:00
example_test.go Add context argument to Querier.Select (#12660) 2023-09-12 12:37:38 +02:00
exemplar.go tsdb.CircularExemplarStorage: Avoid racing (#15231) 2024-10-29 10:40:46 +01:00
exemplar_test.go tsdb.CircularExemplarStorage: Avoid racing (#15231) 2024-10-29 10:40:46 +01:00
head.go [ENHANCEMENT] TSDB: Improve calculation of space used by labels (#13880) 2024-12-16 09:42:52 +00:00
head_append.go [BUGFIX] TSDB: Fix race on stale values in headAppender (#15322) 2024-11-06 16:51:39 +01:00
head_bench_test.go Revert "Fix MemPostings.Add and MemPostings.Get data race (#15141)" 2024-11-03 12:30:34 +00:00
head_dedupelabels.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
head_other.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
head_read.go [PERF] TSDB: Optimize inverse matching (#14144) 2024-11-19 15:49:01 +00:00
head_read_test.go TSDB: Simplify OOO Select by copying the head chunk (#14396) 2024-07-03 15:08:07 +01:00
head_test.go Always return unknown hint for first sample in non-gauge histogram chunk (#15343) 2024-11-12 15:14:06 +01:00
head_wal.go [BUGFIX] TSDB: Apply fixes from loadWAL to loadWBL 2024-11-11 18:41:33 +00:00
isolation.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
mocks_test.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
ooo_head.go TSDB: Remove code for querying OOO-head only 2024-08-14 13:41:13 +01:00
ooo_head_read.go [PERF] TSDB: Optimize inverse matching (#14144) 2024-11-19 15:49:01 +00:00
ooo_head_read_test.go enable errorf rule from perfsprint linter 2024-11-06 16:50:36 +01:00
ooo_head_test.go Always return unknown hint for first sample in non-gauge histogram chunk (#15343) 2024-11-12 15:14:06 +01:00
ooo_isolation.go Fix issue where queries can fail or omit OOO samples if OOO head compaction occurs between creating a querier and reading chunks (#13115) 2023-11-24 12:38:38 +01:00
ooo_isolation_test.go Fix issue where queries can fail or omit OOO samples if OOO head compaction occurs between creating a querier and reading chunks (#13115) 2023-11-24 12:38:38 +01:00
querier.go Optimize l=~".+" matcher (#15474) 2024-11-27 12:33:20 +01:00
querier_bench_test.go feat: Allow customizing TSDB postings decoder (#13567) 2024-11-11 07:59:24 +01:00
querier_test.go Merge pull request #14489 from harry671003/implement_metadata_limit 2024-11-19 17:32:16 +01:00
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
repair_test.go feat: Allow customizing TSDB postings decoder (#13567) 2024-11-11 07:59:24 +01:00
testutil.go Always return unknown hint for first sample in non-gauge histogram chunk (#15343) 2024-11-12 15:14:06 +01:00
tsdbblockutil.go enable errorf rule from perfsprint linter 2024-11-06 16:50:36 +01: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: