prometheus/tsdb
Oleg Zaytsev 50ef0dc954
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
Fix MemPostings.Add and MemPostings.Get data race (#15141)
* Tests for Mempostings.{Add,Get} data race
* Fix MemPostings.{Add,Get} data race

We can't modify the postings list that are held in MemPostings as they
might already be in use by some readers.

* Modify BenchmarkHeadStripeSeriesCreate to have common labels

If there are no common labels on the series, we don't excercise the
ordering part of MemSeries, as we're just creating slices of one element
for each label value.

---------

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2024-10-11 15:21:15 +02:00
..
agent chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
chunkenc lint 2024-09-18 15:23:46 +01:00
chunks Fix missing histogram copy in sampleRing 2024-10-02 13:57:28 +02:00
docs docs: Some nitpicking in chunks.md 2024-10-09 14:32:12 +02: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 Fix MemPostings.Add and MemPostings.Get data race (#15141) 2024-10-11 15:21:15 +02: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 chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
block_test.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
blockwriter.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
blockwriter_test.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
compact_test.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
db.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
db_test.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
example_test.go Add context argument to Querier.Select (#12660) 2023-09-12 12:37:38 +02:00
exemplar.go chore: Fix typos (#14868) 2024-09-10 22:32:03 +02:00
exemplar_test.go [Test] TSDB: BenchmarkResizeExemplar multiple per series 2024-05-30 09:17:11 +01:00
head.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
head_append.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
head_bench_test.go Fix MemPostings.Add and MemPostings.Get data race (#15141) 2024-10-11 15:21:15 +02: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 chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04: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 fix: use "ErrorContains" or "EqualError" instead of "Contains(t, err.Error()" and "Equal(t, err.Error()" (#15094) 2024-10-06 16:35:29 +00:00
head_wal.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04: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 [BUGFIX] TSDB: Only query chunks up to truncation time (#14948) 2024-09-20 17:44:04 +01:00
ooo_head_read_test.go [BUGFIX] TSDB: Only query chunks up to truncation time (#14948) 2024-09-20 17:44:04 +01:00
ooo_head_test.go tsdb: Add support for ingestion of out-of-order native histogram samples (#14546) 2024-09-17 11:19:06 +02: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 Fix: optimize .* regexp performance 2024-09-17 12:18:31 +02:00
querier_bench_test.go TSDB: Simplify benchmark regexps 2024-09-16 17:48:05 +01:00
querier_test.go [BUGFIX] TSDB: Only query chunks up to truncation time (#14948) 2024-09-20 17:44:04 +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 tsdb tests: use go-cmp instead of DeepEquals 2024-02-08 19:32:33 +00:00
testutil.go tsdb: Add support for ingestion of out-of-order native histogram samples (#14546) 2024-09-17 11:19:06 +02:00
tsdbblockutil.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04: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: