Description
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