From 0c2158854b52a58d8661999e4fd0efd45802106e Mon Sep 17 00:00:00 2001 From: "data-plane-api(CircleCI)" Date: Wed, 20 May 2020 15:47:41 +0000 Subject: [PATCH] Load reporting service documentation (#10962) Signed-off-by: kathan24 Mirrored from https://github.com/envoyproxy/envoy @ 570f7ac553e64206193d64952bf8d4a72b76e49c --- envoy/config/endpoint/v3/load_report.proto | 9 +++------ envoy/service/load_stats/v3/lrs.proto | 13 ++++++++++--- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/envoy/config/endpoint/v3/load_report.proto b/envoy/config/endpoint/v3/load_report.proto index 01eb7b12..3f067737 100644 --- a/envoy/config/endpoint/v3/load_report.proto +++ b/envoy/config/endpoint/v3/load_report.proto @@ -17,11 +17,11 @@ option java_outer_classname = "LoadReportProto"; option java_multiple_files = true; option (udpa.annotations.file_status).package_version_status = ACTIVE; -// These are stats Envoy reports to GLB every so often. Report frequency is -// defined by +// [#protodoc-title: Load Report] + +// These are stats Envoy reports to the management server at a frequency defined by // :ref:`LoadStatsResponse.load_reporting_interval`. // Stats per upstream region/zone and optionally per subzone. -// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. // [#next-free-field: 9] message UpstreamLocalityStats { option (udpa.annotations.versioning).previous_message_type = @@ -60,7 +60,6 @@ message UpstreamLocalityStats { uint32 priority = 6; } -// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. // [#next-free-field: 8] message UpstreamEndpointStats { option (udpa.annotations.versioning).previous_message_type = @@ -103,7 +102,6 @@ message UpstreamEndpointStats { repeated EndpointLoadMetricStats load_metric_stats = 5; } -// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. message EndpointLoadMetricStats { option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.endpoint.EndpointLoadMetricStats"; @@ -121,7 +119,6 @@ message EndpointLoadMetricStats { // Per cluster load stats. Envoy reports these stats a management server in a // :ref:`LoadStatsRequest` -// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. // Next ID: 7 // [#next-free-field: 7] message ClusterStats { diff --git a/envoy/service/load_stats/v3/lrs.proto b/envoy/service/load_stats/v3/lrs.proto index d7635688..76705ba7 100644 --- a/envoy/service/load_stats/v3/lrs.proto +++ b/envoy/service/load_stats/v3/lrs.proto @@ -17,7 +17,15 @@ option java_multiple_files = true; option java_generic_services = true; option (udpa.annotations.file_status).package_version_status = ACTIVE; -// [#protodoc-title: Load reporting service] +// [#protodoc-title: Load Reporting service (LRS)] + +// Load Reporting Service is an Envoy API to emit load reports. Envoy will initiate a bi-directional +// stream with a management server. Upon connecting, the management server can send a +// :ref:`LoadStatsResponse ` to a node it is +// interested in getting the load reports for. Envoy in this node will start sending +// :ref:`LoadStatsRequest `. This is done periodically +// based on the :ref:`load reporting interval ` +// For details, take a look at the :ref:`Load Reporting Service sandbox example `. service LoadReportingService { // Advanced API to allow for multi-dimensional load balancing by remote @@ -53,7 +61,6 @@ service LoadReportingService { } // A load report Envoy sends to the management server. -// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. message LoadStatsRequest { option (udpa.annotations.versioning).previous_message_type = "envoy.service.load_stats.v2.LoadStatsRequest"; @@ -67,7 +74,6 @@ message LoadStatsRequest { // The management server sends envoy a LoadStatsResponse with all clusters it // is interested in learning load stats about. -// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. message LoadStatsResponse { option (udpa.annotations.versioning).previous_message_type = "envoy.service.load_stats.v2.LoadStatsResponse"; @@ -82,6 +88,7 @@ message LoadStatsResponse { 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. // 2. For clusters that were already feature in the previous *LoadStatsResponse*, any traffic // that is observed in between the corresponding previous *LoadStatsRequest* and this