void ServiceControlFilterStats::collectCallStatus()

in src/envoy/http/service_control/filter_stats.cc [25:84]


void ServiceControlFilterStats::collectCallStatus(CallStatusStats& stats,
                                                  const StatusCode& code) {
  // The status error code cases must match the error codes defined by
  // https://github.com/protocolbuffers/protobuf/blob/4b4e66743503bf927cfb0f27a267ecd077250667/src/google/protobuf/stubs/status.h#L45
  switch (code) {
    case StatusCode::kOk:
      stats.OK_.inc();
      return;
    case StatusCode::kCancelled:
      stats.CANCELLED_.inc();
      return;
    case StatusCode::kUnknown:
      stats.UNKNOWN_.inc();
      return;
    case StatusCode::kInvalidArgument:
      stats.INVALID_ARGUMENT_.inc();
      return;
    case StatusCode::kDeadlineExceeded:
      stats.DEADLINE_EXCEEDED_.inc();
      return;
    case StatusCode::kNotFound:
      stats.NOT_FOUND_.inc();
      return;
    case StatusCode::kAlreadyExists:
      stats.ALREADY_EXISTS_.inc();
      return;
    case StatusCode::kPermissionDenied:
      stats.PERMISSION_DENIED_.inc();
      return;
    case StatusCode::kResourceExhausted:
      stats.RESOURCE_EXHAUSTED_.inc();
      return;
    case StatusCode::kFailedPrecondition:
      stats.FAILED_PRECONDITION_.inc();
      return;
    case StatusCode::kAborted:
      stats.ABORTED_.inc();
      return;
    case StatusCode::kOutOfRange:
      stats.OUT_OF_RANGE_.inc();
      return;
    case StatusCode::kUnimplemented:
      stats.UNIMPLEMENTED_.inc();
      return;
    case StatusCode::kInternal:
      stats.INTERNAL_.inc();
      return;
    case StatusCode::kUnavailable:
      stats.UNAVAILABLE_.inc();
      return;
    case StatusCode::kDataLoss:
      stats.DATA_LOSS_.inc();
      return;
    case StatusCode::kUnauthenticated:
      stats.UNAUTHENTICATED_.inc();
      return;
    default:
      return;
  }
}