envoyproxy/envoy

admin: making a streaming version of /config_dump

Open

#32.054 geöffnet am 25. Jan. 2024

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/adminarea/perfenhancementhelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

/config_dump can produce a remarkably huge response. This will need to be fully buffered both as a protobuf message and an in-memory continuous string. For large configs, this will be slow and may exert memory pressure as well.

See also #31755 as well as prior work streaming admin stats in https://github.com/envoyproxy/envoy/pull/19693. This work is not trivial and has risks. See also the difficult attempt to make /stats/prometheus stream as well: https://github.com/envoyproxy/envoy/pull/24998 which needed to be rolled back due to complexities in the Prom format that made streaming difficult. See also https://github.com/envoyproxy/envoy/pull/28988 which adds a streaming json serializer, which probably should be used for this, rather than creating a protobuf structure and then serializing that.

Contributor Guide