Commit Graph

568 Commits (b6158e8956110b24e8b39072dd6d9c9d0fd649bb)

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
5 years ago
Chris Marchbanks 475ca2ecd0
Update to tsdb 0.9.1
5 years ago
Chris Marchbanks 06bdaf076f Remote Write Allocs Improvements (#5614)
5 years ago
Chris Marchbanks a38a54fa11 Split remote write storage into its own type
5 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.
7 years ago
Tom Wilkie b568ace7ce Move protos to ./prompb
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 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
8 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
Fabian Reinartz 0de6edbdfc Move pkg/ to util/
10 years ago
Fabian Reinartz dfaf31a1da Move web/httputils to pkg/httputil and add DeadlineClient to it
10 years ago
Julius Volz 267fd34156 Switch Prometheus to use github.com/prometheus/log.
10 years ago
Julius Volz 593e565688 Allow writing to InfluxDB/OpenTSDB at the same time.
10 years ago
Julius Volz 61fb688dd9 Add experimental InfluxDB write support.
10 years ago
beorn7 be11cb2b07 Remove the sample ingestion channel.
10 years ago
beorn7 8a1c195b54 Move emptiness check to the receivers.
10 years ago
Bjoern Rabenstein 5859b74f1b Clean up license issues.
10 years ago
Bjoern Rabenstein ae70eac97d Adjust the partitioning by outcome.
10 years ago
Bjoern Rabenstein 74c143c4c9 Improve scraper shutdown time.
10 years ago
Bjoern Rabenstein 443dd33805 Improve instrumentation in storage.
10 years ago
Bjoern Rabenstein b3ed9aa7a2 Clean up start-up and shut-down.
10 years ago
Bjoern Rabenstein 1909686789 Make metrics exported by the Prometheus server itself more consistent.
10 years ago
Bjoern Rabenstein 8956faeccb Migrate to new client_golang.
10 years ago
Bjoern Rabenstein 257b720e87 Fix typo.
11 years ago
Bjoern Rabenstein caf47b2fbc New encoding for OpenTSDB tag values (and metric names).
11 years ago
Bjoern Rabenstein 6bc083f38b Major code cleanup in storage.
11 years ago
Julius Volz 61d26e8445 Add optional sample replication to OpenTSDB.
11 years ago