prometheus/tsdb/chunks
Peter Štibraný 1e2d2fb2d8
Job queue (#247)
This PR reimplements chan chunkWriteJob with custom buffered queue that should use less memory, because it doesn't preallocate entire buffer for maximum queue size at once. Instead it allocates individual "segments" with smaller size.

As elements are added to the queue, they fill individual segments. When elements are removed from the queue (and segments), empty segments can be thrown away. This doesn't change memory usage of the queue when it's full, but should decrease its memory footprint when it's empty (queue will keep max 1 segment in such case).
2022-06-07 17:42:28 +02:00
..
chunk_write_queue.go Job queue (#247) 2022-06-07 17:42:28 +02:00
chunk_write_queue_test.go Merge remote-tracking branch 'upstream/main' into jvp/merge-prometheus-main 2022-04-12 16:40:00 +02:00
chunks.go clarify HeadChunkID type and usage (#9726) 2021-11-17 18:35:10 +05:30
chunks_test.go Testify: move to require (#8122) 2020-10-29 09:43:23 +00:00
head_chunks.go Merge remote-tracking branch 'upstream/main' into jvp/merge-prometheus-main 2022-04-12 16:40:00 +02:00
head_chunks_other.go tsdb/chunks: preallocate at least some space on non-Windows systems (#9581) 2021-11-09 13:47:00 +05:30
head_chunks_test.go Merge remote-tracking branch 'upstream/main' into jvp/merge-prometheus-main 2022-04-12 16:40:00 +02:00
head_chunks_windows.go Format Go source files using 'gofumpt -w -s -extra' 2021-11-02 19:52:34 +01:00
old_head_chunks.go Discard unknown chunk encodings (#196) 2022-04-12 10:35:10 +00:00
old_head_chunks_test.go Discard unknown chunk encodings (#196) 2022-04-12 10:35:10 +00:00
queue.go Job queue (#247) 2022-06-07 17:42:28 +02:00
queue_test.go Job queue (#247) 2022-06-07 17:42:28 +02:00