Commit Graph

1146 Commits (160fc4144151d7f77d3395cfc860d3a7b5551957)

Author SHA1 Message Date
Tom Wilkie f795942572 Decrement pending sample when queue exits.
6 years ago
Tom Wilkie ee7efa93fe Fix some tests.
6 years ago
Callum Styan b69bdfb4d1 Store the checkpoint we read last, so that we don't keep reading the same checkpoint on each tick.
6 years ago
Tom Wilkie efbd9559f4 Deal with corruptions in the WAL:
6 years ago
Tom Wilkie adf5307470 Update wal LiveReader to ensure EOF is correctly propagated.
6 years ago
Callum Styan d6258aea8f Fix up remote write tests:
6 years ago
Tom Wilkie 184f06a981 Combine the record decoding metrics into one; break out garbage collection into a separate function.
6 years ago
Tom Wilkie 859cda27ff Remove some 'global' state, moving segment numbers to parameters.
6 years ago
Tom Wilkie bdc6b764b0 If reading the WAL fails, try again. Also, read from the segment containing the index for the last checkpoint, not the first segment.
6 years ago
Tom Wilkie d6f911b511 Factor out logging ratelimit & dedupe middleware.
6 years ago
Tom Wilkie a5c20642b3 Refactor WAL watcher to remove some duplication.
6 years ago
Tom Wilkie 37ad4db485 Export timestamps in seconds since epoch.
6 years ago
JoeWrightss 362873f72b Fix .Log() error message (#5257)
6 years ago
Simon Pasquier b41d6d54f2
storage/remote: increase timeouts for Travis CI (#5224)
6 years ago
Callum Styan 37e35f9e0c Various improvements to WAL based remote write.
6 years ago
Tom Wilkie b93bafeee1 Various fixes to locking & shutdown for WAL-based remote write.
6 years ago
Callum Styan 6f69e31398 Tail the TSDB WAL for remote_write
6 years ago
Goutham Veeramachaneni 384cba1211
Add flag for size based retention (#5109)
6 years ago
Krasi Georgiev 3bd41cc92c Udpate tsdb to 0.4 (#5110)
6 years ago
Matt Layher 302148fd69 *: apply gofmt -s
6 years ago
Callum Styan 5358f76c5c update remote write path proto so that Labels/Timeseries can't be nil (#4957)
6 years ago
Simon Pasquier f678e27eb6
*: use latest release of staticcheck (#5057)
6 years ago
glutamatt 5ddde1965b tune the "Wal segment size" with a flag (#5029)
6 years ago
Tom Wilkie 6e08029b56
Move err to be the last return value from storage.Select. (#5054)
6 years ago
AixesHunter 806632790e update inconsistent comment (#5046)
6 years ago
Bartek Płotka 62c8337e77 Moved configuration into `relabel` package. (#4955)
6 years ago
Alin Sinpalean 44bec482fb Minor optimization for BufferedSeriesIterator: actually drop the samples falling outside of the new delta from the underlying sampleRing, when ReduceDelta is called. (#4849)
6 years ago
Alin Sinpalean d6adfe2ae2 Use a fake SeriesIterator (that generates samples on the fly instead of using a slice) for BufferedSeriesIterator, to reduce the variance of benchmark results due to memory pressure. (#4847)
6 years ago
Ryota Arai 135d580ab2 Introduce min_shards for remote write to set minimum number of shards. (#4924)
6 years ago
mknapphrt f0e9196dca Return warnings on a remote read fail (#4832)
6 years ago
Ben Kochie c6399296dc
Fix spelling/typos (#4921)
6 years ago
Daniele Sluijters f25a6baedb remote: Set User-Agent header in requests (#4891)
6 years ago
Krasi Georgiev bd100182b2
added tsdb/head mint maxt metrics (#4888)
6 years ago
Simon Pasquier ed19373a78
*: remove use of golang.org/x/net/context (#4869)
6 years ago
Ganesh Vernekar ca93fd544b /api/v1/labels endpoint for getting all label names (#4835)
6 years ago
fengyuceNv 94fff219ab improve remote storage enqueue performance (#4772)
6 years ago
Tariq Ibrahim 3f7ed7de49 Adding new metric type to track in-flight remote read queries. (#4677)
6 years ago
Tom Wilkie d3a1ff1abf
Reduce memory usage of remote read by reducing pointer usage. (#4655)
6 years ago
yzpeninsula 4ae3bce260 Fix typo (#4497)
6 years ago
Tom Wilkie 457e4bb58e
Limit the number of samples remote read can return. (#4532)
6 years ago
Daisy T 7d01ead689 change time.duration to model.duration for standardization (#4479)
6 years ago
Julius Volz 8fbe1b5133
Handle a bunch of unchecked errors (#4461)
6 years ago
Henri DF ffb7836c14 Send "Accept-Encoding" header in read request (#4421)
6 years ago
Henri DF 3abb2cc349 Fix typo (#4423)
6 years ago
Alin Sinpalean 372e7652b7 Reuse (copy) overlapping matrix samples between range evaluation steps (#4315)
6 years ago
Goutham Veeramachaneni c28cc5076c Saner defaults and metrics for remote-write (#4279)
6 years ago
Alin Sinpalean e3b775b78b Simplify BufferedSeriesIterator usage (#4294)
6 years ago
Thomas Jackson 92c6f0c92e Add offset to selectParams (#4226)
6 years ago
Brian Brazil fb695fb435
Merge pull request #4285 from prometheus/release-2.3
7 years ago
Tom Wilkie b8217720ac Review feedback.
7 years ago
Corentin Chary db9dbeeaec federation: nil pointer deference when using remove read
7 years ago
Brian Brazil 78efdc6d6b
Avoid infinite loop on duplicate NaN values. (#4275)
7 years ago
Tom Wilkie 0b189b2da9 Review feedback.
7 years ago
Corentin Chary 530107f8ef federation: nil pointer deference when using remove read
7 years ago
Andreas Auernhammer 37d1bcf495 limit size of POST requests against remote read endpoint (#4239)
7 years ago
Fabian Reinartz fe80dddbc4
Merge pull request #4210 from bboreham/log-remote-name
7 years ago
Brian Brazil dd6781add2 Optimise PromQL (#3966)
7 years ago
Bryan Boreham 3277aeefaa Add queue name to logger for remote writes
7 years ago
Tom Wilkie b58199bf12 Review feedback.
7 years ago
Tom Wilkie 3353bbd018 Add proper unclean shutdown handling with a cancellable context.
7 years ago
Tom Wilkie e51d6c4b6c Make remote flush deadline a command line param.
7 years ago
Tom Wilkie a6c353613a Make the flush deadline configurable.
7 years ago
Tom Wilkie aa17263edd Remove WaitGroup and extra goroutine.
7 years ago
Tom Wilkie f3c61f8bb2 Only give remote queues 1 minute to flush samples on shutdown.
7 years ago
Tom Wilkie ba418780be Dedupe samples in the mergeIterator.
7 years ago
Henri DF 2952387ed1 Pass query hints down into remote read query proto (#4122)
7 years ago
Adam Shannon 809881d7f5 support reading basic_auth password_file for HTTP basic auth (#4077)
7 years ago
Mario Trangoni 464e747f1e fix some comments typos (#4059)
7 years ago
ferhat elmas ec8e4d8a7c all: remove unnecessary type conversions (#3992)
7 years ago
Tom Wilkie 02a154ced6
Merge pull request #3941 from prometheus/3809-correctly-stop-timer
7 years ago
Tom Wilkie dc860e7d0e Fix nit.
7 years ago
Tom Wilkie 390b018c90 Test sample timeout delivery.
7 years ago
Tom Wilkie 22d820ef8e Review feedback.
7 years ago
Brian Brazil a8c22c85cc
Correctly handle pruning wraparound after ring expansion (#3942)
7 years ago
Tom Wilkie f8c9d375b6 Correctly stop the timer used in the remote write path.
7 years ago
ferhat elmas ffa673f7d8 General simplifications (#3887)
7 years ago
Fabian Reinartz 7ccd4b39b8 *: implement query params
7 years ago
Tom Wilkie a730083cbf
Merge pull request #3731 from bboreham/reuse-timer
7 years ago
Krasi Georgiev b75428ec19 rename package retrieve to scrape
7 years ago
Tom Wilkie 3dc5b8eef5 Use sub benchmarks.
7 years ago
Tom Wilkie da29c09dca Some benchmarks for the mergeSeries set.
7 years ago
Tom Wilkie 749781edf3 Also, don't make a mergeSeriesSet if there is only one SeriesSet.
7 years ago
Tom Wilkie 48e39068bd Don't allocate a mergeSeries if there is only one series to merge.
7 years ago
Bryan Boreham 8a4535e6ad Re-use timer instead of creating new ones on every sample
7 years ago
Tom Wilkie f2c5399e39
Merge pull request #3561 from twiedenbein/master
7 years ago
Shubheksha Jalan 0471e64ad1 Use shared types from the `common` repo (#3674)
7 years ago
Shubheksha Jalan ec94df49d4 Refactor SD configuration to remove `config` dependency (#3629)
7 years ago
Ed Schouten bb724f1bef Deprecate DeduplicateSeriesSet() in favor of NewMergeSeriesSet().
7 years ago
Tom Wiedenbein 937ac8c060
fixed bug with initialization of queueconfig
7 years ago
Fabian Reinartz 83cd270ea4 *: adapt to storage interface changes
7 years ago
Tobias Schmidt 7098c56474 Add remote read filter option
7 years ago
Tobias Schmidt 434f0374f7 Refactor remote storage querier handling
7 years ago
Tobias Schmidt 9b0091d487 Add storage.Queryable and storage.QueryableFunc
7 years ago
Julius Volz 9f10c63cff
Fix remote read labelset corruption (#3456)
7 years ago
Krasi Georgiev 5d8f93a22a now using only github.com/gogo/protobuf
7 years ago
Fabian Reinartz 30e777d10d tsdb: default too small max block duration
7 years ago
Tom Wilkie 48a7a00a38 Fast path the merge querier (#3358)
7 years ago
Tom Wilkie 0e572686db Revert "Bypass the fanout storage merging if no remote storage is configured."
7 years ago
Tom Wilkie 1af3ef431d s/TestRemoveLabels/TestSeriesSetFilter/
7 years ago
Tom Wilkie 9c3c98e8de Revert "Port 'Don't disable HTTP keep-alives for remote storage connections.' to 2.0 (see #3173)"
7 years ago
Tom Wilkie 746752b946 Merge external labels in order.
7 years ago
Tom Wilkie 6e4d4ea402 Initialise some counters in remote storage API.
7 years ago
Tom Wilkie 2ae04d0e79 Add license header.
7 years ago
Tom Wilkie e8c264e47a Add comment.
7 years ago
Tom Wilkie ee011d906d Port remote read server to 2.0.
7 years ago
Bryan Boreham 0997191b18 Port 'Don't disable HTTP keep-alives for remote storage connections.' to 2.0 (see #3173)
7 years ago
Tom Wilkie 56820726fa Move a couple of the encoding/decoding functions into codec.go
7 years ago
Conor Broderick 08b7328669 Port Metric name validation to 2.0 (see #2975)
7 years ago
Tom Wilkie 8fe0212ff7 Port 'Make queue manager configurable.' to 2.0, see #2991
7 years ago
Tom Wilkie 3760f56c0c remote: Expose ClientConfig type (see #3165)
7 years ago
Tom Wilkie 16f71a7723 Port codec.go over form 1.8 branch.
7 years ago
Fabian Reinartz e53040e2ac Merge pull request #3339 from tomwilkie/3065-remote-read-bypass
7 years ago
Fabian Reinartz bf56ad4233 Merge branch 'master' into master
7 years ago
Paul Gier c4c3205d76 storage/tsdb: check that max block duration is larger than min
7 years ago
Fabian Reinartz ce63a5a855 Merge pull request #3352 from prometheus/rc2
7 years ago
Thibault Chataigner fc4406201e Tsdb StartTime : Use a simplier way to compute StartTime
7 years ago
Julius Volz 099df0c5f0 Migrate "golang.org/x/net/context" -> "context" (#3333)
7 years ago
Tom Wilkie 4bbef0ec30 Bypass the fanout storage merging if no remote storage is configured.
7 years ago
Fabian Reinartz a57ea79660 Close index reader properly
7 years ago
Julius Volz c3d6abc8e6 Fix some lint errors (#3334)
7 years ago
Julius Volz 2846d62573 Fix staticcheck issue in test (#3331)
7 years ago
Brian Brazil 4a50f547c8 removeLabels needs a pointer to work. (#3326)
7 years ago
Thibault Chataigner bf4a279a91 Remote storage reads based on oldest timestamp in primary storage (#3129)
7 years ago
Julius Volz 9ef8518b37 Remove "package remote" garbage from license headers (#3304)
7 years ago
Tobias Schmidt 721050c6cb Update prometheus/tsdb dependency
7 years ago
Julius Volz 33c1171b9c Don't add anchoring to exported `Value` matcher field
7 years ago
Brian Brazil 73dc96e7f5 Fix leak of ticker in remote storage queue manager.
7 years ago
Brian Brazil ee88f0d222 Ensure all values are used or _
7 years ago
Brian Brazil 37ec2d5283 Fix off by one error in concreteSeriesSet (#3262)
7 years ago
Marc Sluiter 6a633eece1 Added go-conntrack for monitoring http connections (#3241)
7 years ago
Julius Volz f7e8348a88 Re-add contexts to storage.Storage.Querier() (#3230)
7 years ago
Fabian Reinartz 7b02bfee0a web: start web handler while TSDB is starting up
7 years ago
Fabian Reinartz d21f149745 *: migrate to go-kit/log
7 years ago
Fabian Reinartz 0efecea6d4 Adapt storage APIs to uint64 references
7 years ago
Fabian Reinartz 0c81d5f719 storage: instantiate correct block ranges
7 years ago
Fabian Reinartz 2037778d14 vendor: update TSDB
7 years ago
Tom Wilkie b11bc8ae24 Fix some comments.
7 years ago
Tom Wilkie ec999ff397 Prevent number of remote write shards from going negative.
7 years ago
Tom Wilkie a09acdcc5b Make concreteSeriersIterator behave.
7 years ago
Tom Wilkie 994a7f27d6 Propagate errors through mergeSeriesSet correctly.
7 years ago
Tom Wilkie 2e0d8487e3 Return zeros if At() is called after Next() returns false.
7 years ago
Tom Wilkie 014bd31a86 Remove unnecessary whitespace changes, add comment.
7 years ago
Tom Wilkie 98ac07f86a Add unit test for the merging on the read path.
7 years ago
Tom Wilkie b568ace7ce Move protos to ./prompb
7 years ago
Tom Wilkie 96e25adc8d Introduce 'primary' storage in fanout, and have Add return the ref from the primary.
7 years ago
Tom Wilkie db8128ceeb Add label set as first parameter to AddFast, ingored by TSDB adapter.
7 years ago
Tom Wilkie 2dda5775e3 Initial port of remote storage to v2.
7 years ago
Fabian Reinartz 16464c3a33 Merge pull request #2910 from prometheus/adminapi
7 years ago
Fabian Reinartz ccf9e62972 *: add admin grpc API
7 years ago
Goutham Veeramachaneni 243419c007 Return tsdb.ErrOutOfBounds as storage.ErrOutOfBounds
8 years ago
Goutham Veeramachaneni 3069bd3996 Handle scrapes with OutOfBounds metrics better
8 years ago
Goutham Veeramachaneni d407bd150c Consolidate the duration params in CLI
8 years ago
Goutham Veeramachaneni baf5b0f0fc Fix error where we look into the future. (#2829)
8 years ago
Brian Brazil c02c25d5ba Allow peeking back further in buffer.
8 years ago
Fabian Reinartz d289dc55c3 storage: update TSDB
8 years ago
Fabian Reinartz 9b175d48cb Add flag to disable TSDB lock file
8 years ago
Fabian Reinartz 0f3110487d Merge remote-tracking branch 'origin/dev-2.0' into dev-2.0
8 years ago
Fabian Reinartz 37deb21c45 vendor: remove unused dependency and last ref to fabxc/tsdb
8 years ago
Brian Brazil 5c9a6ce747 Add license to files.
8 years ago
Fabian Reinartz 8ffc851147 Merge branch 'master' into dev-2.0
8 years ago
Fabian Reinartz cfb2a7f1d5 vendor: sync organisation migration of tsdb
8 years ago
Fabian Reinartz bbcf20ba01 web: deduplicate series in federation
8 years ago
Fabian Reinartz 4e41987bcb storage: add deduplication function
8 years ago
Björn Rabenstein 50e4f49b7e Merge pull request #2561 from prometheus/beorn7/storage2
8 years ago
beorn7 08fc6cbd39 storage: Evict unused chunk.Descs in crash recovery
8 years ago
Björn Rabenstein 1c6240fc40 Merge pull request #2559 from prometheus/beorn7/storage
8 years ago
beorn7 d284ffab03 storage: Replace fpIter by sortedFPs
8 years ago
Tobias Schmidt eac36d123e Fix unstable fanin test (#2558)
8 years ago
Julius Volz 5a896033e3 Add remote read external label handling (#2555)
8 years ago
Björn Rabenstein e63d079b59 Merge pull request #2527 from prometheus/beorn7/storage
8 years ago
Julius Volz b5b0e00923 Merge pull request #2499 from prometheus/remote-read
8 years ago
beorn7 434ab2a6a3 storage: Evict chunks and calculate persistence pressure based on target heap size
8 years ago
beorn7 96a303b348 storage: Use staleness delta as head chunk timeout
8 years ago
Julius Volz 3f23aa2cc7 Add headers to indicate remote read/write version
8 years ago
Julius Volz 8fda83ea12 Make rules only read local data
8 years ago
Julius Volz 94acd3f1d8 Add fanin tests and fix uncovered bugs
8 years ago
Julius Volz 9b33cfc457 Fix/unify context-based remote storage timeouts
8 years ago
Julius Volz 815762a4ad Move retrieval.NewHTTPClient -> httputil.NewClientFromConfig
8 years ago
Fabian Reinartz 397f001ac5 Merge branch 'master' into dev-2.0
8 years ago
Julius Volz eb14678a25 Make remote read/write use config.HTTPClientConfig
8 years ago
Julius Volz 406b65d0dc Rename remote.Storage to remote.Writer
8 years ago
Julius Volz 02395a224d [WIP] Remote Read
8 years ago
Julius Volz 40e41a4776 Merge pull request #2494 from tomwilkie/remote-write-sharding
8 years ago
Fabian Reinartz b586781283 *: update tsdb vendoring and add retention flag
8 years ago
beorn7 48d221c11e storage: Fix typo in comment
8 years ago
Fabian Reinartz 0ecd205794 promql: Use buffer pool for matrix allocations
8 years ago
Tom Wilkie 75bb0f3253 Review feedback
8 years ago
Tom Wilkie 77cce900b8 Fix tests
8 years ago
Tom Wilkie b48799a01e Add license stanza
8 years ago
Tom Wilkie 9d22f030cf Dynamically reshard the QueueManager based on observed load.
8 years ago
Fabian Reinartz 8a8eb12985 storage/tsdb: don't use partitioned DB.
8 years ago
Fabian Reinartz 9eb1d6c927 remote: take code from master
8 years ago
Fabian Reinartz 9304179ef7 Merge branch 'master' into dev-2.0
8 years ago
Fabian Reinartz 4397b4d508 *: pass Prometheus registry into storage
8 years ago
Tom Wilkie 1ab893c6ec Limit 'discarding sample' logs to 1 every 10s (#2446)
8 years ago
Julius Volz 2f39dbc8b3 Rename StorageQueueManager -> QueueManager
8 years ago
Julius Volz e9476b35d5 Re-add multiple remote writers
8 years ago
Björn Rabenstein 089dc1076b Merge pull request #2435 from jmeulemans/open-chunks-gauge
8 years ago
Jeremy Meulemans 025c828976 Changed to open_head_chunks to address review.
8 years ago
Jeremy Meulemans 074050b8c0 Updating for failed codeclimate check.
8 years ago
Jeremy Meulemans f70b52d0b6 Adding gauge for number of open head chunks.
8 years ago
Julius Volz beb3c4b389 Remove legacy remote storage implementations
8 years ago
beorn7 d771185a43 storage: Fix chunkIndexToStartSeek calculation
8 years ago
beorn7 73bd5e4dff Merge branch 'beorn7/storage' into beorn7/storage3
8 years ago
beorn7 46a0837816 storage: Fix offset returned by dropAndPersistChunks
8 years ago
beorn7 9d12204da5 Merge branch 'release-1.5'
8 years ago
beorn7 bed4934224 storage: One more persist error code path discovered
8 years ago
beorn7 242d8edcb5 Merge branch 'release-1.5'
8 years ago
beorn7 8c8baaa558 storage: writeMemorySeries needs to return true for quarantined series
8 years ago
Mitsuhiro Tanda be8b1eb656 storage: optimize dropping chunks by using minShrinkRatio (#2397)
8 years ago
beorn7 2363a90adc storage: Do not throw away fully persisted memory series in checkpointing
8 years ago
Fabian Reinartz ea3ba338dd main: add flags for new storage
8 years ago
beorn7 244a65fb29 storage: Increase persist watermark before calling append
8 years ago
beorn7 75282b27ba storage: Added checks for invariants
8 years ago
beorn7 31e9db7f0c storage: Simplify evictChunkDesc method
8 years ago
Fabian Reinartz 5772f1a7ba retrieval/storage: adapt to new interface
8 years ago
beorn7 65dc8f44d3 storage: Test for errors returned by MaybePopulateLastTime
8 years ago
beorn7 752fac60ae storage: Remove race condition from TestLoop
8 years ago
beorn7 4ccfc93dcf storage: Set shrink ratio in the constructor.
8 years ago
beorn7 b2f086c6c4 storage: Expose bug of not setting the shrink ratio in the contstructor
8 years ago
Brian Brazil c1b547a90e Only checkpoint chunkdescs and series that need persisting. (#2340)
8 years ago
Fabian Reinartz c691895a0f retrieval: cache series references, use pkg/textparse
8 years ago
Brian Brazil f64c231dad Allow checkpoints and maintenance to happen concurrently. (#2321)
8 years ago
Fabian Reinartz ad9bc62e4c storage: extend appender and adapt it
8 years ago
Brian Brazil 1dcb7637f5 Add various persistence related metrics (#2333)
8 years ago
Fabian Reinartz 304cae9928 tsdb: Use PartitionedDB constructor
8 years ago
Brian Brazil f9e581907a Make index queue bigger. (#2322)
8 years ago
Fabian Reinartz bc20d93f0a storage: rename iterator value getters to At()
8 years ago
Fabian Reinartz 7322c46b8e storage: add mock iterator for test
8 years ago
Fabian Reinartz f8fc1f5bb2 *: migrate ingestion to new batch Appender
8 years ago
Fabian Reinartz 71fe0c58a8 promql: misc fixes
8 years ago
Mitsuhiro Tanda 7e369b9318 expose max memory chunks metrics (#2303)
8 years ago
Fabian Reinartz fecf9532b9 *: fix misc compile errors
8 years ago
Fabian Reinartz 622ece6273 *: fix recording tests, migrate matcher types
8 years ago
Fabian Reinartz 0492ddbd4d *: fully decouple tsdb, add new storage interfaces
8 years ago
Fabian Reinartz d17b5be48a storage/metric: remove package
8 years ago
Fabian Reinartz 8b84ee5ee6 storage: remove old storage
8 years ago
Fabian Reinartz 11a731ba82 remote: remove hard-coded remote storages
8 years ago
Brian Brazil 93b70ee4ea Evict chunk descs of all unloaded chunks during maintenance. (#2297)
8 years ago
Brian Brazil 1b8a474612 Don't clone the metric if there's no remote writes.
8 years ago
Tristan Colgate 30be8e0b8a ignore dotfiles in data directory
8 years ago
Björn Rabenstein 45570e5972 Merge pull request #2277 from prometheus/beorn7/storage2
8 years ago
beorn7 253be23c00 storage: Sanity-check number of loaded chunk descs
8 years ago
Björn Rabenstein 5f0c0e43cf Merge pull request #2276 from prometheus/beorn7/storage
8 years ago
beorn7 837c029b16 storage: Fix linter issue
8 years ago
beorn7 4719482f5f storage: Make tests go-vet and golint clean
8 years ago
beorn7 485ac8dff7 storage: Verify validity of byte length when unmarshalling (double)delta chunks
8 years ago
tattsun e714079cf2 storage: fix error message (#2270)
8 years ago
Christopher M. Luciano 148b006e25 Clarify error message when Prometheus data dir finds unexpected files
8 years ago
Julius Volz 127332c56f Merge pull request #2168 from tomwilkie/chunk-len
8 years ago