Commit Graph

368 Commits (277bf93952b56227cb750a8129197efa489eddde)

Author SHA1 Message Date
Chris Marchbanks b4317768b9
Merge pull request #5849 from csmarchbanks/rw-use-labels
5 years ago
Yao Zengzeng f65b7c296d fix TODO: only stop & recreate remote write queues which have changes (#5540)
5 years ago
Chris Marchbanks 791a2409a2
Pre-allocate pendingSamples to reduce allocations
5 years ago
Chris Marchbanks 160186da18
Store labels.Labels instead of []prompb.Label
5 years ago
Stanislav Putrya 6141a8bd7c Show warnings in UI if query have returned some warnings (#5964)
5 years ago
Bartek Płotka 48b2c9c8ea
remote-read: streamed chunked server side; Extended protobuf; Added chunked, checksumed reader (#5703)
5 years ago
Julius Volz b5c833ca21
Update go.mod dependencies before release (#5883)
5 years ago
Bartek Płotka 32be514845
Merge pull request #5805 from codesome/merge-tsdb
5 years ago
Chris Marchbanks a6a55c433c Improve desired shards calculation (#5763)
5 years ago
Ganesh Vernekar 5ecef3542d
Cleanup after merging tsdb into prometheus
5 years ago
ethan 38ccf0157e cleanup: correct func name in log message (#5852)
5 years ago
Chris Marchbanks 529ccff07b
Remove all usages of stretchr/testify
5 years ago
Vadym Martsynovskyy 8318aa2d5d Check for duplicate label names in remote read (#5829)
5 years ago
Callum Styan c40a83f386 Add metrics for max shards, min shards, and desired shards.
5 years ago
AllenZMC 758c71b980 fix word `encourter` to `encounter`
5 years ago
Devin Trejo d77f2aa29c Only check last directory when discovering checkpoint number (#5756)
5 years ago
Yao Zengzeng 3cde8a9941 pass error up if WALWathcer.segments() return err (#5741)
5 years ago
Xigang Wang 445bcd1251 Update the runShard method and change len(pendingSamples) to n=len(pendingSamples) (#5708)
5 years ago
Chris Marchbanks 06f1ba73eb
Provide flag to compress the tsdb WAL
6 years ago
Chris Marchbanks 475ca2ecd0
Update to tsdb 0.9.1
6 years ago
Chris Marchbanks 06bdaf076f Remote Write Allocs Improvements (#5614)
6 years ago
Chris Marchbanks a38a54fa11 Split remote write storage into its own type
6 years ago
Thomas Jackson 91d7175eaa Add storage.Warnings to LabelValues and LabelNames (#5673)
6 years ago
Dmitry Shmulevich 0c0638b080 resolve race condition in maxGauge (#5647)
6 years ago
Chris Marchbanks 840872a6f8 Fix remote storage config not updating correctly (#5555)
6 years ago
Simon Pasquier 45506841e6
*: enable all default linters (#5504)
6 years ago
Callum Styan 3639d51eb6 Remote Storage: string interner should not panic in release (#5487)
6 years ago
Callum Styan e87449b59d Remote Write: Queue Manager specific metrics shouldn't exist if the queue no longer exists (#5445)
6 years ago
Callum Styan b7538e7b49 Don't stop, recreate, and start remote storage QueueManagers if the (#5485)
6 years ago
Romain Baugue 95193fa027 Exhaust every request body before closing it (#5166) (#5479)
6 years ago
Vasily Sliouniaev 5be9a1426f Prevent reshard concurrent with calling stop (#5460)
6 years ago
Callum Styan c2b88992a3 Remote Write: fix checkpoint reading (#5429)
6 years ago
Tariq Ibrahim 8fdfa8abea refine error handling in prometheus (#5388)
6 years ago
Tom Wilkie 807fd33ecc Review feedback.
6 years ago
Callum Styan 1a7923dde3 Add ref counting to string interning so we can remove
6 years ago
Tom Wilkie cbf5f13285 Naive string iterning for labes & values in the remote_write path.
6 years ago
Tom Wilkie c7b3535997 Use pkg/relabelling in remote write.
6 years ago
Tom Wilkie 2fa93595d6
More WAL remote_write tweaks. (#5300)
6 years ago
Tariq Ibrahim 1adb91738d fix typo in recordType method of wal_watcher.go (#5297)
6 years ago
Tariq Ibrahim ab8e9b7423 fix typo in queue_manager.go comment (#5294)
6 years ago
Tom Wilkie 67da8e7b46
Refactor and fix queue resharding (#5286)
6 years ago
Callum Styan b8106dd459 Review feedback:
6 years ago
Callum Styan 512f549064 Refactor: inline decodeRecord in readSegment and don't bother decoding samples records if we're not tailing the segment, add a benchmark test and fix some other tests
6 years ago
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
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
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
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
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
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
Goutham Veeramachaneni c28cc5076c Saner defaults and metrics for remote-write (#4279)
6 years ago
Thomas Jackson 92c6f0c92e Add offset to selectParams (#4226)
6 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
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
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
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
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
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
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
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
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
Julius Volz 099df0c5f0 Migrate "golang.org/x/net/context" -> "context" (#3333)
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
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 d21f149745 *: migrate to go-kit/log
7 years ago
Fabian Reinartz 0efecea6d4 Adapt storage APIs to uint64 references
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.
8 years ago
Tom Wilkie b568ace7ce Move protos to ./prompb
8 years ago
Tom Wilkie db8128ceeb Add label set as first parameter to AddFast, ingored by TSDB adapter.
8 years ago
Tom Wilkie 2dda5775e3 Initial port of remote storage to v2.
8 years ago
Fabian Reinartz 8ffc851147 Merge branch 'master' into dev-2.0
8 years ago
Julius Volz 5a896033e3 Add remote read external label handling (#2555)
8 years ago
Julius Volz 3f23aa2cc7 Add headers to indicate remote read/write version
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
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
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
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
Julius Volz beb3c4b389 Remove legacy remote storage implementations
8 years ago
Brian Brazil 1b8a474612 Don't clone the metric if there's no remote writes.
8 years ago
Julius Volz c7932aa009 Remove gRPC leftovers in protobuf definitions
8 years ago
Brian Brazil 77605649a9 Add support for remote write relabelling.
8 years ago
Matthew Campbell 67d76e3a5d timeseries: store varbit encoded data into cassandra
8 years ago
Tom Wilkie 4520e12440 Add HTTP Basic Auth & TLS support to the generic write path. (#1957)
8 years ago
Tom Wilkie d83879210c Switch back to protos over HTTP, instead of GRPC.
8 years ago
Tobias Schmidt 29ced0090f Fix common english misspellings
8 years ago
Tobias Schmidt 8f3b62bfe4 Simplify struct initialization
8 years ago
Fabian Reinartz 7bd7e63f97 storage: fix struct alignment issue in test
8 years ago
Tom Wilkie d41d91388f Update for new generic remote storage.
8 years ago
Tom Wilkie a6931b71e8 Rationalise retrieval metrics so we have the state (success/failed) on both samples and batches, in a consistent fashion.
8 years ago
Tom Wilkie ece12bff93 Shard/parrallelise samples by fingerprint in StorageQueueManager
8 years ago
Julius Volz aa3f2b7216 Generic write cleanups and changes.
8 years ago
Brian Brazil 36d2c4bd0b Add generic write path using grpc.
8 years ago
Dan Milstein 764ceaa939 Add timeout to test, cap waiting at 1 second
8 years ago
Dan Milstein 007907b410 Fix one of the tests for a remote storage QueueManager
8 years ago
Dmitry Vorobev 273e457da4 web: return status code and error message for config resource
9 years ago
beorn7 064b57858e Consistently use the `Seconds()` method for conversion of durations
9 years ago
Dmitry Vorobev bd2a770015 storage/remote: Spawn not more than "maxConcurrentSends" goroutines.
9 years ago
Dmitry Savintsev 7fdb62c253 fix several minor golint style issues
9 years ago
Jonathan Boulle 38098f8c95 Add missing license headers
9 years ago
Tobias Schmidt e82ef154ee Remove unused code leftovers
9 years ago
Julius Volz d3b53bd7f0 Fix comment about Graphite mapping of dimensions.
9 years ago
Fabian Reinartz 59f1e722df Return error on sample appending
9 years ago
beorn7 ec08c9a391 Rework the way to communicate backpressure (AKA suspended ingestion)
9 years ago
Corentin Chary 7b6c3e556c Use '.' instead of '=' to separate labels from their values in Graphite
9 years ago
Corentin Chary a2e4439086 Add support for remote storage on Graphite
9 years ago
Fabian Reinartz e3b6ec9784 Switch to common/log
9 years ago
Julius Volz dac26cef71 Rename global "labels" config option to "external_labels".
9 years ago
Julius Volz eeb1da36ac Fix InfluxDB write support to work with InfluxDB 0.9.x.
9 years ago
Julius Volz 5f77fce578 Improve remote storage queue manager metrics.
9 years ago
Fabian Reinartz 8fa719f778 Attach global labels to remote storage samples
9 years ago
Julius Volz 963ad82dcb Fix "go vet" errors.
9 years ago
Fabian Reinartz 438e232c9b Fix grouping of import blocks
9 years ago
Fabian Reinartz 306e8468a0 Switch from client_golang/model to common/model
9 years ago
Will Rouesnel 7810448dbe Add proxy_url parameter to allow specifying per-job HTTP proxy servers
9 years ago
Fabian Reinartz 23e77450ff main: cleanup initialization of remote storage.
10 years ago
Fabian Reinartz b105e26f4d storage: remove global flags
10 years ago