api: Add send_all_clusters field to LRS response. (#10613)

Add a send_all_clusters field to LRS response, triggered by a new client capability. This avoids the need for the server to enumerate the full list of clusters if it always wants data for all clusters.

Risk Level: Low
Testing: N/A
Docs Changes: Included in PR.
Release Notes: N/A

Signed-off-by: Mark D. Roth <roth@google.com>

Mirrored from https://github.com/envoyproxy/envoy @ b0f45ed98a7a0e6a6c02b28d54bb29e96fe6e6fc
master-ci-test
data-plane-api(CircleCI) 5 years ago
parent df4157e2f9
commit 5623150908
  1. 8
      envoy/service/load_stats/v2/lrs.proto
  2. 8
      envoy/service/load_stats/v3/lrs.proto

@ -66,7 +66,13 @@ message LoadStatsRequest {
// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
message LoadStatsResponse {
// Clusters to report stats for.
repeated string clusters = 1 [(validate.rules).repeated = {min_items: 1}];
// Not populated if *send_all_clusters* is true.
repeated string clusters = 1;
// If true, the client should send all clusters it knows about.
// Only clients that advertise the "envoy.lrs.supports_send_all_clusters" capability in their
// :ref:`client_features<envoy_api_field_core.Node.client_features>` field will honor this field.
bool send_all_clusters = 4;
// The minimum interval of time to collect stats over. This is only a minimum for two reasons:
// 1. There may be some delay from when the timer fires until stats sampling occurs.

@ -73,7 +73,13 @@ message LoadStatsResponse {
"envoy.service.load_stats.v2.LoadStatsResponse";
// Clusters to report stats for.
repeated string clusters = 1 [(validate.rules).repeated = {min_items: 1}];
// Not populated if *send_all_clusters* is true.
repeated string clusters = 1;
// If true, the client should send all clusters it knows about.
// Only clients that advertise the "envoy.lrs.supports_send_all_clusters" capability in their
// :ref:`client_features<envoy_api_field_config.core.v3.Node.client_features>` field will honor this field.
bool send_all_clusters = 4;
// The minimum interval of time to collect stats over. This is only a minimum for two reasons:
// 1. There may be some delay from when the timer fires until stats sampling occurs.

Loading…
Cancel
Save