gRPC Statistics
This filter should be configured with the name envoy.filters.http.grpc_stats.
This filter can be enabled to emit a filter state object
The filter state object textual representation is
request_message_count,response_message_count
.
This filter enables telemetry of gRPC calls. It counts the number of successful and failed calls, optionally grouping them by the gRPC method name. Additionally, the filter detects message boundaries in streaming gRPC calls and emits the message counts for both uni-directional and bi-directional calls.
See more info on the wire format in gRPC over HTTP/2.
Note by default, the router filter will emit translated HTTP status code stats (from the cluster namespace) for gRPC requests that generate some types of local responses (e.g. upstream timeout). If only incrementing gRPC specific metrics is preferred, this behavior can be avoided by setting the field suppress_grpc_request_failure_code_stats within the router filter itself.
The filter emits statistics in the cluster.<route target cluster>.grpc. namespace. Depending on the configuration, the stats may be prefixed with <grpc service>.<grpc method>.
; the stats in the table below are shown in this form. See the documentation for individual_method_stats_allowlist and stats_for_all_methods.
To enable upstream_rq_time (v3 API only) see enable_upstream_stats.
Name | Type | Description |
---|---|---|
<grpc service>.<grpc method>.success | Counter | Total successful service/method calls |
<grpc service>.<grpc method>.failure | Counter | Total failed service/method calls |
<grpc service>.<grpc method>.total | Counter | Total service/method calls |
<grpc service>.<grpc method>.request_message_count | Counter | Total request message count for service/method calls |
<grpc service>.<grpc method>.response_message_count | Counter | Total response message count for service/method calls |
<grpc service>.<grpc method>.upstream_rq_time | Histogram | Request time milliseconds |