The Prometheus monitoring system and time series database.
Find a file
Krasi Georgiev 5d27fc48a8 fileutil.Replace - remove destination only when a directory.
In cases where a rename fails the fileutil.Replace would delete the
source files/folder.

There is no easy way to make directory renaming atomic, but for files
os.Rename is atomic and replaced the destination file so there is no
need to remove the destination file explicitly.

Signed-off-by: Krasi Georgiev <8903888+krasi-georgiev@users.noreply.github.com>
2019-06-19 12:10:51 +03:00
.github github template for PRs (#624) 2019-06-07 10:43:04 +02:00
chunkenc Add FromData function (again)! (#600) 2019-05-06 19:17:26 +05:30
chunks remove Fsync workaround for macos. (#574) 2019-04-03 11:16:54 +03:00
cmd/tsdb Fix make bench (#610) 2019-06-03 22:37:24 +02:00
docs/format docs: add label offset table and postings offset table (#593) 2019-05-02 23:23:58 +03:00
encoding Fix exported function comments (#566) 2019-03-25 10:17:28 +02:00
errors Test createBlock and check all os.RemoveAll in the tests for errors. (#549) 2019-03-19 15:31:57 +02:00
fileutil fileutil.Replace - remove destination only when a directory. 2019-06-19 12:10:51 +03:00
goversion remove Fsync workaround for macos. (#574) 2019-04-03 11:16:54 +03:00
index Improvement on postings intersection (#616) 2019-06-11 10:14:25 +02:00
labels Optimize queries using regex matchers for set lookups (#602) 2019-05-27 16:54:46 +05:30
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 Test to corrupt segments mid-WAL, repair and check we can read the correct number of records. (#528) 2019-02-18 19:05:07 +00:00
tsdbutil Add license headers to missing files (#447) 2018-11-06 20:19:42 +02:00
wal Merge pull request #628 from prometheus/beorn7/client_golang 2019-06-14 15:19:59 +02:00
.gitignore Add default benchmark output dir to .gitignore 2018-01-14 11:07:52 +00:00
.golangci.yml Synchronize Makefile.common from prometheus/prometheus (#591) 2019-04-25 12:29:09 +03:00
.travis.yml remove Fsync workaround for macos. (#574) 2019-04-03 11:16:54 +03:00
block.go cleanup tmp files (#570) 2019-04-26 11:27:36 +03:00
block_test.go Add e2e benchmarks for head and block Queries (#467) 2019-06-07 15:41:44 +02:00
CHANGELOG.md Release 0.8.0 (#607) 2019-05-17 13:39:03 +03:00
checkpoint.go Test createBlock and check all os.RemoveAll in the tests for errors. (#549) 2019-03-19 15:31:57 +02:00
checkpoint_test.go Test createBlock and check all os.RemoveAll in the tests for errors. (#549) 2019-03-19 15:31:57 +02:00
compact.go fix the "failed compaction" metric. (#613) 2019-05-30 13:57:28 +02:00
compact_test.go fix two benchmarks (#631) 2019-06-14 14:30:49 +02:00
db.go move the wal repair logic in db.Open (#633) 2019-06-14 17:39:22 +02:00
db_test.go Correctly handle empty labels. (#594) 2019-05-07 11:00:16 +01:00
go.mod Update prometheus/client_golang to v1.0.0 (#635) 2019-06-17 20:54:10 +03:00
go.sum Update prometheus/client_golang to v1.0.0 (#635) 2019-06-17 20:54:10 +03:00
head.go move the wal repair logic in db.Open (#633) 2019-06-14 17:39:22 +02:00
head_bench_test.go Simplify mergedPostings.Seek (#595) 2019-05-13 10:51:07 +01:00
head_test.go move the wal repair logic in db.Open (#633) 2019-06-14 17:39:22 +02: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 Update Makefile.common (#548) 2019-03-13 10:40:17 +02:00
Makefile.common Synchronize Makefile.common from prometheus/prometheus (#632) 2019-06-14 10:53:17 +02:00
mocks_test.go Vertical query merging and compaction (#370) 2019-02-14 14:29:41 +01:00
querier.go Optimize queries using regex matchers for set lookups (#602) 2019-05-27 16:54:46 +05:30
querier_test.go Add e2e benchmarks for head and block Queries (#467) 2019-06-07 15:41:44 +02:00
README.md README: move the build badge to the badge list (#555) 2019-03-18 14:44:58 +02:00
record.go Merge encoding_helpers.go to tsdbutil (#526) 2019-02-22 19:11:11 +02:00
record_test.go Add test for be64() in encoding/encoding.go (#521) (#533) 2019-02-23 11:51:47 +02:00
repair.go cleanup tmp files (#570) 2019-04-26 11:27:36 +03:00
repair_test.go fix some unchecked errors and remove unused vars. (#592) 2019-04-25 13:07:04 +03:00
tombstones.go cleanup tmp files (#570) 2019-04-26 11:27:36 +03:00
tombstones_test.go cleanup tmp files (#570) 2019-04-26 11:27:36 +03:00
wal.go Make objectives of Summaries explicit 2019-06-14 14:17:24 +02:00
wal_test.go fix some unchecked errors and remove unused vars. (#592) 2019-04-25 13:07:04 +03: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.

Based on the Gorilla TSDB white papers.

Video: Storing 16 Bytes at Scale from PromCon 2017.

See also the format documentation.