Various of our endpoints would benefit from being streaming, meaning that we send results in chunks rather than collecting all results, and then rendering them in a single response. This is useful, for large responses, but foreshadowing, this might also be useful in order to stream new samples to a front end, although I would see that as a separate issue.
For this path to be optimal, it requires that all the underlying parts are also streaming, meaning TSDB (to my knowledge this is already the case), as well as the query engine. My gut feeling also tells me that depending on the implementation isolation in TSDB would also be required.
(Somewhat) related: #3691 #3443 #3601 https://github.com/prometheus/tsdb/issues/260
@fabxc @gouthamve @brian-brazil
Various of our endpoints would benefit from being streaming, meaning that we send results in chunks rather than collecting all results, and then rendering them in a single response. This is useful, for large responses, but foreshadowing, this might also be useful in order to stream new samples to a front end, although I would see that as a separate issue.
For this path to be optimal, it requires that all the underlying parts are also streaming, meaning TSDB (to my knowledge this is already the case), as well as the query engine. My gut feeling also tells me that depending on the implementation isolation in TSDB would also be required.
(Somewhat) related: #3691 #3443 #3601 https://github.com/prometheus/tsdb/issues/260
@fabxc @gouthamve @brian-brazil