Skip to content
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

Add streaming to Remote Read endpoint #4517

Open
gouthamve opened this Issue Aug 19, 2018 · 7 comments

Comments

Projects
None yet
4 participants
@gouthamve
Copy link
Member

gouthamve commented Aug 19, 2018

Remote read is quite inefficient right now and could be made much better through streaming. This has been discussed in the dev-summit: https://docs.google.com/document/d/1-C5PycocOZEVIPrmM1hn8fBelShqtqiAmFptoG4yK70/edit#heading=h.5d2mc4i0bnnp

@bwplotka

This comment has been minimized.

Copy link
Contributor

bwplotka commented Aug 24, 2018

@harshal-shah

This comment has been minimized.

Copy link

harshal-shah commented Nov 13, 2018

According to #4655 it seems this has been resolved in prometheus 2.5.0

@bwplotka

This comment has been minimized.

Copy link
Contributor

bwplotka commented Nov 14, 2018

Well, the memory was reduced (not sure how largely), but there still is a need for streamed remote read, potentially with chunk encoding to reduce used memory on query to minium.

@rshivane

This comment has been minimized.

Copy link

rshivane commented Nov 14, 2018

I would like to add that, as a vendor implementing the server-side of remote read API, the lack of streaming adds similar memory pressure on the marshaling side.

@bwplotka I notice that your already have a PR for streaming support in #4591. Whenever this is approved for merge, we would be happy to implement it on our storage and validate.

@bwplotka

This comment has been minimized.

Copy link
Contributor

bwplotka commented Nov 14, 2018

Yes. This is working code for streaming with raw samples, but we have some internal discussion how it should be done. I closed it to reduce confusion for now: #4591

TL;DR: It would be nice to have remote read stream with Prometheus chunk encoded samples (instead of row samples), to avoid unnecessary decoding & encoding. Does it
The plan is to:

  1. Change the doc to propose this idea (right now it proposes something in between)
  2. Setup a call to gather feedback on this idea.

Did not have much time to jump into it yet, but I am happy to hear that you are ok to help with this!

@rshivane

This comment has been minimized.

Copy link

rshivane commented Nov 14, 2018

It would be nice to have remote read stream with Prometheus chunk encoded samples (instead of row samples), to avoid unnecessary decoding & encoding.

Is that essentially "Alternative 1" in the design doc ?

@bwplotka

This comment has been minimized.

Copy link
Contributor

bwplotka commented Nov 16, 2018

Exactly, but need to reorder ;p

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.