The Prometheus monitoring system and time series database.
Find a file
Fabian Reinartz d951140ab8 wal: avoid heap allocation in WAL reader
The buffers we allocated were escaping to the heap, resulting in large
memory usage spikes during startup and checkpointing in Prometheus.
This attaches the buffer to the reader object to prevent this.

Signed-off-by: Fabian Reinartz <freinartz@google.com>
2018-07-19 07:25:30 -04:00
chunkenc fix some comments typos (#315) 2018-04-08 10:28:30 +01:00
chunks Make interval overlap comparisons more explicit 2018-07-02 10:35:08 +02:00
cmd/tsdb Merge pull request #256 from mattbostock/fix_bench_default_file 2018-05-15 10:25:56 +03:00
docs/format Merge pull request #250 from simonpasquier/update-doc 2018-04-03 12:19:29 +05:30
fileutil Add checkpointing of WAL segments 2018-07-19 07:24:40 -04:00
index Add unit tests 2018-06-25 11:25:22 +02:00
labels Fix labels bench test 2018-03-22 12:28:09 +08: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 remove Nil/NotNil functions 2017-12-08 13:42:08 -08:00
tsdbutil use test utils in buffer_test 2017-12-06 17:15:02 -08:00
wal wal: avoid heap allocation in WAL reader 2018-07-19 07:25:30 -04:00
.gitignore Add default benchmark output dir to .gitignore 2018-01-14 11:07:52 +00:00
.travis.yml Test with Go 1.10.x too. 2018-05-07 12:12:58 +03:00
block.go Merge branch 'master' of https://github.com/prometheus/tsdb into tsdb-delete 2018-07-06 20:21:32 +08:00
block_test.go add rwmutex to prevent concurrent map read when delete series 2018-06-08 19:52:01 +08:00
checkpoint.go Add checkpointing of WAL segments 2018-07-19 07:24:40 -04:00
checkpoint_test.go Integrate new WAL and checkpoints 2018-07-19 07:25:30 -04:00
compact.go Merge branch 'master' of https://github.com/prometheus/tsdb into tsdb-delete 2018-07-06 20:21:32 +08:00
compact_test.go Fixed some comments. 2018-03-13 15:30:00 +00:00
db.go Ensure blocks are time-ordered in memory 2018-07-19 07:25:30 -04:00
db_test.go Ensure blocks are time-ordered in memory 2018-07-19 07:25:30 -04:00
encoding_helpers.go Fix minor typos in comments 2018-01-15 14:27:49 +01:00
head.go Integrate new WAL and checkpoints 2018-07-19 07:25:30 -04:00
head_test.go Integrate new WAL and checkpoints 2018-07-19 07:25:30 -04:00
LICENSE Add license file 2017-04-10 21:02:42 +02:00
querier.go add rwmutex to prevent concurrent map read when delete series 2018-06-08 19:52:01 +08:00
querier_test.go rename mts to intvlGroups 2018-07-10 21:24:13 +08:00
README.md Add link to PromCon 2017 video. 2018-06-04 14:41:43 +02:00
record.go Add checkpointing of WAL segments 2018-07-19 07:24:40 -04:00
record_test.go Add checkpointing of WAL segments 2018-07-19 07:24:40 -04:00
repair.go repair + compact: Improved logging for easier future debug purposes. 2018-03-15 14:59:32 +00:00
repair_test.go Add test for block meta version and comments 2018-02-12 11:46:22 +01:00
tombstones.go rename mts to intvlGroups 2018-07-10 21:24:13 +08:00
tombstones_test.go remove put function and use RLock in Iter function 2018-06-25 21:52:11 +08:00
wal.go Fix ineffective assignment. 2018-05-07 16:02:49 +03:00
wal_test.go fix megacheck issues: os.SEEK_SET is deprecated: Use io.SeekStart, io.SeekCurrent, and io.SeekEnd. 2018-03-21 22:39:15 +01:00

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.

Video: Storing 16 Bytes at Scale from PromCon 2017.

See also the format documentation.