Skip to content

Commit b9b8a51

Browse files
committed
Address PR feedback
1 parent cccf40e commit b9b8a51

File tree

2 files changed

+30
-20
lines changed

2 files changed

+30
-20
lines changed

core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/http/pipeline/stages/ApplyUserAgentStage.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,10 @@
3232
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
3333
import software.amazon.awssdk.core.client.config.SdkClientOption;
3434
import software.amazon.awssdk.core.interceptor.ExecutionAttributes;
35-
import software.amazon.awssdk.core.interceptor.SdkExecutionAttribute;
3635
import software.amazon.awssdk.core.interceptor.SdkInternalExecutionAttribute;
3736
import software.amazon.awssdk.core.internal.http.HttpClientDependencies;
3837
import software.amazon.awssdk.core.internal.http.RequestExecutionContext;
3938
import software.amazon.awssdk.core.internal.http.pipeline.MutableRequestToRequestPipeline;
40-
import software.amazon.awssdk.core.internal.useragent.BusinessMetricsUtils;
4139
import software.amazon.awssdk.core.useragent.AdditionalMetadata;
4240
import software.amazon.awssdk.core.useragent.BusinessMetricCollection;
4341
import software.amazon.awssdk.http.SdkHttpFullRequest;
@@ -153,8 +151,6 @@ private static Optional<String> getBusinessMetricsString(ExecutionAttributes exe
153151
}
154152
businessMetrics.merge(metricsFromApiNames);
155153

156-
checksumBusinessMetrics(executionAttributes, businessMetrics);
157-
158154
credentialProviderBusinessMetrics(executionAttributes).ifPresent(businessMetrics::merge);
159155

160156
if (businessMetrics.recordedMetrics().isEmpty()) {
@@ -164,20 +160,6 @@ private static Optional<String> getBusinessMetricsString(ExecutionAttributes exe
164160
return Optional.of(businessMetrics.asBoundedString());
165161
}
166162

167-
private static void checksumBusinessMetrics(ExecutionAttributes executionAttributes,
168-
BusinessMetricCollection businessMetrics) {
169-
BusinessMetricsUtils.resolveRequestChecksumCalculationMetric(
170-
executionAttributes.getAttribute(SdkInternalExecutionAttribute.REQUEST_CHECKSUM_CALCULATION))
171-
.ifPresent(businessMetrics::addMetric);
172-
173-
BusinessMetricsUtils.resolveResponseChecksumValidationMetric(
174-
executionAttributes.getAttribute(SdkInternalExecutionAttribute.RESPONSE_CHECKSUM_VALIDATION))
175-
.ifPresent(businessMetrics::addMetric);
176-
177-
BusinessMetricsUtils.resolveChecksumSpecsMetric(
178-
executionAttributes.getAttribute(SdkExecutionAttribute.RESOLVED_CHECKSUM_SPECS))
179-
.ifPresent(businessMetrics::addMetric);
180-
}
181163

182164
private static Optional<Collection<String>> credentialProviderBusinessMetrics(
183165
ExecutionAttributes executionAttributes) {

core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/http/pipeline/stages/HttpChecksumStage.java

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@
4949
import software.amazon.awssdk.core.internal.http.RequestExecutionContext;
5050
import software.amazon.awssdk.core.internal.http.pipeline.MutableRequestToRequestPipeline;
5151
import software.amazon.awssdk.core.internal.io.AwsUnsignedChunkedEncodingInputStream;
52+
import software.amazon.awssdk.core.internal.useragent.BusinessMetricsUtils;
5253
import software.amazon.awssdk.core.internal.util.HttpChecksumUtils;
54+
import software.amazon.awssdk.core.useragent.BusinessMetricCollection;
5355
import software.amazon.awssdk.http.ContentStreamProvider;
5456
import software.amazon.awssdk.http.Header;
5557
import software.amazon.awssdk.http.SdkHttpFullRequest;
@@ -79,11 +81,16 @@ public SdkHttpFullRequest.Builder execute(SdkHttpFullRequest.Builder request, Re
7981

8082
ensurePayloadChecksumStorePresent(context.executionAttributes());
8183

84+
SdkHttpFullRequest.Builder result;
8285
if (sraSigningEnabled(context)) {
83-
return sraChecksum(request, context);
86+
result = sraChecksum(request, context);
87+
} else {
88+
result = legacyChecksum(request, context);
8489
}
8590

86-
return legacyChecksum(request, context);
91+
recordChecksumBusinessMetrics(context.executionAttributes());
92+
93+
return result;
8794
}
8895

8996
private SdkHttpFullRequest.Builder legacyChecksum(SdkHttpFullRequest.Builder request, RequestExecutionContext context) {
@@ -351,6 +358,27 @@ private PayloadChecksumStore getPayloadChecksumStore(ExecutionAttributes executi
351358
return executionAttributes.getAttribute(CHECKSUM_STORE);
352359
}
353360

361+
private void recordChecksumBusinessMetrics(ExecutionAttributes executionAttributes) {
362+
BusinessMetricCollection businessMetrics =
363+
executionAttributes.getAttribute(SdkInternalExecutionAttribute.BUSINESS_METRICS);
364+
365+
if (businessMetrics == null) {
366+
return;
367+
}
368+
369+
BusinessMetricsUtils.resolveRequestChecksumCalculationMetric(
370+
executionAttributes.getAttribute(SdkInternalExecutionAttribute.REQUEST_CHECKSUM_CALCULATION))
371+
.ifPresent(businessMetrics::addMetric);
372+
373+
BusinessMetricsUtils.resolveResponseChecksumValidationMetric(
374+
executionAttributes.getAttribute(SdkInternalExecutionAttribute.RESPONSE_CHECKSUM_VALIDATION))
375+
.ifPresent(businessMetrics::addMetric);
376+
377+
BusinessMetricsUtils.resolveChecksumSpecsMetric(
378+
executionAttributes.getAttribute(RESOLVED_CHECKSUM_SPECS))
379+
.ifPresent(businessMetrics::addMetric);
380+
}
381+
354382
static final class ChecksumCalculatingStreamProvider implements ContentStreamProvider {
355383
private final ContentStreamProvider underlyingInputStreamProvider;
356384
private final String checksumHeaderForTrailer;

0 commit comments

Comments
 (0)