-
Notifications
You must be signed in to change notification settings - Fork 882
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Collect timeout metrics for call attempts #3240
Comments
@ebautistabar thank you for reaching out, we've added this to our backlog. |
@ebautistabar the team have some follow-up questions:
|
Apologies, I didn't explain myself clearly. I do not want the timeout value. I will explain by following the same format as the tables in https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/metrics-list.html Metrics collected for each request attempt
Now let's go over an example. Let's say I make a call to DynamoDB which results in three call attempts:
The new Timeout metric would have the following values for each call attempt:
This new metric will allow customers to easily graph the amount of timeouts in their dashboards. |
Got it now, thanks for clarifying! In that case we don't have plans to add that specific metric to the default set of SDK client-side metrics. We should make it possible for you to publish the metric for yourself using ExecutionInterceptors, though, as it looks like it's not possible right now. We have a feature request in the backlog that might fulfill your use case - #929. |
Thanks for your response. Just to check if I understand correctly: a new method will be added to the ExecutionInterceptor interface with a signature similar to this
Is my interpretation correct? If so, I'm aligned with the approach, and I'm fine with tracking progress on #929 I think that adding a new hook for request attempt failures is a good idea regardless, brings more value and has broader appeal than just adding a new metric. Follow up questions:
Thanks in advance. |
Describe the feature
I propose that the SDK collects timeout metrics for call attempts.
Current docs for available metrics, as reference:
https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/metrics-list.html
Use Case
The SDK allows users to tweak timeout values. Users can utilize the existing latency metrics to inform their decision about appropriate timeout values in the SDK, but it would be very helpful to have dedicated timeout metrics to see the direct effect of any changes.
Proposed Solution
No response
Other Information
I tried using an ExecutionInterceptor, which offers hooks into different points in the request/response lifecycle, with the intention of creating the timeout metric myself.
It seemed promising but unfortunately it couldn't make it work:
Acknowledgements
AWS Java SDK version used
v2
JDK version used
Corretto 11
Operating System and version
Amazon Linux 2
The text was updated successfully, but these errors were encountered: