Skip to content

Retry Attempts are not available in client-stats #8299

@davinci26

Description

@davinci26

Clients can configure non transparent retries either via XDS or via ServiceConfig however the stats handler have no good way to retrieve if a particular RPC method is a retry or not.

This type of observability is quite useful to determine if retry-storms(due to poor configurations) cause incidents and/or to see if retries are actually effective.

I thought of looking at the retry metadata header "grpc-previous-rpc-attempts" but this one is added by the http2_client as a header after the HandleRPC method is called so that didnt yield any results.

My first question is: Is this actually true or is there a way to get o11y on the non-transparent retries from the client?

My second question is: If it is not available, the numRetries is available when we construct the stats.Begin struct so if you are open to extending the stats.Begin struct, we can add it there.

Looking forward to your thoughts and also happy to implement the feature if it is not available

Metadata

Metadata

Labels

Area: ObservabilityIncludes Stats, Tracing, Channelz, Healthz, Binlog, Reflection, Admin, GCP ObservabilityP1Type: Bug

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions