Martin Disibio 1bcd13d6b5
Exemplar resize (#8974)
* Create experimental circular buffer resize method, benchmarks

Signed-off-by: Martin Disibio <mdisibio@gmail.com>

* Optimize exemplar resize to only replay as many exemplars as needed

Signed-off-by: Martin Disibio <mdisibio@gmail.com>

* More comments, benchmark AddExemplar

Signed-off-by: Martin Disibio <mdisibio@gmail.com>

* optimizations

Signed-off-by: Martin Disibio <mdisibio@gmail.com>

* comment

Signed-off-by: Martin Disibio <mdisibio@gmail.com>

* Slight refactor of resize benchmark + make use of resize via runtime
reloadable storage config.

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Some more config related changes.

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Address some review comments.

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Address more review comments.

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Refactor to remove usage of noopExemplarStorage and avoid race condition
when resizing from Head code.

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Fix or add comments to clarify some of the new behaviour.

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* fix potential panics related to negative exemplar buffer lengths

Signed-off-by: Callum Styan <callumstyan@gmail.com>

Co-authored-by: Callum Styan <callumstyan@gmail.com>
2021-07-20 10:22:57 +05:30
..
2019-12-16 15:30:49 +00:00
2020-07-21 10:08:06 +02:00
2021-05-20 09:52:33 +08:00
2021-06-11 12:28:36 -04:00
2021-06-11 12:28:36 -04:00
2021-06-11 12:28:36 -04:00
2021-06-11 12:28:36 -04:00
2021-06-11 12:28:36 -04:00
2021-06-11 12:28:36 -04:00
2021-02-22 20:28:02 +01:00
2021-06-11 12:28:36 -04:00
2021-06-11 12:28:36 -04:00
2021-06-17 10:04:52 -04:00
2021-07-20 10:22:57 +05:30
2021-07-20 10:22:57 +05:30
2021-07-20 10:22:57 +05:30
2021-07-20 10:22:57 +05:30
2021-07-20 10:22:57 +05:30
2021-06-17 07:18:51 -04:00
2021-06-11 12:28:36 -04:00
2021-06-11 12:28:36 -04:00
2021-06-11 12:28:36 -04:00
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: