prometheus/tsdb
TJ Hoplock 6ebfbd2d54 chore!: adopt log/slog, remove go-kit/log
For: #14355

This commit updates Prometheus to adopt stdlib's log/slog package in
favor of go-kit/log. As part of converting to use slog, several other
related changes are required to get prometheus working, including:
- removed unused logging util func `RateLimit()`
- forward ported the util/logging/Deduper logging by implementing a small custom slog.Handler that does the deduping before chaining log calls to the underlying real slog.Logger
- move some of the json file logging functionality to use prom/common package functionality
- refactored some of the new json file logging for scraping
- changes to promql.QueryLogger interface to swap out logging methods for relevant slog sugar wrappers
- updated lots of tests that used/replicated custom logging functionality, attempting to keep the logical goal of the tests consistent after the transition
- added a healthy amount of `if logger == nil { $makeLogger }` type conditional checks amongst various functions where none were provided -- old code that used the go-kit/log.Logger interface had several places where there were nil references when trying to use functions like `With()` to add keyvals on the new *slog.Logger type

Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>
2024-10-07 15:58:50 -04: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 Fix language in docs and comments (#14041) 2024-05-08 17:57:09 +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 Merge pull request #14975 from colega/process-mempostings-delete-with-gomaxprocs-workers 2024-09-29 07:58:42 +01: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 tsdb: use Go standard errors 2023-12-11 12:18:54 +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 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: