prometheus/tsdb
Callum Styan a0f08a8365
Remote write v2: metadata support in every write request (#13394)
* Approach bundling metadata along with samples and exemplars

Signed-off-by: Paschalis Tsilias <paschalist0@gmail.com>

* Add first test; rebase with main

Signed-off-by: Paschalis Tsilias <paschalist0@gmail.com>

* Alternative approach: bundle metadata in TimeSeries protobuf

Signed-off-by: Paschalis Tsilias <paschalist0@gmail.com>

* update go mod to match main branch

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* fix after rebase

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* we're not going to modify the 1.X format anymore

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Modify AppendMetadata based on the fact that we be putting metadata into
timeseries

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Rename enums for remote write versions to something that makes more
sense + remove the added `sendMetadata` flag.

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* rename flag that enables writing of metadata records to the WAL

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* additional clean up

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* lint

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* fix usage of require.Len

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* some clean up from review comments

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* more review fixes

Signed-off-by: Callum Styan <callumstyan@gmail.com>

---------

Signed-off-by: Paschalis Tsilias <paschalist0@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Co-authored-by: Paschalis Tsilias <paschalist0@gmail.com>
2024-01-25 13:25:05 -08:00
..
agent Remote write v2: metadata support in every write request (#13394) 2024-01-25 13:25:05 -08:00
chunkenc tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
chunks Merge branch 'main' into arve/typos 2023-12-12 12:02:03 +01:00
docs Merge branch 'main' into sparsehistogram 2022-08-10 17:54:37 +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 tsdb/fileutil: use Go standard errors 2023-11-14 19:05:21 +00:00
goversion lint: Adjust to the lint warnings raised by current versions of golint-ci 2023-04-19 17:10:10 +02:00
index Merge pull request #12878 from bboreham/loser-tree 2023-12-12 21:38:30 +00:00
record Move metric type definitions to common/model 2023-12-19 18:56:54 +00:00
testdata tsdb: Delete blocks atomically; Remove tmp blocks on start; Added test. (#7772) 2020-08-11 06:56:08 +01:00
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 Remote write v2: metadata support in every write request (#13394) 2024-01-25 13:25:05 -08:00
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
block_test.go Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01:00
blockwriter.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
blockwriter_test.go Add a chunk size limit in bytes (#12054) 2023-08-24 15:21:17 +02:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
compact_test.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
db.go tsdb: remove unused option (#13282) 2023-12-12 09:58:54 +00:00
db_test.go tsdb: remove unused option (#13282) 2023-12-12 09:58:54 +00:00
example_test.go Add context argument to Querier.Select (#12660) 2023-09-12 12:37:38 +02:00
exemplar.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
exemplar_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
head.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
head_append.go Move metric type definitions to common/model 2023-12-19 18:56:54 +00:00
head_bench_test.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
head_read.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
head_read_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
head_test.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
head_wal.go Move metric type definitions to common/model 2023-12-19 18:56:54 +00:00
isolation.go ci(lint): enable predeclared linter 2023-05-21 07:33:54 +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 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_head_read.go Change ChunkReader.Chunk() to ChunkOrIterable() 2023-11-28 11:14:29 +01:00
ooo_head_read_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00: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_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 tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
querier_bench_test.go ci(lint): enable nolintlint and remove redundant comments (#12926) 2023-10-31 12:35:13 +01:00
querier_test.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
repair_test.go Add context argument to IndexReader.Postings (#12667) 2023-09-13 17:45:06 +02:00
tsdbblockutil.go Support FloatHistogram in TSDB (#11522) 2022-12-28 14:25:07 +05:30
wal.go tsdb: use Go standard errors 2023-12-11 12:18:54 +00:00
wal_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00: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: