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_test.go Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01:00
block.go Change ChunkReader.Chunk() to ChunkOrIterable() 2023-11-28 11:14:29 +01:00
blockwriter_test.go Add a chunk size limit in bytes (#12054) 2023-08-24 15:21:17 +02:00
blockwriter.go Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact_test.go Enable reusing memory when converting between histogram types 2023-12-08 10:22:59 +01:00
compact.go remplace errors.Errorf by fmt.Errorf 2023-11-14 13:04:31 +00:00
db_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
example_test.go Add context argument to Querier.Select (#12660) 2023-09-12 12:37:38 +02:00
exemplar_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
exemplar.go Fix error on ingesting out-of-order exemplars (#13021) 2023-11-16 15:07:37 +01: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_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
head_read.go Change ChunkReader.Chunk() to ChunkOrIterable() 2023-11-28 11:14:29 +01: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
head.go tsdb: Make sure the cache for postings cardinality properly honors the label name (#12653) 2023-11-28 13:54:37 +00:00
isolation_test.go tsdb: turn off transaction isolation for head compaction (#11317) 2022-09-27 19:31:23 +05:30
isolation.go ci(lint): enable predeclared linter 2023-05-21 07:33:54 +00:00
mocks_test.go Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
ooo_head_read_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
ooo_head_read.go Change ChunkReader.Chunk() to ChunkOrIterable() 2023-11-28 11:14:29 +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 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
querier.go Fix chunks iterator bug when tombstone covers a whole chunk (#13209) 2023-11-29 11:24:04 +01:00
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair_test.go Add context argument to IndexReader.Postings (#12667) 2023-09-13 17:45:06 +02:00
repair.go remplace errors.Errorf by fmt.Errorf 2023-11-14 13:04:31 +00:00
tsdbblockutil.go Support FloatHistogram in TSDB (#11522) 2022-12-28 14:25:07 +05:30
wal_test.go golangci-lint: enable testifylint linter (#13254) 2023-12-07 11:35:01 +00:00
wal.go remplace errors.Errorf by fmt.Errorf 2023-11-14 13:04:31 +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: