prometheus/tsdb
György Krajcsovits 6c646657d5
perf(chunkenc): intern the custom values for native histograms
The custom values are the "le" bucket boundaries of native histograms
with custom buckets. They are never modified. It is ok to not copy them
when iterating a chunk, just reference them.

If we will ever have a function that modifies the custom values, like
'trim' for example. That function will have to make a copy on write.

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2025-05-07 14:40:45 +02:00
..
agent Fix linting issues found by golangci-lint v2.0.2 (#16368) 2025-05-03 19:05:13 +02:00
chunkenc perf(chunkenc): intern the custom values for native histograms 2025-05-07 14:40:45 +02:00
chunks Fix linting issues found by golangci-lint v2.0.2 (#16368) 2025-05-03 19:05:13 +02:00
docs chore: fix some comments (#16237) 2025-03-19 16:28:34 +01:00
encoding Attempt for record type 2024-12-05 09:21:47 -08:00
errors tsdb/errors.MultiError: support errors.As (#16544) 2025-05-06 13:45:16 +00:00
fileutil chore: enable unused-parameter from revive 2025-02-19 19:50:28 +01:00
goversion remove obsolete build tag 2024-01-17 22:26:32 +08:00
index [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
record chore: enable gci linter (#16245) 2025-03-22 15:46:13 +00:00
testdata tsdb: Delete blocks atomically; Remove tmp blocks on start; Added test. (#7772) 2020-08-11 06:56:08 +01:00
tombstones chore: enable gci linter (#16245) 2025-03-22 15:46:13 +00:00
tsdbutil chore: enable gci linter (#16245) 2025-03-22 15:46:13 +00:00
wlog [PERF] Remote-write: re-use memory to read WAL data (#16197) 2025-03-11 10:49:51 +00:00
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block_test.go [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
block.go [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
blockwriter_test.go chore: enable gci linter (#16245) 2025-03-22 15:46:13 +00:00
blockwriter.go Upgrade to github.com/oklog/ulid/v2 (#16168) 2025-03-05 16:03:25 +01:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact_test.go Fix linting issues found by golangci-lint v2.0.2 (#16368) 2025-05-03 19:05:13 +02:00
compact.go tsdb: Introduced new constructor for LeveledCompactor to take in metrics (#16408) 2025-04-11 09:17:45 +01:00
db_test.go Fix linting issues found by golangci-lint v2.0.2 (#16368) 2025-05-03 19:05:13 +02:00
db.go fix typo (#16480) 2025-04-25 09:27:58 +02:00
example_test.go Add context argument to Querier.Select (#12660) 2023-09-12 12:37:38 +02:00
exemplar_test.go tsdb.CircularExemplarStorage: Avoid racing (#15231) 2024-10-29 10:40:46 +01:00
exemplar.go tsdb.CircularExemplarStorage: Avoid racing (#15231) 2024-10-29 10:40:46 +01:00
head_append.go defer a.unmarkCreatedSeriesAsPendingCommit() 2025-03-31 10:06:28 +02:00
head_bench_test.go Create memSeries with pendingCommit=true 2025-03-27 11:11:57 +01:00
head_dedupelabels.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
head_other.go chore: enable unused-parameter from revive 2025-02-19 19:50:28 +01:00
head_read_test.go Create memSeries with pendingCommit=true 2025-03-27 11:11:57 +01:00
head_read.go [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
head_test.go [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
head_wal.go Create memSeries with pendingCommit=true 2025-03-27 11:11:57 +01:00
head.go Merge pull request #16333 from colega/fix-series-create-gc-race 2025-04-17 12:15:11 +01:00
isolation_test.go chore: enable unused-parameter from revive 2025-02-19 19:50:28 +01:00
isolation.go chore: enable early-return from revive 2025-02-10 22:08:43 +01:00
mocks_test.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
ooo_head_read_test.go [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
ooo_head_read.go [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
ooo_head_test.go Fix linting issues found by golangci-lint v2.0.2 (#16368) 2025-05-03 19:05:13 +02:00
ooo_head.go Add util/compression package to consolidate snappy/zstd use in Prometheus. (#16156) 2025-03-10 10:36:26 +00: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 [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
querier_test.go [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
querier.go [PERF] TSDB: Pass down label value limit into implementation (#16158) 2025-05-06 18:54:48 +01:00
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair_test.go feat: Allow customizing TSDB postings decoder (#13567) 2024-11-11 07:59:24 +01:00
repair.go chore!: adopt log/slog, remove go-kit/log 2024-10-07 15:58:50 -04:00
testutil.go Fix linting issues found by golangci-lint v2.0.2 (#16368) 2025-05-03 19:05:13 +02: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: