envoyproxy/envoy

improve grpc error stats

Open

#5.720 geöffnet am 25. Jan. 2019

Auf GitHub ansehen
 (14 Kommentare) (1 Reaktion) (1 zugewiesene Person)C++ (5.373 Forks)batch import
enhancementhelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

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:

  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