envoyproxy / envoyproxy/envoy

improve grpc error stats

Open
#5,720 14 comments 1 reaction 1 assignee Claimed by @nikolay-pshenichny View on GitHub
enhancement help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

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 = 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:
1) count gRPC codes toward the existing http-style stats and/or
2) emit new metrics for gRPC codes (i.e. 0-16)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.