-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sidecar: Optimize Prometheus Remote Read API. #488
Comments
This is needed for remote read benchmarks as the part of #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
…rfile added. This is needed for remote read benchmarks as the part of #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
…rfile added. This is needed for remote read benchmarks as the part of #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
I am actively working on it now. |
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Back to business! Protobuf changes, delimited streaming, server: prometheus/prometheus#5703 Living document: https://docs.google.com/document/d/1JqrU3NjM9HoGLSTPYOvR217f5HBKBiJTqikEB9UiJL0/edit# |
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
First MVP should be safe to use. I build 2 docker images if someone wants to try:
No config changes, just move docker images to that Prometheus and Thanos sidecar tags and enjoy! 2 big requests against Prometheus + sidecar in upgraded version look like this memory and CPU wise: Versus old one with non-streaming sampled read (3GB of mem!): Still it's work in progress and there are more optimization to make, but you can already gain from this. |
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
…hunked, checksumed reader (#5703) Part of: #4517 and thanos-io/thanos#488 Changes: * Extended protobuf for chunked remote read and negotation. * Added checksumed, chunked Writer/Reader. * Added Server side implementation for chunked streamed remote-read. Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com> # Conflicts: # Makefile # pkg/store/prompb/remote.pb.go
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com> # Conflicts: # Makefile # pkg/store/prompb/remote.pb.go
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com> # Conflicts: # Makefile # pkg/store/prompb/remote.pb.go
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com> # Conflicts: # Makefile # pkg/store/prompb/remote.pb.go
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Fixes: #488 Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
Due to non-streamed Prometheus remote read that sends series with samples it is highly inefficient with sidecar. This is because sidecar has to buffer whole protobuf and then stream it out.
On recent Prometheus dev summit (May 2019), we finally agreed on shape of streamed, chunked remote read API. I plan to contribute streamed chunked remote read API to Prometheus, and then make sidecar using it.
All info & design available here: prometheus/prometheus#4517
The text was updated successfully, but these errors were encountered: