Currently when dialogue sends requests to a service that's consistently throwing 429s (QosException.Throttles), dialogue generates QosExceptions internally on each network response, and then throws the last QosException to the dialogue caller when the retry attempts limit is exceeded.
As part of improving visibility into retry behavior, I'd like for services to have access to the count of failed attempts. Potentially this means dialogue throwing a DialogueRetryAttemptsLimitExceeded exception with a cause of the final QosException, rather than just the final QosException. That way the wrapping DialogueRetryAttemptsLimitExceeded can have metadata like how long requests were made for, how many attempts were made, etc.
Currently when dialogue sends requests to a service that's consistently throwing 429s (QosException.Throttles), dialogue generates QosExceptions internally on each network response, and then throws the last QosException to the dialogue caller when the retry attempts limit is exceeded.
As part of improving visibility into retry behavior, I'd like for services to have access to the count of failed attempts. Potentially this means dialogue throwing a
DialogueRetryAttemptsLimitExceededexception with a cause of the finalQosException, rather than just the finalQosException. That way the wrapping DialogueRetryAttemptsLimitExceeded can have metadata like how long requests were made for, how many attempts were made, etc.