Skip to content

Commit 24025f8

Browse files
committed
Cleanups + fix apiCallTimeout docs.
1 parent 5bacbb5 commit 24025f8

3 files changed

Lines changed: 10 additions & 1 deletion

File tree

‎core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/ClientOverrideConfiguration.java‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,9 @@ public Optional<ScheduledExecutorService> scheduledExecutorService() {
288288
* execution except for marshalling. This includes request handler execution, all HTTP requests including retries,
289289
* unmarshalling, etc. This value should always be positive, if present.
290290
*
291+
* <p>Because this window is narrower than the API call as a whole, the reported
292+
* {@link software.amazon.awssdk.core.metrics.CoreMetric#API_CALL_DURATION} metric can exceed this timeout.
293+
*
291294
* <p>The api call timeout feature doesn't have strict guarantees on how quickly a request is aborted when the
292295
* timeout is breached. The typical case aborts the request within a few milliseconds but there may occasionally be
293296
* requests that don't get aborted until several seconds after the timer has been breached. Because of this, the client
@@ -613,6 +616,9 @@ default Builder retryStrategy(Consumer<RetryStrategy.Builder<?, ?>> configurator
613616
* entire client execution except for marshalling. This includes request handler execution, all HTTP requests including
614617
* retries, unmarshalling, etc. This value should always be positive, if present.
615618
*
619+
* <p>Because this window is narrower than the API call as a whole, the reported
620+
* {@link software.amazon.awssdk.core.metrics.CoreMetric#API_CALL_DURATION} metric can exceed this timeout.
621+
*
616622
* <p>The api call timeout feature doesn't have strict guarantees on how quickly a request is aborted when the
617623
* timeout is breached. The typical case aborts the request within a few milliseconds but there may occasionally be
618624
* requests that don't get aborted until several seconds after the timer has been breached. Because of this, the client

‎core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/util/MetricUtils.java‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import software.amazon.awssdk.http.HttpMetric;
3232
import software.amazon.awssdk.http.SdkHttpFullRequest;
3333
import software.amazon.awssdk.http.SdkHttpFullResponse;
34-
import software.amazon.awssdk.http.SdkHttpRequest;
3534
import software.amazon.awssdk.metrics.MetricCollector;
3635
import software.amazon.awssdk.metrics.NoOpMetricCollector;
3736
import software.amazon.awssdk.metrics.SdkMetric;

‎core/sdk-core/src/main/java/software/amazon/awssdk/core/metrics/CoreMetric.java‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ public final class CoreMetric {
7272
*
7373
* <p>The relation is approximate because several steps inside the window have no metric of their own including
7474
* request compression and checksum computation.
75+
*
76+
* <p>This is not bounded by a configured
77+
* {@link software.amazon.awssdk.core.client.config.ClientOverrideConfiguration.Builder#apiCallTimeout(Duration)
78+
* apiCallTimeout}, which covers a narrower window that excludes marshalling and the interceptors.
7579
*/
7680
public static final SdkMetric<Duration> API_CALL_DURATION =
7781
metric("ApiCallDuration", Duration.class, MetricLevel.INFO);

0 commit comments

Comments
 (0)