Commit graph

1085 commits

Author SHA1 Message Date
Ganesh Vernekar 3df36b4fe0
Merge pull request #664 from prometheus/makefile_common
Synchronize Makefile.common from prometheus/prometheus
2019-07-20 12:03:45 +05:30
prombot 0a3c2e33c3 makefile: update Makefile.common with newer version
Signed-off-by: prombot <prometheus-team@googlegroups.com>
2019-07-20 00:02:49 +00:00
Yao Zengzeng bff3ef3db4 minor enhancement: return multi error when closeAll() (#663)
Signed-off-by: YaoZengzeng <yaozengzeng@zju.edu.cn>
2019-07-19 12:16:34 +03:00
Ganesh Vernekar 7dd5e177aa
Merge pull request #662 from csmarchbanks/wal-replay-logs
Add logging during WAL replay
2019-07-15 11:20:52 +05:30
Chris Marchbanks 0cd46f8762
Add logging during WAL replay
Signed-off-by: Chris Marchbanks <csmarchbanks@gmail.com>
2019-07-13 11:10:44 -06:00
Ganesh Vernekar 3bc1ea3d75
Reuse byte buffer in WriteChunks and writeHash (#653)
* Re-use byte buffer in WriteChunks and writeHash

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Add CHANGELOG entry

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Fix review comments

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Remove old comment

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2019-07-12 18:42:34 +05:30
Bartek Płotka 45ee02add5
Merge pull request #658 from johncming/fix-comment
chunks: correct the interface name
2019-07-12 01:21:01 +02:00
johncming 84d71073f1 chunks: correct the interface name
Signed-off-by: johncming <johncming@yahoo.com>
2019-07-12 06:35:04 +08:00
Ganesh Vernekar 0fdd93b0b9
Breakdown generic writeOffsetTable (#643)
* Breakdown generic writeOffsetTable into writeLabelIndexesOffsetTable and writePostingsOffsetTable

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Add CHANGELOG entry

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Remove CHANGELOG entry

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2019-07-10 12:01:44 +05:30
Ganesh Vernekar b5b8c9200c
Reuse string buffer in stringTuples.Swap (#654)
* Reuse string buffer when swapping stringTuples

This reduces the allocs of WriteLabelIndex significantly.

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Fix review comments

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Add CHANGELOG entry

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2019-07-10 11:58:28 +05:30
Ganesh Vernekar b1cd829030
Reuse Chunk Iterator (#642)
* Reset method for chunkenc.Iterator

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Reset method only for XORIterator

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Use Reset(...) in querier.go

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Reuse deletedIterator

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Another way of reusing chunk iterators

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Unexport xorIterator

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Fix memSeries.iterator(...)

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Add some comments

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2019-07-09 15:19:34 +05:30
Ganesh Vernekar 8dfa537843
Re-use 'keys' in ReadOffsetTable (#645)
* Re-use 'keys' in ReadOffsetTable

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Add comment

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2019-07-09 15:16:42 +05:30
Frederic Branczyk d230c67aa1
Merge pull request #649 from prometheus/lr-inject-metrics
wal: Inject LiveReader metrics rather than registry
2019-07-03 14:58:22 +02:00
Frederic Branczyk 078895bf56
wal: Inject LiveReader metrics rather than registry
LiveReaders are instantiated `number of remote write queues * segments`
times, which would cause double registration of the metrics. Instead
this should be orchestrated by the layer above, instantiating the live
reader.

Signed-off-by: Frederic Branczyk <fbranczyk@gmail.com>
2019-07-03 14:39:25 +02:00
Bartek Płotka 7ef10186b4 Added missing entries to CHANGELOG for 0.9.0 (#648)
Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
2019-07-03 14:35:59 +03:00
Bartek Płotka a272e7ec60 Cut TSDB release 0.9.0 (#647)
Added newline as it is requires for some markdown renderers.

Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
2019-07-03 14:01:53 +03:00
Krasi Georgiev 31f7990d1d
Re-encode chunks that are still being appended to when snapshoti… (#641)
* re encode all head chunks outside the time range.

Signed-off-by: Krasi Georgiev <8903888+krasi-georgiev@users.noreply.github.com>
2019-07-03 13:47:31 +03:00
Bartek Płotka dc657df591
Merge pull request #644 from codesome/error-wrap
Check error before wrapping
2019-07-02 11:53:53 +01:00
Ganesh Vernekar 0dcaf10564
Check error before wrapping
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2019-07-02 16:05:27 +05:30
PrometheusBot ee010e9fab Synchronize Makefile.common from prometheus/prometheus (#640)
Signed-off-by: prombot <prometheus-team@googlegroups.com>
2019-06-26 12:06:29 +03:00
Krasi Georgiev 8d86e921cf
refactor block size calculation (#637)
* refactor block size calculation
The block size is kept in memory and not in the meta file anymore.
It now includes the size of the meta file itself for a more
correct block size.
It fixes a bug where the size didn't change when calling `block.Delete()`.
Adds a dedicated test to ensure correct block sizes.
This allows opening a db in a read only mode as it doesn't write to the meta file anymore.

Signed-off-by: Krasi Georgiev <8903888+krasi-georgiev@users.noreply.github.com>
2019-06-24 18:42:29 +03:00
Bartek Płotka b5f9f9f0b4
Merge pull request #636 from krasi-georgiev/rename-bug
fileutil.Replace - remove destination only when a directory.
2019-06-24 13:17:41 +01:00
PrometheusBot d501ae4f6e makefile: update Makefile.common with newer version (#638)
Signed-off-by: prombot <prometheus-team@googlegroups.com>
2019-06-24 11:52:42 +03:00
Krasi Georgiev 251c3a4d64 comment
Signed-off-by: Krasi Georgiev <8903888+krasi-georgiev@users.noreply.github.com>
2019-06-24 11:51:49 +03:00
Krasi Georgiev fe3d374586 Merge branch 'master' into rename-bug
Signed-off-by: Krasi Georgiev <8903888+krasi-georgiev@users.noreply.github.com>
2019-06-24 11:50:41 +03:00
Chris Marchbanks 92d15169fc Print label names with highest cumulative label value length during tsdb analyze (#626)
Signed-off-by: Ryan Scott <rscott@splunk.com>
Co-authored-by: Chris Marchbanks <csmarchbanks@gmail.com>
2019-06-21 11:07:50 +03:00
Chris Marchbanks b40cc43958 Provide option to compress WAL records (#609)
In running Prometheus instances, compressing the records was shown to
reduce disk usage by half while incurring a negligible CPU cost.

Signed-off-by: Chris Marchbanks <csmarchbanks@gmail.com>
2019-06-19 16:46:24 +03:00
Krasi Georgiev ef9b3461c5 fixed the err handling and better comment
Signed-off-by: Krasi Georgiev <8903888+krasi-georgiev@users.noreply.github.com>
2019-06-19 14:27:19 +03:00
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
Björn Rabenstein c2c921af75 Update prometheus/client_golang to v1.0.0 (#635)
Signed-off-by: beorn7 <beorn@grafana.com>
2019-06-17 20:54:10 +03:00
Krasi Georgiev 69740485c1
move the wal repair logic in db.Open (#633)
* move the wal repair logic in db.Open

This is to allow opening a wal in a read oly mode without triggering a
repair.

Signed-off-by: Krasi Georgiev <8903888+krasi-georgiev@users.noreply.github.com>
2019-06-14 17:39:22 +02:00
Björn Rabenstein 4892da59eb
Merge pull request #628 from prometheus/beorn7/client_golang
Make objectives of Summaries explicit
2019-06-14 15:19:59 +02:00
naivewong b05ca5c36e fix two benchmarks (#631)
* fix two benchmarks

Signed-off-by: naivewong <867245430@qq.com>
2019-06-14 14:30:49 +02:00
beorn7 90a7612df3 Make objectives of Summaries explicit
With the next release of client_golang, Summaries will not have
objectives by default.

As it turns out, for prometheus_tsdb_head_gc_duration_seconds and
prometheus_tsdb_wal_truncate_duration_seconds, the objective-less
default makes more sense then the current default.

To make sure we do the right thing before and after the upcoming
release of client_golang, I have set the objectives explicitly
wherever that was not the case so far:

- prometheus_tsdb_head_gc_duration_seconds and
  prometheus_tsdb_wal_truncate_duration_seconds now have no objectives
  explicitly.
- prometheus_tsdb_wal_fsync_duration_seconds now explicitly uses the
  previous default objectives.

Signed-off-by: beorn7 <beorn@grafana.com>
2019-06-14 14:17:24 +02:00
PrometheusBot cb4a085709 Synchronize Makefile.common from prometheus/prometheus (#632)
Signed-off-by: prombot <prometheus-team@googlegroups.com>
2019-06-14 10:53:17 +02:00
Krasi Georgiev 3549c097b4
add some comments for the different WAL repair tests (#630)
The WAL repair tests look similar so added some extra comments to
clarify their purpose.

Signed-off-by: Krasi Georgiev <8903888+krasi-georgiev@users.noreply.github.com>
2019-06-12 16:10:37 +02:00
naivewong 6ab483071a Improvement on postings intersection (#616)
* improvement on postings intersection

Signed-off-by: naivewong <867245430@qq.com>
2019-06-11 10:14:25 +02:00
Krasi Georgiev e809cb477d
Add e2e benchmarks for head and block Queries (#467)
* Add e2e had and block query benchmarks

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2019-06-07 15:41:44 +02:00
Brian Brazil be4edbe174
Start a new WAL segement on head truncation. (#605)
This reduces disk space usage to not be a minimum of 3 128MB files
in small setups. This will possibly also help debug wal data issues,
by making things a bit more deterministic.

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
2019-06-07 11:35:02 +01:00
Krasi Georgiev 48c4dc63ea
github template for PRs (#624)
Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2019-06-07 10:43:04 +02:00
PrometheusBot 4b9970053f makefile: update Makefile.common with newer version (#625)
Signed-off-by: prombot <prometheus-team@googlegroups.com>
2019-06-07 10:03:51 +02:00
Brian Brazil 149c5dc73a
Handle multiple refs for the same series when WAL reading. (#623)
This can happen if a given series is created/truncated/recreated.

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
2019-06-06 14:28:54 +01:00
Frederic Branczyk 731ed22ac8
Merge pull request #622 from prometheus/live-reader-metric-suffix
wal: Add `_total` suffix as metric is a counter
2019-06-05 10:02:23 +02:00
Frederic Branczyk e708ba1d14
wal: Add _total suffix as metric is a counter
Signed-off-by: Frederic Branczyk <fbranczyk@gmail.com>
2019-06-05 09:24:25 +02:00
mrasu 3db36f021b Fix make bench (#610)
Remove  flag -log.level
Signed-off-by: mrasu <m.rasu.hitsuji@gmail.com>
2019-06-03 22:37:24 +02:00
Frederic Branczyk b800a89ae3
Merge pull request #619 from prometheus/remove-promauto
wal: Replace promauto with injected registry
2019-06-03 20:07:15 +02:00
Frederic Branczyk abd15845e2
wal: Replace promauto with injected registry
Signed-off-by: Frederic Branczyk <fbranczyk@gmail.com>
2019-06-03 12:29:52 +02:00
Krasi Georgiev 882162d5b9
fix the "failed compaction" metric. (#613)
Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2019-05-30 13:57:28 +02:00
naivewong 13c80a5979 Optimize queries using regex matchers for set lookups (#602)
* Original version of the set optimization

Signed-off-by: naivewong <867245430@qq.com>

* simple set matcher

Signed-off-by: naivewong <867245430@qq.com>

* simple set matcher

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>

* add benchmark

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>

* update benchmark

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>

* update benchmark

Signed-off-by: naivewong <867245430@qq.com>

* update benchmark

Signed-off-by: naivewong <867245430@qq.com>

* update benchmark

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>

* use genSeries from #467

Signed-off-by: naivewong <867245430@qq.com>

* update

Signed-off-by: naivewong <867245430@qq.com>
2019-05-27 16:54:46 +05:30
Callum Styan 562e93e8e6 Always create a new clean segment when starting the WAL. (#608)
* Always create a new clean segment when starting the WAL.
* Ensure we flush the last page after repairing and before recreating the
new segment in Repair.

Signed-off-by: Callum Styan <callumstyan@gmail.com>
2019-05-24 19:33:27 +01:00