prometheus/tsdb
Bryan Boreham 9dfdc3eb36
Speed up BenchmarkPostings_Stats (#9213)
The previous code re-used series IDs 1-1000 many times over, so a lot
of time was spent ensuring the lists of series were in ascending order.
The intended use of `MemPostings.Add()` is that all series IDs are
unique, and changing the benchmark to do this lets it finish ten times
faster.

(It doesn't affect the benchmark result, just the setup code)

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2021-08-18 10:27:21 +01:00
..
chunkenc remove redundant parentheses (#9134) 2021-07-29 18:26:57 +05:30
chunks remove redundant parentheses (#9134) 2021-07-29 18:26:57 +05:30
docs/format Snapshot in-memory chunks on shutdown for faster restarts (#7229) 2021-08-06 17:51:01 +01:00
encoding Snapshot in-memory chunks on shutdown for faster restarts (#7229) 2021-08-06 17:51:01 +01:00
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 tsdb: test for leaks (#7566) 2020-07-21 10:08:06 +02:00
index Speed up BenchmarkPostings_Stats (#9213) 2021-08-18 10:27:21 +01: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 Snapshot in-memory chunks on shutdown for faster restarts (#7229) 2021-08-06 17:51:01 +01:00
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block_test.go LabelNames API with matchers (#9083) 2021-07-20 18:08:08 +05:30
block.go LabelNames API with matchers (#9083) 2021-07-20 18:08:08 +05:30
blockwriter_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
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact_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
db_test.go tsdb: Block Head GC till pending readers are done reading (#9081) 2021-07-20 14:17:20 +05:30
db.go Snapshot in-memory chunks on shutdown for faster restarts (#7229) 2021-08-06 17:51:01 +01:00
exemplar_test.go Exemplar resize (#8974) 2021-07-20 10:22:57 +05:30
exemplar.go Exemplar resize (#8974) 2021-07-20 10:22:57 +05:30
head_append.go Snapshot in-memory chunks on shutdown for faster restarts (#7229) 2021-08-06 17:51:01 +01:00
head_bench_test.go React UI: Add Starting Screen (#8662) 2021-06-05 15:29:32 +01:00
head_read.go Breakdown tsdb/head.go into multiple files (#9147) 2021-08-03 14:14:26 +02:00
head_test.go Fix bugs and add enhancements to the chunk snapshot (#9185) 2021-08-17 18:08:16 +01:00
head_wal.go Fix bugs and add enhancements to the chunk snapshot (#9185) 2021-08-17 18:08:16 +01:00
head.go Fix bugs and add enhancements to the chunk snapshot (#9185) 2021-08-17 18:08:16 +01:00
isolation_test.go tsdb: Block Head GC till pending readers are done reading (#9081) 2021-07-20 14:17:20 +05:30
isolation.go Add present_over_time (#9097) 2021-07-29 12:38:11 +02:00
mocks_test.go Move away from testutil, refactor imports (#8087) 2020-10-22 11:00:08 +02:00
querier_bench_test.go React UI: Add Starting Screen (#8662) 2021-06-05 15:29:32 +01:00
querier_test.go LabelNames API with matchers (#9083) 2021-07-20 18:08:08 +05:30
querier.go LabelNames API with matchers (#9083) 2021-07-20 18:08:08 +05:30
README.md Replace godoc.org links 2021-06-17 07:18:51 -04:00
repair_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
tsdbblockutil.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
wal.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00

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: