prometheus/tsdb
Baskar Shanmugam f731a90a7f
Fix LabelValueStats in posting stats (#12342)
Problem:
LabelValueStats - This will provide a list of the label names and memory used in bytes.
It is calculated by adding the length of all values for a given label name.
But internally Prometheus stores the name and the value independently for each series.

Solution:
MemPostings struct maintains the values to seriesRef map which is used
to get the number of series which contains the label values.
Using that LabelValueStats is calculated as: seriesCnt * len(value
name)

Signed-off-by: Baskar Shanmugam <baskar.shanmugam.career@gmail.com>
2023-05-19 09:36:30 +02:00
..
agent tsdb: drop deleted series from the WAL sooner (#12297) 2023-05-01 16:43:15 +01:00
chunkenc Fix HistogramAppender.Appendable array out of bound error 2023-05-14 17:38:52 +02:00
chunks style: Replace `else if` cascades with `switch` 2023-04-19 17:22:31 +02:00
docs
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 lint: Adjust to the lint warnings raised by current versions of golint-ci 2023-04-19 17:10:10 +02:00
index Fix LabelValueStats in posting stats (#12342) 2023-05-19 09:36:30 +02:00
record tsdb: Add counter reset hint to histograms and support in WAL 2023-01-10 17:41:53 +05:30
testdata
tombstones Copy tombstone intervals to avoid race (#12245) 2023-05-17 15:15:12 +02:00
tsdbutil Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
wlog [tsdb] re-implement WAL watcher to read via a "notification" channel (#11949) 2023-05-15 12:31:49 -07:00
.gitignore
CHANGELOG.md
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
block.go tsdb: sort values for Postings only when required 2023-01-05 14:05:54 +00:00
block_test.go enable gocritic, unconvert and unused linters 2023-04-13 19:20:22 +00:00
blockwriter.go Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
blockwriter_test.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
compact.go Merge branch 'main' into linter/nilerr 2023-04-19 19:56:39 +02:00
compact_test.go Merge branch 'main' into linter/nilerr 2023-04-19 19:56:39 +02:00
db.go [tsdb] re-implement WAL watcher to read via a "notification" channel (#11949) 2023-05-15 12:31:49 -07:00
db_test.go Merge branch 'main' into linter/nilerr 2023-04-19 19:56:39 +02:00
example_test.go storage: allow re-use of iterators 2022-12-15 18:32:45 +00:00
exemplar.go lint: Adjust to the lint warnings raised by current versions of golint-ci 2023-04-19 17:10:10 +02:00
exemplar_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
head.go [tsdb] re-implement WAL watcher to read via a "notification" channel (#11949) 2023-05-15 12:31:49 -07:00
head_append.go [tsdb] re-implement WAL watcher to read via a "notification" channel (#11949) 2023-05-15 12:31:49 -07: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 style: Replace `else if` cascades with `switch` 2023-04-19 17:22:31 +02:00
head_read_test.go Fix merge conflicts 2022-10-11 22:53:37 +05:30
head_test.go Merge pull request #12055 from leizor/leizor/prometheus/issues/12009 2023-05-10 14:45:12 +02:00
head_wal.go Merge branch 'main' into linter/nilerr 2023-04-19 19:56:39 +02:00
isolation.go enable gocritic, unconvert and unused linters 2023-04-13 19:20:22 +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
ooo_head.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
ooo_head_read.go style: Replace `else if` cascades with `switch` 2023-04-19 17:22:31 +02:00
ooo_head_read_test.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
ooo_head_test.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
querier.go MatchNotRegexp optimization 2023-05-10 20:08:38 -07:00
querier_bench_test.go MatchNotRegexp optimization 2023-05-10 20:08:38 -07:00
querier_test.go Copy tombstone intervals to avoid race (#12245) 2023-05-17 15:15:12 +02:00
repair.go
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 Merge branch 'main' into linter/nilerr 2023-04-19 19:56:39 +02:00
wal_test.go TSDB: Rename wal package to wlog (#11352) 2022-10-10 20:38:46 +05:30

README.md

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: