prometheus/tsdb
Dieter Plaetinck 58917d1b76
sparsehistogram: integer types and timestamp separation (#9014)
* integer types and timestamp separation

1) unify types to int64. as suggested by beorn. we want to support
   counters going down (resets) even if we plan to create new chunks for
   now, in that case
2) histogram type doesn't know its own timestamp. include it separately
   in appending and iteration

Signed-off-by: Dieter Plaetinck <dieter@grafana.com>

* correction: count and zeroCount to remain unsigned

to make api more resilient and that's what we use in protobuf anyway

Signed-off-by: Dieter Plaetinck <dieter@grafana.com>

* temp hack. Ganesh will fix

Signed-off-by: Dieter Plaetinck <dieter@grafana.com>
2021-06-29 19:27:59 +05:30
..
chunkenc sparsehistogram: integer types and timestamp separation (#9014) 2021-06-29 19:27:59 +05:30
chunks Stop the bleed on chunk mapper panic (#8723) 2021-05-06 14:18:59 -06:00
docs/format Add Exemplar Remote Write support (#8296) 2021-05-06 13:53:52 -07:00
encoding
errors MultiError: Refactored MultiError for more concise and safe usage. (#8066) 2020-10-28 15:24:58 +00:00
fileutil More info in mmap error message (#8058) 2020-10-15 12:58:13 +05:30
goversion
index typos correct 2021-05-20 09:52:33 +08:00
record Add Exemplar Remote Write support (#8296) 2021-05-06 13:53:52 -07:00
test labels: Reduce allocated memory and latency of Hash method; Added tests. (#8025) 2020-10-15 11:31:28 +01:00
testdata tsdb: Delete blocks atomically; Remove tmp blocks on start; Added test. (#7772) 2020-08-11 06:56:08 +01:00
tombstones Switched to go-kit/log 2021-06-11 12:28:36 -04:00
tsdbutil storage: Split chunks if more than 120 samples (#8582) 2021-05-18 18:37:16 +02:00
wal Switched to go-kit/log 2021-06-11 12:28:36 -04:00
.gitignore
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
README.md Replace godoc.org links 2021-06-17 07:18:51 -04:00
block.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
block_test.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
blockwriter.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
blockwriter_test.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
compact.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
compact_test.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
db.go Add `prometheus_tsdb_clean_start` metric (#8824) 2021-06-16 15:03:02 +05:30
db_test.go Added ignore 2021-06-17 10:04:52 -04:00
exemplar.go validate exemplar labelSet length first (#8816) 2021-05-12 20:17:05 +05:30
exemplar_test.go typos correct 2021-05-20 09:52:33 +08:00
head.go sparsehistogram: integer types and timestamp separation (#9014) 2021-06-29 19:27:59 +05:30
head_bench_test.go React UI: Add Starting Screen (#8662) 2021-06-05 15:29:32 +01:00
head_test.go React UI: Add Starting Screen (#8662) 2021-06-05 15:29:32 +01:00
isolation.go
isolation_test.go
mocks_test.go Move away from testutil, refactor imports (#8087) 2020-10-22 11:00:08 +02:00
querier.go Correct spelling of "iterable" (#8713) 2021-04-12 21:43:42 +01:00
querier_bench_test.go React UI: Add Starting Screen (#8662) 2021-06-05 15:29:32 +01:00
querier_test.go React UI: Add Starting Screen (#8662) 2021-06-05 15:29:32 +01:00
repair.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
repair_test.go React UI: Add Starting Screen (#8662) 2021-06-05 15:29:32 +01:00
tsdbblockutil.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
wal.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
wal_test.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00

README.md

TSDB

GoPkg

This directory contains the Prometheus storage layer that is used in its 2.x releases.

A writeup of its design can be found here.

Based on the Gorilla TSDB white papers.

Video: Storing 16 Bytes at Scale from PromCon 2017.

See also the format documentation.

A series of blog posts explaining different components of TSDB: