.. _envoy_v3_api_file_envoy/config/endpoint/v3/load_report.proto: Load Report =========== .. _envoy_v3_api_msg_config.endpoint.v3.UpstreamLocalityStats: config.endpoint.v3.UpstreamLocalityStats ---------------------------------------- :repo:`[config.endpoint.v3.UpstreamLocalityStats proto] ` 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. .. code-block:: json { "locality": "{...}", "total_successful_requests": "...", "total_requests_in_progress": "...", "total_error_requests": "...", "total_issued_requests": "...", "load_metric_stats": [], "upstream_endpoint_stats": [] } .. _envoy_v3_api_field_config.endpoint.v3.UpstreamLocalityStats.locality: locality (:ref:`config.core.v3.Locality `) Name of zone, region and optionally endpoint group these metrics were collected from. Zone and region names could be empty if unknown. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamLocalityStats.total_successful_requests: total_successful_requests (`uint64 `_) The total number of requests successfully completed by the endpoints in the locality. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamLocalityStats.total_requests_in_progress: total_requests_in_progress (`uint64 `_) The total number of unfinished requests .. _envoy_v3_api_field_config.endpoint.v3.UpstreamLocalityStats.total_error_requests: total_error_requests (`uint64 `_) The total number of requests that failed due to errors at the endpoint, aggregated over all endpoints in the locality. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamLocalityStats.total_issued_requests: total_issued_requests (`uint64 `_) The total number of requests that were issued by this Envoy since the last report. This information is aggregated over all the upstream endpoints in the locality. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamLocalityStats.load_metric_stats: load_metric_stats (**repeated** :ref:`config.endpoint.v3.EndpointLoadMetricStats `) Stats for multi-dimensional load balancing. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamLocalityStats.upstream_endpoint_stats: upstream_endpoint_stats (**repeated** :ref:`config.endpoint.v3.UpstreamEndpointStats `) Endpoint granularity stats information for this locality. This information is populated if the Server requests it by setting :ref:`LoadStatsResponse.report_endpoint_granularity`. .. _envoy_v3_api_msg_config.endpoint.v3.UpstreamEndpointStats: config.endpoint.v3.UpstreamEndpointStats ---------------------------------------- :repo:`[config.endpoint.v3.UpstreamEndpointStats proto] ` .. code-block:: json { "address": "{...}", "metadata": "{...}", "total_successful_requests": "...", "total_requests_in_progress": "...", "total_error_requests": "...", "total_issued_requests": "...", "load_metric_stats": [] } .. _envoy_v3_api_field_config.endpoint.v3.UpstreamEndpointStats.address: address (:ref:`config.core.v3.Address `) Upstream host address. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamEndpointStats.metadata: metadata (`Struct `_) Opaque and implementation dependent metadata of the endpoint. Envoy will pass this directly to the management server. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamEndpointStats.total_successful_requests: total_successful_requests (`uint64 `_) The total number of requests successfully completed by the endpoints in the locality. These include non-5xx responses for HTTP, where errors originate at the client and the endpoint responded successfully. For gRPC, the grpc-status values are those not covered by total_error_requests below. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamEndpointStats.total_requests_in_progress: total_requests_in_progress (`uint64 `_) The total number of unfinished requests for this endpoint. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamEndpointStats.total_error_requests: total_error_requests (`uint64 `_) The total number of requests that failed due to errors at the endpoint. For HTTP these are responses with 5xx status codes and for gRPC the grpc-status values: - DeadlineExceeded - Unimplemented - Internal - Unavailable - Unknown - DataLoss .. _envoy_v3_api_field_config.endpoint.v3.UpstreamEndpointStats.total_issued_requests: total_issued_requests (`uint64 `_) The total number of requests that were issued to this endpoint since the last report. A single TCP connection, HTTP or gRPC request or stream is counted as one request. .. _envoy_v3_api_field_config.endpoint.v3.UpstreamEndpointStats.load_metric_stats: load_metric_stats (**repeated** :ref:`config.endpoint.v3.EndpointLoadMetricStats `) Stats for multi-dimensional load balancing. .. _envoy_v3_api_msg_config.endpoint.v3.EndpointLoadMetricStats: config.endpoint.v3.EndpointLoadMetricStats ------------------------------------------ :repo:`[config.endpoint.v3.EndpointLoadMetricStats proto] ` .. code-block:: json { "metric_name": "...", "num_requests_finished_with_metric": "...", "total_metric_value": "..." } .. _envoy_v3_api_field_config.endpoint.v3.EndpointLoadMetricStats.metric_name: metric_name (`string `_) Name of the metric; may be empty. .. _envoy_v3_api_field_config.endpoint.v3.EndpointLoadMetricStats.num_requests_finished_with_metric: num_requests_finished_with_metric (`uint64 `_) Number of calls that finished and included this metric. .. _envoy_v3_api_field_config.endpoint.v3.EndpointLoadMetricStats.total_metric_value: total_metric_value (`double `_) Sum of metric values across all calls that finished with this metric for load_reporting_interval. .. _envoy_v3_api_msg_config.endpoint.v3.ClusterStats: config.endpoint.v3.ClusterStats ------------------------------- :repo:`[config.endpoint.v3.ClusterStats proto] ` Per cluster load stats. Envoy reports these stats a management server in a :ref:`LoadStatsRequest` Next ID: 7 .. code-block:: json { "cluster_name": "...", "cluster_service_name": "...", "upstream_locality_stats": [], "total_dropped_requests": "...", "dropped_requests": [], "load_report_interval": "{...}" } .. _envoy_v3_api_field_config.endpoint.v3.ClusterStats.cluster_name: cluster_name (`string `_, *REQUIRED*) The name of the cluster. .. _envoy_v3_api_field_config.endpoint.v3.ClusterStats.cluster_service_name: cluster_service_name (`string `_) The eds_cluster_config service_name of the cluster. It's possible that two clusters send the same service_name to EDS, in that case, the management server is supposed to do aggregation on the load reports. .. _envoy_v3_api_field_config.endpoint.v3.ClusterStats.upstream_locality_stats: upstream_locality_stats (**repeated** :ref:`config.endpoint.v3.UpstreamLocalityStats `, *REQUIRED*) Need at least one. .. _envoy_v3_api_field_config.endpoint.v3.ClusterStats.total_dropped_requests: total_dropped_requests (`uint64 `_) Cluster-level stats such as total_successful_requests may be computed by summing upstream_locality_stats. In addition, below there are additional cluster-wide stats. The total number of dropped requests. This covers requests deliberately dropped by the drop_overload policy and circuit breaking. .. _envoy_v3_api_field_config.endpoint.v3.ClusterStats.dropped_requests: dropped_requests (**repeated** :ref:`config.endpoint.v3.ClusterStats.DroppedRequests `) Information about deliberately dropped requests for each category specified in the DropOverload policy. .. _envoy_v3_api_field_config.endpoint.v3.ClusterStats.load_report_interval: load_report_interval (`Duration `_) Period over which the actual load report occurred. This will be guaranteed to include every request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy and the *LoadStatsResponse* message sent from the management server, this may be longer than the requested load reporting interval in the *LoadStatsResponse*. .. _envoy_v3_api_msg_config.endpoint.v3.ClusterStats.DroppedRequests: config.endpoint.v3.ClusterStats.DroppedRequests ----------------------------------------------- :repo:`[config.endpoint.v3.ClusterStats.DroppedRequests proto] ` .. code-block:: json { "category": "...", "dropped_count": "..." } .. _envoy_v3_api_field_config.endpoint.v3.ClusterStats.DroppedRequests.category: category (`string `_, *REQUIRED*) Identifier for the policy specifying the drop. .. _envoy_v3_api_field_config.endpoint.v3.ClusterStats.DroppedRequests.dropped_count: dropped_count (`uint64 `_) Total number of deliberately dropped requests for the category.