Go to file
Brian Brazil 296f943ec4
More efficient Merge implementation. (#486)
Avoid a tree of merge objects, which can result in
what I suspect is n^2 calls to Seek when using Without.

With 100k metrics, and a regex of ^$ in BenchmarkHeadPostingForMatchers:

Before:
BenchmarkHeadPostingForMatchers-8              1        51633185216 ns/op      29745528 B/op      200357 allocs/op

After:
BenchmarkHeadPostingForMatchers-8             10         108924996 ns/op 25715025 B/op     101748 allocs/op

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
2019-01-03 16:59:52 +00:00
chunkenc Make newBReader return a struct, not a pointer. (#459) 2018-11-22 13:21:57 +05:30
chunks Make interval overlap comparisons more explicit 2018-07-02 10:35:08 +02:00
cmd/tsdb fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
docs/format add missing zero to tombstone magic number (#448) 2018-11-09 13:37:02 +02:00
fileutil Add license headers to missing files (#447) 2018-11-06 20:19:42 +02:00
index More efficient Merge implementation. (#486) 2019-01-03 16:59:52 +00:00
labels fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
test index: simplify checksum validation 2017-11-09 15:58:36 +00:00
testdata Add repair test 2018-02-09 13:43:42 +01:00
testutil fileutil: remove dependency on prometheus/prometheus 2018-10-15 17:21:20 +02:00
tsdbutil Add license headers to missing files (#447) 2018-11-06 20:19:42 +02:00
wal Add WALSegmentSize as an option of tsdb creation (#450) 2018-12-18 21:56:51 +03:00
.gitignore Add default benchmark output dir to .gitignore 2018-01-14 11:07:52 +00:00
.travis.yml fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
CHANGELOG.md remove unused `PrefixMatcher` (#474) 2018-12-28 21:13:02 +03:00
LICENSE Add license file 2017-04-10 21:02:42 +02:00
MAINTAINERS.md add maintainers file (#404) 2018-10-15 14:32:00 +03:00
Makefile fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
Makefile.common Use Go modules (#454) 2018-11-28 11:39:56 +01:00
README.md comments about the 120samples const and link to Gorilla papers. (#423) 2018-10-23 13:43:06 +03:00
block.go Reduce memory taken up by posting/symbol tables. 2018-11-22 09:36:39 +00:00
block_test.go rename createPopulatedBlock to createBlock and use it instead ot createEmptyBlock (#488) 2018-12-29 14:20:51 +03:00
checkpoint.go Typo fixed: "inlcuding" -> "including" (#462) 2018-12-04 01:14:37 +03:00
checkpoint_test.go fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
compact.go Use already open blocks while compacting. (#441) 2018-11-15 12:20:54 +00:00
compact_test.go fix flaky tests: TestDisableAutoCompactions,TestBlockRanges (#472) 2018-12-12 14:49:03 +03:00
db.go remove unused WALFlushInterval option and NopWAL struct (#468) 2018-12-28 20:42:46 +03:00
db_test.go fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
encoding_helpers.go Add license headers to missing files (#447) 2018-11-06 20:19:42 +02:00
go.mod Use Go modules (#454) 2018-11-28 11:39:56 +01:00
go.sum Use Go modules (#454) 2018-11-28 11:39:56 +01:00
head.go Move series fetches out of inner loop of SortedPostings. (#485) 2019-01-03 10:35:10 +00:00
head_bench_test.go Move series fetches out of inner loop of SortedPostings. (#485) 2019-01-03 10:35:10 +00:00
head_test.go fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
mocks_test.go fix lint errors (#439) 2018-11-14 18:40:01 +02:00
querier.go fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
querier_test.go rename createPopulatedBlock to createBlock and use it instead ot createEmptyBlock (#488) 2018-12-29 14:20:51 +03:00
record.go fix lint errors (#439) 2018-11-14 18:40:01 +02:00
record_test.go Add checkpointing of WAL segments 2018-07-19 07:24:40 -04:00
repair.go fix some typos (#466) 2018-12-07 12:24:02 +03:00
repair_test.go fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
staticcheck.conf fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
tombstones.go fix lint errors (#439) 2018-11-14 18:40:01 +02:00
tombstones_test.go fix lint errors (#439) 2018-11-14 18:40:01 +02:00
wal.go fix statick check errors (#475) 2019-01-02 19:48:42 +03:00
wal_test.go fix statick check errors (#475) 2019-01-02 19:48:42 +03:00

README.md

TSDB Build Status

GoDoc Go Report Card

This repository 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.