prometheus/tsdb
beorn7 7a8bb8222c Style cleanup of all the changes in sparsehistogram so far
A lot of this code was hacked together, literally during a
hackathon. This commit intends not to change the code substantially,
but just make the code obey the usual style practices.

A (possibly incomplete) list of areas:

* Generally address linter warnings.

* The `pgk` directory is deprecated as per dev-summit. No new packages should
  be added to it. I moved the new `pkg/histogram` package to `model`
  anticipating what's proposed in #9478.

* Make the naming of the Sparse Histogram more consistent. Including
  abbreviations, there were just too many names for it: SparseHistogram,
  Histogram, Histo, hist, his, shs, h. The idea is to call it "Histogram" in
  general. Only add "Sparse" if it is needed to avoid confusion with
  conventional Histograms (which is rare because the TSDB really has no notion
  of conventional Histograms). Use abbreviations only in local scope, and then
  really abbreviate (not just removing three out of seven letters like in
  "Histo"). This is in the spirit of
  https://github.com/golang/go/wiki/CodeReviewComments#variable-names

* Several other minor name changes.

* A lot of formatting of doc comments. For one, following
  https://github.com/golang/go/wiki/CodeReviewComments#comment-sentences
  , but also layout question, anticipating how things will look like
  when rendered by `godoc` (even where `godoc` doesn't render them
  right now because they are for unexported types or not a doc comment
  at all but just a normal code comment - consistency is queen!).

* Re-enabled `TestQueryLog` and `TestEndopints` (they pass now,
  leaving them disabled was presumably an oversight).

* Bucket iterator for histogram.Histogram is now created with a
  method.

* HistogramChunk.iterator now allows iterator recycling. (I think
  @dieterbe only commented it out because he was confused by the
  question in the comment.)

* HistogramAppender.Append panics now because we decided to treat
  staleness marker differently.

Signed-off-by: beorn7 <beorn@grafana.com>
2021-10-11 13:02:03 +02:00
..
chunkenc Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02:00
chunks Add new Go build tags. 2021-08-27 10:24:14 +02:00
docs/format Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02:00
encoding Log sparse histograms into WAL and replay from it (#9191) 2021-08-11 17:38:48 +05:30
errors MultiError: Refactored MultiError for more concise and safe usage. (#8066) 2020-10-28 15:24:58 +00:00
fileutil Add new Go build tags. 2021-08-27 10:24:14 +02:00
goversion Add new Go build tags. 2021-08-27 10:24:14 +02:00
index Replace calls to strings.Compare (#9397) 2021-09-27 17:33:53 +05:30
record Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02: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 Call delete on head if interval overlaps (#9151) 2021-09-16 12:20:03 +05:30
tsdbutil Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02:00
wal Sync sparsehistogram branch with main (#9189) 2021-08-11 15:43:17 +05:30
.gitignore Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
block.go LabelNames API with matchers (#9083) 2021-07-20 18:08:08 +05:30
block_test.go LabelNames API with matchers (#9083) 2021-07-20 18:08:08 +05:30
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
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01:00
compact.go Switched to go-kit/log 2021-06-11 12:28:36 -04:00
compact_test.go Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02:00
db.go Call delete on head if interval overlaps (#9151) 2021-09-16 12:20:03 +05:30
db_test.go Also ignore func1 2021-08-28 22:42:22 -04:00
exemplar.go Fix div by 0 panic is resize function. (#9286) 2021-09-02 11:08:05 -07:00
exemplar_test.go Fix div by 0 panic is resize function. (#9286) 2021-09-02 11:08:05 -07:00
head.go Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02:00
head_append.go Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02:00
head_bench_test.go React UI: Add Starting Screen (#8662) 2021-06-05 15:29:32 +01:00
head_read.go Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02:00
head_test.go Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02:00
head_wal.go Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +02:00
isolation.go Add present_over_time (#9097) 2021-07-29 12:38:11 +02:00
isolation_test.go tsdb: Block Head GC till pending readers are done reading (#9081) 2021-07-20 14:17:20 +05:30
mocks_test.go Move away from testutil, refactor imports (#8087) 2020-10-22 11:00:08 +02:00
querier.go Style cleanup of all the changes in sparsehistogram so far 2021-10-11 13:02:03 +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
README.md Link 2 more TSDB blog posts in tsdb/README.md (#9371) 2021-09-21 21:35:33 +05:30
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 Add new Go build tags. 2021-08-27 10:24:14 +02: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: