prometheus/tsdb
Filip Petkovski 10a82f87fd
Enable reusing memory when converting between histogram types
The 'ToFloat' method on integer histograms currently allocates new memory
each time it is called.

This commit adds an optional *FloatHistogram parameter that can be used
to reuse span and bucket slices. It is up to the caller to make sure the
input float histogram is not used anymore after the call.

Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
2023-12-08 10:22:59 +01:00
..
agent feat(tsdb/agent): notify remote storage when commit happens (#13223) 2023-12-01 14:00:26 -08:00
chunkenc Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01:00
chunks golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00: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 golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
record Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01: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 Change ChunkReader.Chunk() to ChunkOrIterable() 2023-11-28 11:14:29 +01:00
wlog Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01:00
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block.go Change ChunkReader.Chunk() to ChunkOrIterable() 2023-11-28 11:14:29 +01:00
block_test.go Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01:00
blockwriter.go Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02: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 remplace errors.Errorf by fmt.Errorf 2023-11-14 13:04:31 +00:00
compact_test.go Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01:00
db.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
db_test.go Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01:00
example_test.go Add context argument to Querier.Select (#12660) 2023-09-12 12:37:38 +02:00
exemplar.go Fix error on ingesting out-of-order exemplars (#13021) 2023-11-16 15:07:37 +01:00
exemplar_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
head.go tsdb: Make sure the cache for postings cardinality properly honors the label name (#12653) 2023-11-28 13:54:37 +00:00
head_append.go Fix panic during tsdb Commit (#13092) 2023-11-12 14:51:37 +00:00
head_bench_test.go Pass ref to SeriesLifecycleCallback.PostDeletion (#12626) 2023-08-03 10:56:27 +02:00
head_read.go Change ChunkReader.Chunk() to ChunkOrIterable() 2023-11-28 11:14:29 +01:00
head_read_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
head_test.go Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01:00
head_wal.go remplace errors.Errorf by fmt.Errorf 2023-11-14 13:04:31 +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 Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01: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 Fix chunks iterator bug when tombstone covers a whole chunk (#13209) 2023-11-29 11:24:04 +01: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 golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair.go remplace errors.Errorf by fmt.Errorf 2023-11-14 13:04:31 +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 remplace errors.Errorf by fmt.Errorf 2023-11-14 13:04:31 +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: