envoy icon indicating copy to clipboard operation
envoy copied to clipboard

admin: streaming C++ API

Open jmarantz opened this issue 1 year ago • 2 comments

Currently the admin API is designed so the implementation must collect and return the entire response in one contiguous block. This means that very long responses such as /stats and /config_dump may introduce significant delay and memory pressure.

Specificallly:

https://github.com/envoyproxy/envoy/blob/7bd0c0f4fe6b30e88a77c5739a70a78bc7400ef8/source/exe/main_common.h#L52

https://github.com/envoyproxy/envoy/blob/7bd0c0f4fe6b30e88a77c5739a70a78bc7400ef8/envoy/server/admin.h#L254

These two interfaces should be changed so they allow for streaming. Note that we have a dependence on the current non-streaming versions so we might need to have both old and new versions at least temporarily.

This is related to https://github.com/envoyproxy/envoy/issues/31082

jmarantz avatar Jan 10 '24 21:01 jmarantz

I have a prototype of this interface locally. Want to get some internal review then I'll publish a PR.

jmarantz avatar Jan 25 '24 22:01 jmarantz

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.

github-actions[bot] avatar Feb 25 '24 00:02 github-actions[bot]