enhancementhelp wanted
Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
Description
Title: Improve gRPC error stats
Description: Right now it appears that even gRPC responses with errors count toward the various 200/2xx stats counters, probably because the HTTP code itself will be 200.
The rq_success_ and rq_error_ stats take into account gRPC errors, but only if the gRPC error falls in the 5xx range:
absl::optional<Grpc::Status::GrpcStatus> grpc_status = Grpc::Common::getGrpcStatus(headers);
if (grpc_status &&
!Http::CodeUtility::is5xx(Grpc::Utility::grpcToHttpStatus(grpc_status.value()))) {
upstream_request_->upstream_host_->stats().rq_success_.inc();
} else {
upstream_request_->upstream_host_->stats().rq_error_.inc();
}
It would be nice to add options to Envoy to:
- count gRPC codes toward the existing http-style stats and/or
- emit new metrics for gRPC codes (i.e. 0-16)