prometheus/tsdb
Oleg Zaytsev 2dc177d8af
MemPostings.Delete(): reduce locking/unlocking (#13286)
* MemPostings: reduce locking/unlocking

MemPostings.Delete is called from Head.gc(), i.e. it gets the IDs of the
series that have churned.

I'd assume that many label values aren't affected by that churn at all,
so it doesn't make sense to touch the lock while checking them.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2024-06-10 14:23:22 +02:00
..
agent Enable perfsprint linter and fix up code 2024-05-15 17:51:05 +03:00
chunkenc Fix language in docs and comments (#14041) 2024-05-08 17:57:09 +02:00
chunks Upgrade to golangci-lint v1.59.0 2024-05-27 22:38:48 +02:00
docs Fix language in docs and comments (#14041) 2024-05-08 17:57:09 +02:00
encoding tsdb/encoding: use Go standard errors package 2023-11-11 19:01:11 +01: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 MemPostings.Delete(): reduce locking/unlocking (#13286) 2024-06-10 14:23:22 +02:00
record Fix language in docs and comments (#14041) 2024-05-08 17:57:09 +02:00
testdata
tombstones Update tombstones.go 2023-11-11 19:22:06 +01:00
tsdbutil Revert "Adding small test update for temp dir using t.TempDir (#13293)" 2023-12-30 19:17:30 +00:00
wlog Upgrade to golangci-lint v1.59.0 2024-05-27 22:38:48 +02:00
.gitignore
block_test.go [ENHANCEMENT] TSDB: Optimize querying with regexp matchers 2024-05-09 10:55:30 +01:00
block.go [ENHANCEMENT] TSDB: Optimize querying with regexp matchers 2024-05-09 10:55:30 +01:00
blockwriter_test.go Add a chunk size limit in bytes (#12054) 2023-08-24 15:21:17 +02:00
blockwriter.go Fix language in docs and comments (#14041) 2024-05-08 17:57:09 +02:00
CHANGELOG.md
compact_test.go Merge pull request #13218 from machine424/ro-promtool 2024-05-21 13:27:40 +02:00
compact.go Fix language in docs and comments (#14041) 2024-05-08 17:57:09 +02:00
db_test.go tsdb: Allow passing a custom compactor to override the default one (#14113) 2024-06-04 19:11:36 -04:00
db.go tsdb: Allow passing a custom compactor to override the default one (#14113) 2024-06-04 19:11:36 -04:00
example_test.go Add context argument to Querier.Select (#12660) 2023-09-12 12:37:38 +02:00
exemplar_test.go [Test] TSDB: BenchmarkResizeExemplar multiple per series 2024-05-30 09:17:11 +01:00
exemplar.go [ENHANCEMENT] TSDB: Save map lookup on validation 2024-05-30 09:17:11 +01:00
head_append.go tsdb: add details to duplicate sample error (#13277) 2024-06-04 08:54:09 +01:00
head_bench_test.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
head_read_test.go [ENHANCEMENT] TSDB: Optimize querying with regexp matchers 2024-05-09 10:55:30 +01:00
head_read.go [ENHANCEMENT] TSDB: Optimize querying with regexp matchers 2024-05-09 10:55:30 +01:00
head_test.go Upgrade to golangci-lint v1.59.0 2024-05-27 22:38:48 +02:00
head_wal.go Fix language in docs and comments (#14041) 2024-05-08 17:57:09 +02:00
head.go Fix head stats and hooks when replaying a corrupted snapshot (#14079) 2024-05-24 22:43:21 -04:00
isolation_test.go
isolation.go tsdb: create isolation transaction slice on demand 2023-10-21 13:45:47 +00:00
mocks_test.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
ooo_head_read_test.go Move from golang.org/x/exp/slices into slices now that we only support Go >= 1.21 2024-02-28 14:54:53 +01:00
ooo_head_read.go [ENHANCEMENT] TSDB: Optimize querying with regexp matchers 2024-05-09 10:55:30 +01:00
ooo_head_test.go ci(lint): enable godot; append dot at the end of comments 2023-10-31 19:53:38 +02:00
ooo_head.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
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
querier_bench_test.go Optimize label values with matchers by taking shortcuts (#13426) 2024-01-23 11:40:21 +01:00
querier_test.go optimize regex matching for empty label values in posting match (#14075) 2024-05-29 16:03:33 +01:00
querier.go optimize regex matching for empty label values in posting match (#14075) 2024-05-29 16:03:33 +01:00
README.md
repair_test.go tsdb tests: use go-cmp instead of DeepEquals 2024-02-08 19:32:33 +00:00
repair.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
tsdbblockutil.go Optimize histogram iterators (#13340) 2024-01-23 17:02:14 +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: