gRPC Statistics
This filter should be configured with the type URL
type.googleapis.com/envoy.extensions.filters.http.grpc_stats.v3.FilterConfig
.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.
Buf Connect
In addition to supporting gRPC, this filter also transparently supports telemetry for RPC calls using the Buf Connect protocol.
Connect calls will be counted in the same stats as equivalent gRPC calls.
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 |