prometheus/tsdb
beorn7 630bcb494b storage: Use separate sample types for histogram vs. float
Previously, we had one “polymorphous” `sample` type in the `storage`
package. This commit breaks it up into `fSample`, `hSample`, and
`fhSample`, each still implementing the `tsdbutil.Sample` interface.

This reduces allocations in `sampleRing.Add` but inflicts the penalty
of the interface wrapper, which makes things worse in total.

This commit therefore just demonstrates the step taken. The next
commit will tackle the interface overhead problem.

Signed-off-by: beorn7 <beorn@grafana.com>
2023-04-13 19:25:24 +02:00
..
agent Adds an affirmative log message for successful WAL repair (#12135) 2023-03-21 19:33:43 +05:30
chunkenc Add support for native histograms to concreteSeriesIterator 2023-04-06 09:54:15 -07:00
chunks Fix: getting rid of EncOOOXOR chunk encoding (#12111) 2023-03-16 15:53:47 +05:30
docs Merge branch 'main' into sparsehistogram 2022-08-10 17:54:37 +02:00
encoding Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
errors Fix context.Canceled wrapping in compaction 2023-03-23 11:10:00 +01:00
fileutil Update go to 1.19, set min version to 1.18 (#11279) 2022-09-07 11:30:48 +02:00
goversion Add new Go build tags. 2021-08-27 10:24:14 +02:00
index Shortcut postings for matchers when empty postings are selected (#11813) 2023-01-10 15:21:49 +05:30
record tsdb: Add counter reset hint to histograms and support in WAL 2023-01-10 17:41:53 +05:30
testdata tsdb: Delete blocks atomically; Remove tmp blocks on start; Added test. (#7772) 2020-08-11 06:56:08 +01:00
tombstones refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00
tsdbutil storage: Use separate sample types for histogram vs. float 2023-04-13 19:25:24 +02:00
wlog Feat: metrics for head_chunks & wal folders (#12013) 2023-03-02 15:25:56 +05:30
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block.go tsdb: sort values for Postings only when required 2023-01-05 14:05:54 +00:00
block_test.go histograms: Return actually useful counter reset hints 2023-01-25 16:57:21 +01:00
blockwriter.go Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
blockwriter_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact.go Allow populate block logic in compact to be overriden outside Prometheus (#11711) 2023-04-04 12:01:49 +05:30
compact_test.go Merge pull request #12173 from bboreham/builder-no-empty-labels 2023-04-04 12:02:55 +05:30
db.go Adds an affirmative log message for successful WAL repair (#12135) 2023-03-21 19:33:43 +05:30
db_test.go Merge pull request #12127 from codesome/ooo-mmap-replay 2023-04-04 12:05:57 +05:30
example_test.go storage: allow re-use of iterators 2022-12-15 18:32:45 +00:00
exemplar.go Update package tsdb for new labels.Labels type 2022-12-19 15:22:09 +00:00
exemplar_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
head.go Merge pull request #12127 from codesome/ooo-mmap-replay 2023-04-04 12:05:57 +05:30
head_append.go tsdb: Improve a couple of histogram documentation comments 2023-04-07 18:06:27 +02:00
head_bench_test.go Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
head_read.go tsdb: Fix a comment in tsdb/head_read.go 2023-03-21 15:15:36 +05:30
head_read_test.go Fix merge conflicts 2022-10-11 22:53:37 +05:30
head_test.go Use zeropool.Pool to workaround SA6002 (#12189) 2023-03-29 20:34:34 +01:00
head_wal.go Use zeropool.Pool to workaround SA6002 (#12189) 2023-03-29 20:34:34 +01:00
isolation.go tsdb: turn off transaction isolation for head compaction (#11317) 2022-09-27 19:31:23 +05:30
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 Attempt to append ooo sample at the end first (#11615) 2023-01-13 19:00:50 +05:30
ooo_head_read.go Add unit test and also protect truncateOOO 2023-02-10 15:18:17 +01:00
ooo_head_read_test.go tsdb: Only initialise out-of-order fields when required 2023-01-12 20:29:16 +05:30
ooo_head_test.go Fix merge conflicts 2022-10-11 22:53:37 +05:30
querier.go Allow populate block logic in compact to be overriden outside Prometheus (#11711) 2023-04-04 12:01:49 +05:30
querier_bench_test.go Optimization on mergedStringIter (#12132) 2023-03-27 17:10:45 +05:30
querier_test.go Update tests to not assume the chunk implementation 2023-03-15 17:58:37 +05:30
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair.go refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00
repair_test.go Simplify IndexReader.Series interface 2022-12-19 15:22:09 +00:00
tsdbblockutil.go Support FloatHistogram in TSDB (#11522) 2022-12-28 14:25:07 +05:30
wal.go Use zeropool.Pool to workaround SA6002 (#12189) 2023-03-29 20:34:34 +01:00
wal_test.go TSDB: Rename wal package to wlog (#11352) 2022-10-10 20:38:46 +05:30

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: