From c141a21d178ba6195ec594ac9dd9d4ad0005b873 Mon Sep 17 00:00:00 2001 From: Luc Talatinian <102624213+lucix-aws@users.noreply.github.com> Date: Wed, 18 Sep 2024 15:05:00 -0400 Subject: [PATCH] extend metrics with retry-related instruments (#2789) * extend metrics with retry-related instruments * fix sdk.NowTime test shenanigans * regen s3 --- aws/retry/attempt_metrics.go | 51 ++++ aws/retry/middleware.go | 40 ++- aws/retry/middleware_test.go | 11 +- .../go/codegen/AwsRetryMiddlewareHelper.java | 8 +- service/s3/api_client.go | 153 +++++++++- service/s3/auth.go | 16 +- service/s3/deserializers.go | 190 ++++++++++++ service/s3/endpoints.go | 5 +- service/s3/go.mod | 2 + service/s3/go.sum | 2 - service/s3/internal/configtesting/go.mod | 4 +- service/s3/internal/configtesting/go.sum | 2 - service/s3/options.go | 4 + service/s3/serializers.go | 285 ++++++++++++++++++ 14 files changed, 752 insertions(+), 21 deletions(-) create mode 100644 aws/retry/attempt_metrics.go diff --git a/aws/retry/attempt_metrics.go b/aws/retry/attempt_metrics.go new file mode 100644 index 00000000000..bfa5bf7d130 --- /dev/null +++ b/aws/retry/attempt_metrics.go @@ -0,0 +1,51 @@ +package retry + +import ( + "context" + + "github.com/aws/smithy-go/metrics" + "github.com/aws/smithy-go/middleware" +) + +type attemptMetrics struct { + Attempts metrics.Int64Counter + Errors metrics.Int64Counter + + AttemptDuration metrics.Float64Histogram +} + +func newAttemptMetrics(meter metrics.Meter) (*attemptMetrics, error) { + m := &attemptMetrics{} + var err error + + m.Attempts, err = meter.Int64Counter("client.call.attempts", func(o *metrics.InstrumentOptions) { + o.UnitLabel = "{attempt}" + o.Description = "The number of attempts for an individual operation" + }) + if err != nil { + return nil, err + } + m.Errors, err = meter.Int64Counter("client.call.errors", func(o *metrics.InstrumentOptions) { + o.UnitLabel = "{error}" + o.Description = "The number of errors for an operation" + }) + if err != nil { + return nil, err + } + m.AttemptDuration, err = meter.Float64Histogram("client.call.attempt_duration", func(o *metrics.InstrumentOptions) { + o.UnitLabel = "s" + o.Description = "The time it takes to connect to the service, send the request, and get back HTTP status code and headers (including time queued waiting to be sent)" + }) + if err != nil { + return nil, err + } + + return m, nil +} + +func withOperationMetadata(ctx context.Context) metrics.RecordMetricOption { + return func(o *metrics.RecordMetricOptions) { + o.Properties.Set("rpc.service", middleware.GetServiceID(ctx)) + o.Properties.Set("rpc.method", middleware.GetOperationName(ctx)) + } +} diff --git a/aws/retry/middleware.go b/aws/retry/middleware.go index 5762abcefe6..624928c18c2 100644 --- a/aws/retry/middleware.go +++ b/aws/retry/middleware.go @@ -8,13 +8,15 @@ import ( "strings" "time" - "github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics" + privatemetrics "github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics" internalcontext "github.com/aws/aws-sdk-go-v2/internal/context" "github.com/aws/aws-sdk-go-v2/aws" awsmiddle "github.com/aws/aws-sdk-go-v2/aws/middleware" + awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http" "github.com/aws/aws-sdk-go-v2/internal/sdk" "github.com/aws/smithy-go/logging" + "github.com/aws/smithy-go/metrics" smithymiddle "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/tracing" "github.com/aws/smithy-go/transport/http" @@ -39,6 +41,9 @@ type Attempt struct { // attempts are reached. LogAttempts bool + // A Meter instance for recording retry-related metrics. + OperationMeter metrics.Meter + retryer aws.RetryerV2 requestCloner RequestCloner } @@ -56,6 +61,10 @@ func NewAttemptMiddleware(retryer aws.Retryer, requestCloner RequestCloner, optF for _, fn := range optFns { fn(m) } + if m.OperationMeter == nil { + m.OperationMeter = metrics.NopMeterProvider{}.Meter("") + } + return m } @@ -81,6 +90,11 @@ func (r *Attempt) HandleFinalize(ctx context.Context, in smithymiddle.FinalizeIn maxAttempts := r.retryer.MaxAttempts() releaseRetryToken := nopRelease + retryMetrics, err := newAttemptMetrics(r.OperationMeter) + if err != nil { + return out, metadata, err + } + for { attemptNum++ attemptInput := in @@ -102,7 +116,19 @@ func (r *Attempt) HandleFinalize(ctx context.Context, in smithymiddle.FinalizeIn attemptCtx, span := tracing.StartSpan(attemptCtx, "Attempt", func(o *tracing.SpanOptions) { o.Properties.Set("operation.attempt", attemptNum) }) + retryMetrics.Attempts.Add(ctx, 1, withOperationMetadata(ctx)) + + start := sdk.NowTime() out, attemptResult, releaseRetryToken, err = r.handleAttempt(attemptCtx, attemptInput, releaseRetryToken, next) + elapsed := sdk.NowTime().Sub(start) + + retryMetrics.AttemptDuration.Record(ctx, float64(elapsed)/1e9, withOperationMetadata(ctx)) + if err != nil { + retryMetrics.Errors.Add(ctx, 1, withOperationMetadata(ctx), func(o *metrics.RecordMetricOptions) { + o.Properties.Set("exception.type", errorType(err)) + }) + } + span.End() attemptClockSkew, _ = awsmiddle.GetAttemptSkew(attemptResult.ResponseMetadata) @@ -245,7 +271,7 @@ func (r *Attempt) handleAttempt( // that time. Potentially early exist if the sleep is canceled via the // context. retryDelay, reqErr := r.retryer.RetryDelay(attemptNum, err) - mctx := metrics.Context(ctx) + mctx := privatemetrics.Context(ctx) if mctx != nil { attempt, err := mctx.Data().LatestAttempt() if err != nil { @@ -388,3 +414,13 @@ func AddRetryMiddlewares(stack *smithymiddle.Stack, options AddRetryMiddlewaresO } return nil } + +// deduces the modeled exception type from an attempt error, which is almost +// always wrapped +func errorType(err error) string { + var terr *awshttp.ResponseError + if errors.As(err, &terr) { + return fmt.Sprintf("%T", terr.Err) + } + return fmt.Sprintf("%T", err) +} diff --git a/aws/retry/middleware_test.go b/aws/retry/middleware_test.go index ad9e4c6a5f7..b8463d5a8dd 100644 --- a/aws/retry/middleware_test.go +++ b/aws/retry/middleware_test.go @@ -205,13 +205,16 @@ func TestAttemptMiddleware(t *testing.T) { MaxAttempts: 3, }, { - AttemptNum: 2, - AttemptTime: time.Date(2020, 8, 19, 10, 21, 30, 0, time.UTC), + AttemptNum: 2, + // note that here and everywhere else, time goes up two + // additional minutes because of the metrics calling + // sdk.NowTime twice + AttemptTime: time.Date(2020, 8, 19, 10, 23, 30, 0, time.UTC), MaxAttempts: 3, }, { AttemptNum: 3, - AttemptTime: time.Date(2020, 8, 19, 10, 22, 30, 0, time.UTC), + AttemptTime: time.Date(2020, 8, 19, 10, 26, 30, 0, time.UTC), MaxAttempts: 3, }, }, @@ -369,7 +372,7 @@ func TestAttemptMiddleware(t *testing.T) { }, { AttemptNum: 2, - AttemptTime: time.Date(2020, 8, 19, 10, 21, 30, 0, time.UTC), + AttemptTime: time.Date(2020, 8, 19, 10, 23, 30, 0, time.UTC), MaxAttempts: 3, }, }, diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsRetryMiddlewareHelper.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsRetryMiddlewareHelper.java index dcc95ae6dae..f409532663e 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsRetryMiddlewareHelper.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsRetryMiddlewareHelper.java @@ -35,10 +35,11 @@ public void writeAdditionalFiles( SymbolProvider symbolProvider, GoDelegator delegator ) { - delegator.useShapeWriter(settings.getService(model), this::generateRetryMiddlewareHelpers); + delegator.useShapeWriter(settings.getService(model), writer -> + generateRetryMiddlewareHelpers(writer, settings.getModuleName())); } - private void generateRetryMiddlewareHelpers(GoWriter writer) { + private void generateRetryMiddlewareHelpers(GoWriter writer, String moduleName) { writer .addUseImports(SmithyGoDependency.SMITHY_MIDDLEWARE) .addUseImports(SmithyGoDependency.SMITHY_HTTP_TRANSPORT) @@ -47,6 +48,7 @@ private void generateRetryMiddlewareHelpers(GoWriter writer) { func addRetry(stack *middleware.Stack, o Options) error { attempt := retry.NewAttemptMiddleware(o.Retryer, smithyhttp.RequestCloner, func(m *retry.Attempt) { m.LogAttempts = o.ClientLogMode.IsRetries() + m.OperationMeter = o.MeterProvider.Meter($S) }) if err := stack.Finalize.Insert(attempt, "Signing", middleware.Before); err != nil { return err @@ -55,6 +57,6 @@ func addRetry(stack *middleware.Stack, o Options) error { return err } return nil - }""")); + }""", moduleName)); } } diff --git a/service/s3/api_client.go b/service/s3/api_client.go index 486954e3ec8..28a3828a9ee 100644 --- a/service/s3/api_client.go +++ b/service/s3/api_client.go @@ -27,6 +27,7 @@ import ( smithyauth "github.com/aws/smithy-go/auth" smithydocument "github.com/aws/smithy-go/document" "github.com/aws/smithy-go/logging" + "github.com/aws/smithy-go/metrics" "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/tracing" smithyhttp "github.com/aws/smithy-go/transport/http" @@ -39,6 +40,129 @@ import ( const ServiceID = "S3" const ServiceAPIVersion = "2006-03-01" +type operationMetrics struct { + Duration metrics.Float64Histogram + SerializeDuration metrics.Float64Histogram + ResolveIdentityDuration metrics.Float64Histogram + ResolveEndpointDuration metrics.Float64Histogram + SignRequestDuration metrics.Float64Histogram + DeserializeDuration metrics.Float64Histogram +} + +func (m *operationMetrics) histogramFor(name string) metrics.Float64Histogram { + switch name { + case "client.call.duration": + return m.Duration + case "client.call.serialization_duration": + return m.SerializeDuration + case "client.call.resolve_identity_duration": + return m.ResolveIdentityDuration + case "client.call.resolve_endpoint_duration": + return m.ResolveEndpointDuration + case "client.call.signing_duration": + return m.SignRequestDuration + case "client.call.deserialization_duration": + return m.DeserializeDuration + default: + panic("unrecognized operation metric") + } +} + +func timeOperationMetric[T any]( + ctx context.Context, metric string, fn func() (T, error), + opts ...metrics.RecordMetricOption, +) (T, error) { + instr := getOperationMetrics(ctx).histogramFor(metric) + opts = append([]metrics.RecordMetricOption{withOperationMetadata(ctx)}, opts...) + + start := time.Now() + v, err := fn() + end := time.Now() + + elapsed := end.Sub(start) + instr.Record(ctx, float64(elapsed)/1e9, opts...) + return v, err +} + +func startMetricTimer(ctx context.Context, metric string, opts ...metrics.RecordMetricOption) func() { + instr := getOperationMetrics(ctx).histogramFor(metric) + opts = append([]metrics.RecordMetricOption{withOperationMetadata(ctx)}, opts...) + + var ended bool + start := time.Now() + return func() { + if ended { + return + } + ended = true + + end := time.Now() + + elapsed := end.Sub(start) + instr.Record(ctx, float64(elapsed)/1e9, opts...) + } +} + +func withOperationMetadata(ctx context.Context) metrics.RecordMetricOption { + return func(o *metrics.RecordMetricOptions) { + o.Properties.Set("rpc.service", middleware.GetServiceID(ctx)) + o.Properties.Set("rpc.method", middleware.GetOperationName(ctx)) + } +} + +type operationMetricsKey struct{} + +func withOperationMetrics(parent context.Context, mp metrics.MeterProvider) (context.Context, error) { + meter := mp.Meter("github.com/aws/aws-sdk-go-v2/service/s3") + om := &operationMetrics{} + + var err error + + om.Duration, err = operationMetricTimer(meter, "client.call.duration", + "Overall call duration (including retries and time to send or receive request and response body)") + if err != nil { + return nil, err + } + om.SerializeDuration, err = operationMetricTimer(meter, "client.call.serialization_duration", + "The time it takes to serialize a message body") + if err != nil { + return nil, err + } + om.ResolveIdentityDuration, err = operationMetricTimer(meter, "client.call.auth.resolve_identity_duration", + "The time taken to acquire an identity (AWS credentials, bearer token, etc) from an Identity Provider") + if err != nil { + return nil, err + } + om.ResolveEndpointDuration, err = operationMetricTimer(meter, "client.call.resolve_endpoint_duration", + "The time it takes to resolve an endpoint (endpoint resolver, not DNS) for the request") + if err != nil { + return nil, err + } + om.SignRequestDuration, err = operationMetricTimer(meter, "client.call.auth.signing_duration", + "The time it takes to sign a request") + if err != nil { + return nil, err + } + om.DeserializeDuration, err = operationMetricTimer(meter, "client.call.deserialization_duration", + "The time it takes to deserialize a message body") + if err != nil { + return nil, err + } + + return context.WithValue(parent, operationMetricsKey{}, om), nil +} + +func operationMetricTimer(m metrics.Meter, name, desc string) (metrics.Float64Histogram, error) { + return m.Float64Histogram(name, func(o *metrics.InstrumentOptions) { + o.UnitLabel = "s" + o.Description = desc + }) +} + +func getOperationMetrics(ctx context.Context) *operationMetrics { + return ctx.Value(operationMetricsKey{}).(*operationMetrics) +} + func operationTracer(p tracing.TracerProvider) tracing.Tracer { return p.Tracer("github.com/aws/aws-sdk-go-v2/service/s3") } @@ -74,6 +198,8 @@ func New(options Options, optFns ...func(*Options)) *Client { resolveTracerProvider(&options) + resolveMeterProvider(&options) + resolveAuthSchemeResolver(&options) for _, fn := range optFns { @@ -110,8 +236,15 @@ func (c *Client) Options() Options { return c.options.Copy() } -func (c *Client) invokeOperation(ctx context.Context, opID string, params interface{}, optFns []func(*Options), stackFns ...func(*middleware.Stack, Options) error) (result interface{}, metadata middleware.Metadata, err error) { +func (c *Client) invokeOperation( + ctx context.Context, opID string, params interface{}, optFns []func(*Options), stackFns ...func(*middleware.Stack, Options) error, +) ( + result interface{}, metadata middleware.Metadata, err error, +) { ctx = middleware.ClearStackValues(ctx) + ctx = middleware.WithServiceID(ctx, ServiceID) + ctx = middleware.WithOperationName(ctx, opID) + stack := middleware.NewStack(opID, smithyhttp.NewStackRequest) options := c.options.Copy() @@ -141,8 +274,13 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf } } + ctx, err = withOperationMetrics(ctx, options.MeterProvider) + if err != nil { + return nil, metadata, err + } + tracer := operationTracer(options.TracerProvider) - spanName := fmt.Sprintf("S3.%s", opID) + spanName := fmt.Sprintf("%s.%s", ServiceID, opID) ctx = tracing.WithOperationTracer(ctx, tracer) @@ -150,8 +288,10 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf o.Kind = tracing.SpanKindClient o.Properties.Set("rpc.system", "aws-api") o.Properties.Set("rpc.method", opID) - o.Properties.Set("rpc.service", "S3") + o.Properties.Set("rpc.service", ServiceID) }) + endTimer := startMetricTimer(ctx, "client.call.duration") + defer endTimer() defer span.End() handler := smithyhttp.NewClientHandler(options.HTTPClient) @@ -574,6 +714,7 @@ func addIsPaginatorUserAgent(o *Options) { func addRetry(stack *middleware.Stack, o Options) error { attempt := retry.NewAttemptMiddleware(o.Retryer, smithyhttp.RequestCloner, func(m *retry.Attempt) { m.LogAttempts = o.ClientLogMode.IsRetries() + m.OperationMeter = o.MeterProvider.Meter("github.com/aws/aws-sdk-go-v2/service/s3") }) if err := stack.Finalize.Insert(attempt, "Signing", middleware.Before); err != nil { return err @@ -708,6 +849,12 @@ func resolveTracerProvider(options *Options) { } } +func resolveMeterProvider(options *Options) { + if options.MeterProvider == nil { + options.MeterProvider = metrics.NopMeterProvider{} + } +} + func addMetadataRetrieverMiddleware(stack *middleware.Stack) error { return s3shared.AddMetadataRetrieverMiddleware(stack) } diff --git a/service/s3/auth.go b/service/s3/auth.go index a0085bfbe56..a49fcb7ce7d 100644 --- a/service/s3/auth.go +++ b/service/s3/auth.go @@ -8,6 +8,7 @@ import ( awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" smithy "github.com/aws/smithy-go" smithyauth "github.com/aws/smithy-go/auth" + "github.com/aws/smithy-go/metrics" "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/tracing" smithyhttp "github.com/aws/smithy-go/transport/http" @@ -270,7 +271,13 @@ func (m *getIdentityMiddleware) HandleFinalize(ctx context.Context, in middlewar return out, metadata, fmt.Errorf("no identity resolver") } - identity, err := resolver.GetIdentity(innerCtx, rscheme.IdentityProperties) + identity, err := timeOperationMetric(ctx, "client.call.resolve_identity_duration", + func() (smithyauth.Identity, error) { + return resolver.GetIdentity(innerCtx, rscheme.IdentityProperties) + }, + func(o *metrics.RecordMetricOptions) { + o.Properties.Set("auth.scheme_id", rscheme.Scheme.SchemeID()) + }) if err != nil { return out, metadata, fmt.Errorf("get identity: %w", err) } @@ -326,7 +333,12 @@ func (m *signRequestMiddleware) HandleFinalize(ctx context.Context, in middlewar return out, metadata, fmt.Errorf("no signer") } - if err := signer.SignRequest(ctx, req, identity, rscheme.SignerProperties); err != nil { + _, err = timeOperationMetric(ctx, "client.call.signing_duration", func() (any, error) { + return nil, signer.SignRequest(ctx, req, identity, rscheme.SignerProperties) + }, func(o *metrics.RecordMetricOptions) { + o.Properties.Set("auth.scheme_id", rscheme.Scheme.SchemeID()) + }) + if err != nil { return out, metadata, fmt.Errorf("sign request: %w", err) } diff --git a/service/s3/deserializers.go b/service/s3/deserializers.go index 4382fd475e6..df062bf2c8a 100644 --- a/service/s3/deserializers.go +++ b/service/s3/deserializers.go @@ -53,6 +53,8 @@ func (m *awsRestxml_deserializeOpAbortMultipartUpload) HandleDeserialize(ctx con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -146,6 +148,8 @@ func (m *awsRestxml_deserializeOpCompleteMultipartUpload) HandleDeserialize(ctx } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -432,6 +436,8 @@ func (m *awsRestxml_deserializeOpCopyObject) HandleDeserialize(ctx context.Conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -643,6 +649,8 @@ func (m *awsRestxml_deserializeOpCreateBucket) HandleDeserialize(ctx context.Con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -739,6 +747,8 @@ func (m *awsRestxml_deserializeOpCreateMultipartUpload) HandleDeserialize(ctx co } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -984,6 +994,8 @@ func (m *awsRestxml_deserializeOpCreateSession) HandleDeserialize(ctx context.Co } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1129,6 +1141,8 @@ func (m *awsRestxml_deserializeOpDeleteBucket) HandleDeserialize(ctx context.Con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1207,6 +1221,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketAnalyticsConfiguration) HandleDeser } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1285,6 +1301,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketCors) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1363,6 +1381,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketEncryption) HandleDeserialize(ctx c } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1441,6 +1461,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketIntelligentTieringConfiguration) Ha } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1519,6 +1541,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketInventoryConfiguration) HandleDeser } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1597,6 +1621,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketLifecycle) HandleDeserialize(ctx co } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1675,6 +1701,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketMetricsConfiguration) HandleDeseria } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1753,6 +1781,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketOwnershipControls) HandleDeserializ } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1831,6 +1861,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketPolicy) HandleDeserialize(ctx conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1909,6 +1941,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketReplication) HandleDeserialize(ctx } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -1987,6 +2021,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketTagging) HandleDeserialize(ctx cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -2065,6 +2101,8 @@ func (m *awsRestxml_deserializeOpDeleteBucketWebsite) HandleDeserialize(ctx cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -2143,6 +2181,8 @@ func (m *awsRestxml_deserializeOpDeleteObject) HandleDeserialize(ctx context.Con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -2247,6 +2287,8 @@ func (m *awsRestxml_deserializeOpDeleteObjects) HandleDeserialize(ctx context.Co } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -2412,6 +2454,8 @@ func (m *awsRestxml_deserializeOpDeleteObjectTagging) HandleDeserialize(ctx cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -2502,6 +2546,8 @@ func (m *awsRestxml_deserializeOpDeletePublicAccessBlock) HandleDeserialize(ctx } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -2580,6 +2626,8 @@ func (m *awsRestxml_deserializeOpGetBucketAccelerateConfiguration) HandleDeseria } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -2746,6 +2794,8 @@ func (m *awsRestxml_deserializeOpGetBucketAcl) HandleDeserialize(ctx context.Con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -2894,6 +2944,8 @@ func (m *awsRestxml_deserializeOpGetBucketAnalyticsConfiguration) HandleDeserial } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -3036,6 +3088,8 @@ func (m *awsRestxml_deserializeOpGetBucketCors) HandleDeserialize(ctx context.Co } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -3178,6 +3232,8 @@ func (m *awsRestxml_deserializeOpGetBucketEncryption) HandleDeserialize(ctx cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -3320,6 +3376,8 @@ func (m *awsRestxml_deserializeOpGetBucketIntelligentTieringConfiguration) Handl } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -3462,6 +3520,8 @@ func (m *awsRestxml_deserializeOpGetBucketInventoryConfiguration) HandleDeserial } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -3604,6 +3664,8 @@ func (m *awsRestxml_deserializeOpGetBucketLifecycleConfiguration) HandleDeserial } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -3746,6 +3808,8 @@ func (m *awsRestxml_deserializeOpGetBucketLocation) HandleDeserialize(ctx contex } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -3895,6 +3959,8 @@ func (m *awsRestxml_deserializeOpGetBucketLogging) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -4037,6 +4103,8 @@ func (m *awsRestxml_deserializeOpGetBucketMetricsConfiguration) HandleDeserializ } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -4179,6 +4247,8 @@ func (m *awsRestxml_deserializeOpGetBucketNotificationConfiguration) HandleDeser } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -4339,6 +4409,8 @@ func (m *awsRestxml_deserializeOpGetBucketOwnershipControls) HandleDeserialize(c } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -4481,6 +4553,8 @@ func (m *awsRestxml_deserializeOpGetBucketPolicy) HandleDeserialize(ctx context. } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -4579,6 +4653,8 @@ func (m *awsRestxml_deserializeOpGetBucketPolicyStatus) HandleDeserialize(ctx co } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -4721,6 +4797,8 @@ func (m *awsRestxml_deserializeOpGetBucketReplication) HandleDeserialize(ctx con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -4863,6 +4941,8 @@ func (m *awsRestxml_deserializeOpGetBucketRequestPayment) HandleDeserialize(ctx } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -5012,6 +5092,8 @@ func (m *awsRestxml_deserializeOpGetBucketTagging) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -5154,6 +5236,8 @@ func (m *awsRestxml_deserializeOpGetBucketVersioning) HandleDeserialize(ctx cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -5316,6 +5400,8 @@ func (m *awsRestxml_deserializeOpGetBucketWebsite) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -5476,6 +5562,8 @@ func (m *awsRestxml_deserializeOpGetObject) HandleDeserialize(ctx context.Contex } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -5800,6 +5888,8 @@ func (m *awsRestxml_deserializeOpGetObjectAcl) HandleDeserialize(ctx context.Con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -5968,6 +6058,8 @@ func (m *awsRestxml_deserializeOpGetObjectAttributes) HandleDeserialize(ctx cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -6202,6 +6294,8 @@ func (m *awsRestxml_deserializeOpGetObjectLegalHold) HandleDeserialize(ctx conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -6344,6 +6438,8 @@ func (m *awsRestxml_deserializeOpGetObjectLockConfiguration) HandleDeserialize(c } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -6486,6 +6582,8 @@ func (m *awsRestxml_deserializeOpGetObjectRetention) HandleDeserialize(ctx conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -6628,6 +6726,8 @@ func (m *awsRestxml_deserializeOpGetObjectTagging) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -6787,6 +6887,8 @@ func (m *awsRestxml_deserializeOpGetObjectTorrent) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -6889,6 +6991,8 @@ func (m *awsRestxml_deserializeOpGetPublicAccessBlock) HandleDeserialize(ctx con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -7031,6 +7135,8 @@ func (m *awsRestxml_deserializeOpHeadBucket) HandleDeserialize(ctx context.Conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -7143,6 +7249,8 @@ func (m *awsRestxml_deserializeOpHeadObject) HandleDeserialize(ctx context.Conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -7443,6 +7551,8 @@ func (m *awsRestxml_deserializeOpListBucketAnalyticsConfigurations) HandleDeseri } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -7627,6 +7737,8 @@ func (m *awsRestxml_deserializeOpListBucketIntelligentTieringConfigurations) Han } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -7811,6 +7923,8 @@ func (m *awsRestxml_deserializeOpListBucketInventoryConfigurations) HandleDeseri } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -7995,6 +8109,8 @@ func (m *awsRestxml_deserializeOpListBucketMetricsConfigurations) HandleDeserial } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -8179,6 +8295,8 @@ func (m *awsRestxml_deserializeOpListBuckets) HandleDeserialize(ctx context.Cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -8340,6 +8458,8 @@ func (m *awsRestxml_deserializeOpListDirectoryBuckets) HandleDeserialize(ctx con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -8495,6 +8615,8 @@ func (m *awsRestxml_deserializeOpListMultipartUploads) HandleDeserialize(ctx con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -8797,6 +8919,8 @@ func (m *awsRestxml_deserializeOpListObjects) HandleDeserialize(ctx context.Cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -9076,6 +9200,8 @@ func (m *awsRestxml_deserializeOpListObjectsV2) HandleDeserialize(ctx context.Co } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -9385,6 +9511,8 @@ func (m *awsRestxml_deserializeOpListObjectVersions) HandleDeserialize(ctx conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -9693,6 +9821,8 @@ func (m *awsRestxml_deserializeOpListParts) HandleDeserialize(ctx context.Contex } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10002,6 +10132,8 @@ func (m *awsRestxml_deserializeOpPutBucketAccelerateConfiguration) HandleDeseria } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10080,6 +10212,8 @@ func (m *awsRestxml_deserializeOpPutBucketAcl) HandleDeserialize(ctx context.Con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10158,6 +10292,8 @@ func (m *awsRestxml_deserializeOpPutBucketAnalyticsConfiguration) HandleDeserial } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10236,6 +10372,8 @@ func (m *awsRestxml_deserializeOpPutBucketCors) HandleDeserialize(ctx context.Co } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10314,6 +10452,8 @@ func (m *awsRestxml_deserializeOpPutBucketEncryption) HandleDeserialize(ctx cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10392,6 +10532,8 @@ func (m *awsRestxml_deserializeOpPutBucketIntelligentTieringConfiguration) Handl } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10470,6 +10612,8 @@ func (m *awsRestxml_deserializeOpPutBucketInventoryConfiguration) HandleDeserial } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10548,6 +10692,8 @@ func (m *awsRestxml_deserializeOpPutBucketLifecycleConfiguration) HandleDeserial } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10626,6 +10772,8 @@ func (m *awsRestxml_deserializeOpPutBucketLogging) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10704,6 +10852,8 @@ func (m *awsRestxml_deserializeOpPutBucketMetricsConfiguration) HandleDeserializ } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10782,6 +10932,8 @@ func (m *awsRestxml_deserializeOpPutBucketNotificationConfiguration) HandleDeser } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10860,6 +11012,8 @@ func (m *awsRestxml_deserializeOpPutBucketOwnershipControls) HandleDeserialize(c } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -10938,6 +11092,8 @@ func (m *awsRestxml_deserializeOpPutBucketPolicy) HandleDeserialize(ctx context. } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11016,6 +11172,8 @@ func (m *awsRestxml_deserializeOpPutBucketReplication) HandleDeserialize(ctx con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11094,6 +11252,8 @@ func (m *awsRestxml_deserializeOpPutBucketRequestPayment) HandleDeserialize(ctx } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11172,6 +11332,8 @@ func (m *awsRestxml_deserializeOpPutBucketTagging) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11250,6 +11412,8 @@ func (m *awsRestxml_deserializeOpPutBucketVersioning) HandleDeserialize(ctx cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11328,6 +11492,8 @@ func (m *awsRestxml_deserializeOpPutBucketWebsite) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11406,6 +11572,8 @@ func (m *awsRestxml_deserializeOpPutObject) HandleDeserialize(ctx context.Contex } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11565,6 +11733,8 @@ func (m *awsRestxml_deserializeOpPutObjectAcl) HandleDeserialize(ctx context.Con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11658,6 +11828,8 @@ func (m *awsRestxml_deserializeOpPutObjectLegalHold) HandleDeserialize(ctx conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11748,6 +11920,8 @@ func (m *awsRestxml_deserializeOpPutObjectLockConfiguration) HandleDeserialize(c } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11838,6 +12012,8 @@ func (m *awsRestxml_deserializeOpPutObjectRetention) HandleDeserialize(ctx conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -11928,6 +12104,8 @@ func (m *awsRestxml_deserializeOpPutObjectTagging) HandleDeserialize(ctx context } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -12018,6 +12196,8 @@ func (m *awsRestxml_deserializeOpPutPublicAccessBlock) HandleDeserialize(ctx con } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -12096,6 +12276,8 @@ func (m *awsRestxml_deserializeOpRestoreObject) HandleDeserialize(ctx context.Co } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -12194,6 +12376,8 @@ func (m *awsRestxml_deserializeOpSelectObjectContent) HandleDeserialize(ctx cont } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -12266,6 +12450,8 @@ func (m *awsRestxml_deserializeOpUploadPart) HandleDeserialize(ctx context.Conte } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -12410,6 +12596,8 @@ func (m *awsRestxml_deserializeOpUploadPartCopy) HandleDeserialize(ctx context.C } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { @@ -12603,6 +12791,8 @@ func (m *awsRestxml_deserializeOpWriteGetObjectResponse) HandleDeserialize(ctx c } _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() defer span.End() response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { diff --git a/service/s3/endpoints.go b/service/s3/endpoints.go index 0294e320c86..bf314133e15 100644 --- a/service/s3/endpoints.go +++ b/service/s3/endpoints.go @@ -5818,7 +5818,10 @@ func (m *resolveEndpointV2Middleware) HandleFinalize(ctx context.Context, in mid } params := bindEndpointParams(ctx, getOperationInput(ctx), m.options) - endpt, err := m.options.EndpointResolverV2.ResolveEndpoint(ctx, *params) + endpt, err := timeOperationMetric(ctx, "client.call.resolve_endpoint_duration", + func() (smithyendpoints.Endpoint, error) { + return m.options.EndpointResolverV2.ResolveEndpoint(ctx, *params) + }) if err != nil { return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err) } diff --git a/service/s3/go.mod b/service/s3/go.mod index b156a1dd452..d03405cac90 100644 --- a/service/s3/go.mod +++ b/service/s3/go.mod @@ -2,6 +2,8 @@ module github.com/aws/aws-sdk-go-v2/service/s3 go 1.21 +toolchain go1.22.6 + require ( github.com/aws/aws-sdk-go-v2 v1.30.5 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 diff --git a/service/s3/go.sum b/service/s3/go.sum index 472f5906e46..e69de29bb2d 100644 --- a/service/s3/go.sum +++ b/service/s3/go.sum @@ -1,2 +0,0 @@ -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= diff --git a/service/s3/internal/configtesting/go.mod b/service/s3/internal/configtesting/go.mod index 847877b53df..8451b50e29f 100644 --- a/service/s3/internal/configtesting/go.mod +++ b/service/s3/internal/configtesting/go.mod @@ -22,6 +22,8 @@ require ( github.com/aws/smithy-go v1.20.4 // indirect ) +replace github.com/aws/smithy-go => /Users/lucix/git/aws-sdk-go-v2/../smithy-go + replace github.com/aws/aws-sdk-go-v2 => ../../../../ replace github.com/aws/aws-sdk-go-v2/config => ../../../../config/ @@ -47,5 +49,3 @@ replace github.com/aws/aws-sdk-go-v2/service/sso => ../../../../service/sso/ replace github.com/aws/aws-sdk-go-v2/service/ssooidc => ../../../../service/ssooidc/ replace github.com/aws/aws-sdk-go-v2/service/sts => ../../../../service/sts/ - -replace github.com/aws/smithy-go => /Users/lucix/git/aws-sdk-go-v2/../smithy-go diff --git a/service/s3/internal/configtesting/go.sum b/service/s3/internal/configtesting/go.sum index 472f5906e46..e69de29bb2d 100644 --- a/service/s3/internal/configtesting/go.sum +++ b/service/s3/internal/configtesting/go.sum @@ -1,2 +0,0 @@ -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= diff --git a/service/s3/options.go b/service/s3/options.go index 471410b49bb..8c67e4c6218 100644 --- a/service/s3/options.go +++ b/service/s3/options.go @@ -12,6 +12,7 @@ import ( s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations" smithyauth "github.com/aws/smithy-go/auth" "github.com/aws/smithy-go/logging" + "github.com/aws/smithy-go/metrics" "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/tracing" smithyhttp "github.com/aws/smithy-go/transport/http" @@ -85,6 +86,9 @@ type Options struct { // The logger writer interface to write logging messages to. Logger logging.Logger + // The client meter provider. + MeterProvider metrics.MeterProvider + // The region to send requests to. (Required) Region string diff --git a/service/s3/serializers.go b/service/s3/serializers.go index 59f45143a3e..cb596000de5 100644 --- a/service/s3/serializers.go +++ b/service/s3/serializers.go @@ -30,6 +30,8 @@ func (m *awsRestxml_serializeOpAbortMultipartUpload) HandleSerialize(ctx context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -67,6 +69,7 @@ func (m *awsRestxml_serializeOpAbortMultipartUpload) HandleSerialize(ctx context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -112,6 +115,8 @@ func (m *awsRestxml_serializeOpCompleteMultipartUpload) HandleSerialize(ctx cont out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -173,6 +178,7 @@ func (m *awsRestxml_serializeOpCompleteMultipartUpload) HandleSerialize(ctx cont } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -258,6 +264,8 @@ func (m *awsRestxml_serializeOpCopyObject) HandleSerialize(ctx context.Context, out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -295,6 +303,7 @@ func (m *awsRestxml_serializeOpCopyObject) HandleSerialize(ctx context.Context, } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -525,6 +534,8 @@ func (m *awsRestxml_serializeOpCreateBucket) HandleSerialize(ctx context.Context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -586,6 +597,7 @@ func (m *awsRestxml_serializeOpCreateBucket) HandleSerialize(ctx context.Context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -648,6 +660,8 @@ func (m *awsRestxml_serializeOpCreateMultipartUpload) HandleSerialize(ctx contex out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -685,6 +699,7 @@ func (m *awsRestxml_serializeOpCreateMultipartUpload) HandleSerialize(ctx contex } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -860,6 +875,8 @@ func (m *awsRestxml_serializeOpCreateSession) HandleSerialize(ctx context.Contex out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -897,6 +914,7 @@ func (m *awsRestxml_serializeOpCreateSession) HandleSerialize(ctx context.Contex } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -924,6 +942,8 @@ func (m *awsRestxml_serializeOpDeleteBucket) HandleSerialize(ctx context.Context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -961,6 +981,7 @@ func (m *awsRestxml_serializeOpDeleteBucket) HandleSerialize(ctx context.Context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -988,6 +1009,8 @@ func (m *awsRestxml_serializeOpDeleteBucketAnalyticsConfiguration) HandleSeriali out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1025,6 +1048,7 @@ func (m *awsRestxml_serializeOpDeleteBucketAnalyticsConfiguration) HandleSeriali } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1056,6 +1080,8 @@ func (m *awsRestxml_serializeOpDeleteBucketCors) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1093,6 +1119,7 @@ func (m *awsRestxml_serializeOpDeleteBucketCors) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1120,6 +1147,8 @@ func (m *awsRestxml_serializeOpDeleteBucketEncryption) HandleSerialize(ctx conte out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1157,6 +1186,7 @@ func (m *awsRestxml_serializeOpDeleteBucketEncryption) HandleSerialize(ctx conte } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1184,6 +1214,8 @@ func (m *awsRestxml_serializeOpDeleteBucketIntelligentTieringConfiguration) Hand out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1221,6 +1253,7 @@ func (m *awsRestxml_serializeOpDeleteBucketIntelligentTieringConfiguration) Hand } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1247,6 +1280,8 @@ func (m *awsRestxml_serializeOpDeleteBucketInventoryConfiguration) HandleSeriali out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1284,6 +1319,7 @@ func (m *awsRestxml_serializeOpDeleteBucketInventoryConfiguration) HandleSeriali } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1315,6 +1351,8 @@ func (m *awsRestxml_serializeOpDeleteBucketLifecycle) HandleSerialize(ctx contex out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1352,6 +1390,7 @@ func (m *awsRestxml_serializeOpDeleteBucketLifecycle) HandleSerialize(ctx contex } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1379,6 +1418,8 @@ func (m *awsRestxml_serializeOpDeleteBucketMetricsConfiguration) HandleSerialize out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1416,6 +1457,7 @@ func (m *awsRestxml_serializeOpDeleteBucketMetricsConfiguration) HandleSerialize } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1447,6 +1489,8 @@ func (m *awsRestxml_serializeOpDeleteBucketOwnershipControls) HandleSerialize(ct out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1484,6 +1528,7 @@ func (m *awsRestxml_serializeOpDeleteBucketOwnershipControls) HandleSerialize(ct } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1511,6 +1556,8 @@ func (m *awsRestxml_serializeOpDeleteBucketPolicy) HandleSerialize(ctx context.C out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1548,6 +1595,7 @@ func (m *awsRestxml_serializeOpDeleteBucketPolicy) HandleSerialize(ctx context.C } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1575,6 +1623,8 @@ func (m *awsRestxml_serializeOpDeleteBucketReplication) HandleSerialize(ctx cont out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1612,6 +1662,7 @@ func (m *awsRestxml_serializeOpDeleteBucketReplication) HandleSerialize(ctx cont } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1639,6 +1690,8 @@ func (m *awsRestxml_serializeOpDeleteBucketTagging) HandleSerialize(ctx context. out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1676,6 +1729,7 @@ func (m *awsRestxml_serializeOpDeleteBucketTagging) HandleSerialize(ctx context. } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1703,6 +1757,8 @@ func (m *awsRestxml_serializeOpDeleteBucketWebsite) HandleSerialize(ctx context. out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1740,6 +1796,7 @@ func (m *awsRestxml_serializeOpDeleteBucketWebsite) HandleSerialize(ctx context. } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1767,6 +1824,8 @@ func (m *awsRestxml_serializeOpDeleteObject) HandleSerialize(ctx context.Context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1804,6 +1863,7 @@ func (m *awsRestxml_serializeOpDeleteObject) HandleSerialize(ctx context.Context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1859,6 +1919,8 @@ func (m *awsRestxml_serializeOpDeleteObjects) HandleSerialize(ctx context.Contex out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -1920,6 +1982,7 @@ func (m *awsRestxml_serializeOpDeleteObjects) HandleSerialize(ctx context.Contex } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -1967,6 +2030,8 @@ func (m *awsRestxml_serializeOpDeleteObjectTagging) HandleSerialize(ctx context. out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2004,6 +2069,7 @@ func (m *awsRestxml_serializeOpDeleteObjectTagging) HandleSerialize(ctx context. } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2044,6 +2110,8 @@ func (m *awsRestxml_serializeOpDeletePublicAccessBlock) HandleSerialize(ctx cont out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2081,6 +2149,7 @@ func (m *awsRestxml_serializeOpDeletePublicAccessBlock) HandleSerialize(ctx cont } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2108,6 +2177,8 @@ func (m *awsRestxml_serializeOpGetBucketAccelerateConfiguration) HandleSerialize out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2145,6 +2216,7 @@ func (m *awsRestxml_serializeOpGetBucketAccelerateConfiguration) HandleSerialize } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2177,6 +2249,8 @@ func (m *awsRestxml_serializeOpGetBucketAcl) HandleSerialize(ctx context.Context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2214,6 +2288,7 @@ func (m *awsRestxml_serializeOpGetBucketAcl) HandleSerialize(ctx context.Context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2241,6 +2316,8 @@ func (m *awsRestxml_serializeOpGetBucketAnalyticsConfiguration) HandleSerialize( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2278,6 +2355,7 @@ func (m *awsRestxml_serializeOpGetBucketAnalyticsConfiguration) HandleSerialize( } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2309,6 +2387,8 @@ func (m *awsRestxml_serializeOpGetBucketCors) HandleSerialize(ctx context.Contex out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2346,6 +2426,7 @@ func (m *awsRestxml_serializeOpGetBucketCors) HandleSerialize(ctx context.Contex } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2373,6 +2454,8 @@ func (m *awsRestxml_serializeOpGetBucketEncryption) HandleSerialize(ctx context. out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2410,6 +2493,7 @@ func (m *awsRestxml_serializeOpGetBucketEncryption) HandleSerialize(ctx context. } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2437,6 +2521,8 @@ func (m *awsRestxml_serializeOpGetBucketIntelligentTieringConfiguration) HandleS out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2474,6 +2560,7 @@ func (m *awsRestxml_serializeOpGetBucketIntelligentTieringConfiguration) HandleS } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2500,6 +2587,8 @@ func (m *awsRestxml_serializeOpGetBucketInventoryConfiguration) HandleSerialize( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2537,6 +2626,7 @@ func (m *awsRestxml_serializeOpGetBucketInventoryConfiguration) HandleSerialize( } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2568,6 +2658,8 @@ func (m *awsRestxml_serializeOpGetBucketLifecycleConfiguration) HandleSerialize( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2605,6 +2697,7 @@ func (m *awsRestxml_serializeOpGetBucketLifecycleConfiguration) HandleSerialize( } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2632,6 +2725,8 @@ func (m *awsRestxml_serializeOpGetBucketLocation) HandleSerialize(ctx context.Co out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2669,6 +2764,7 @@ func (m *awsRestxml_serializeOpGetBucketLocation) HandleSerialize(ctx context.Co } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2696,6 +2792,8 @@ func (m *awsRestxml_serializeOpGetBucketLogging) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2733,6 +2831,7 @@ func (m *awsRestxml_serializeOpGetBucketLogging) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2760,6 +2859,8 @@ func (m *awsRestxml_serializeOpGetBucketMetricsConfiguration) HandleSerialize(ct out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2797,6 +2898,7 @@ func (m *awsRestxml_serializeOpGetBucketMetricsConfiguration) HandleSerialize(ct } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2828,6 +2930,8 @@ func (m *awsRestxml_serializeOpGetBucketNotificationConfiguration) HandleSeriali out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2865,6 +2969,7 @@ func (m *awsRestxml_serializeOpGetBucketNotificationConfiguration) HandleSeriali } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2892,6 +2997,8 @@ func (m *awsRestxml_serializeOpGetBucketOwnershipControls) HandleSerialize(ctx c out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2929,6 +3036,7 @@ func (m *awsRestxml_serializeOpGetBucketOwnershipControls) HandleSerialize(ctx c } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -2956,6 +3064,8 @@ func (m *awsRestxml_serializeOpGetBucketPolicy) HandleSerialize(ctx context.Cont out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -2993,6 +3103,7 @@ func (m *awsRestxml_serializeOpGetBucketPolicy) HandleSerialize(ctx context.Cont } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3020,6 +3131,8 @@ func (m *awsRestxml_serializeOpGetBucketPolicyStatus) HandleSerialize(ctx contex out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3057,6 +3170,7 @@ func (m *awsRestxml_serializeOpGetBucketPolicyStatus) HandleSerialize(ctx contex } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3084,6 +3198,8 @@ func (m *awsRestxml_serializeOpGetBucketReplication) HandleSerialize(ctx context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3121,6 +3237,7 @@ func (m *awsRestxml_serializeOpGetBucketReplication) HandleSerialize(ctx context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3148,6 +3265,8 @@ func (m *awsRestxml_serializeOpGetBucketRequestPayment) HandleSerialize(ctx cont out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3185,6 +3304,7 @@ func (m *awsRestxml_serializeOpGetBucketRequestPayment) HandleSerialize(ctx cont } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3212,6 +3332,8 @@ func (m *awsRestxml_serializeOpGetBucketTagging) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3249,6 +3371,7 @@ func (m *awsRestxml_serializeOpGetBucketTagging) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3276,6 +3399,8 @@ func (m *awsRestxml_serializeOpGetBucketVersioning) HandleSerialize(ctx context. out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3313,6 +3438,7 @@ func (m *awsRestxml_serializeOpGetBucketVersioning) HandleSerialize(ctx context. } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3340,6 +3466,8 @@ func (m *awsRestxml_serializeOpGetBucketWebsite) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3377,6 +3505,7 @@ func (m *awsRestxml_serializeOpGetBucketWebsite) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3404,6 +3533,8 @@ func (m *awsRestxml_serializeOpGetObject) HandleSerialize(ctx context.Context, i out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3441,6 +3572,7 @@ func (m *awsRestxml_serializeOpGetObject) HandleSerialize(ctx context.Context, i } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3559,6 +3691,8 @@ func (m *awsRestxml_serializeOpGetObjectAcl) HandleSerialize(ctx context.Context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3596,6 +3730,7 @@ func (m *awsRestxml_serializeOpGetObjectAcl) HandleSerialize(ctx context.Context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3641,6 +3776,8 @@ func (m *awsRestxml_serializeOpGetObjectAttributes) HandleSerialize(ctx context. out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3678,6 +3815,7 @@ func (m *awsRestxml_serializeOpGetObjectAttributes) HandleSerialize(ctx context. } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3762,6 +3900,8 @@ func (m *awsRestxml_serializeOpGetObjectLegalHold) HandleSerialize(ctx context.C out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3799,6 +3939,7 @@ func (m *awsRestxml_serializeOpGetObjectLegalHold) HandleSerialize(ctx context.C } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3844,6 +3985,8 @@ func (m *awsRestxml_serializeOpGetObjectLockConfiguration) HandleSerialize(ctx c out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3881,6 +4024,7 @@ func (m *awsRestxml_serializeOpGetObjectLockConfiguration) HandleSerialize(ctx c } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3908,6 +4052,8 @@ func (m *awsRestxml_serializeOpGetObjectRetention) HandleSerialize(ctx context.C out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -3945,6 +4091,7 @@ func (m *awsRestxml_serializeOpGetObjectRetention) HandleSerialize(ctx context.C } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -3990,6 +4137,8 @@ func (m *awsRestxml_serializeOpGetObjectTagging) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4027,6 +4176,7 @@ func (m *awsRestxml_serializeOpGetObjectTagging) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4072,6 +4222,8 @@ func (m *awsRestxml_serializeOpGetObjectTorrent) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4109,6 +4261,7 @@ func (m *awsRestxml_serializeOpGetObjectTorrent) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4150,6 +4303,8 @@ func (m *awsRestxml_serializeOpGetPublicAccessBlock) HandleSerialize(ctx context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4187,6 +4342,7 @@ func (m *awsRestxml_serializeOpGetPublicAccessBlock) HandleSerialize(ctx context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4214,6 +4370,8 @@ func (m *awsRestxml_serializeOpHeadBucket) HandleSerialize(ctx context.Context, out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4251,6 +4409,7 @@ func (m *awsRestxml_serializeOpHeadBucket) HandleSerialize(ctx context.Context, } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4278,6 +4437,8 @@ func (m *awsRestxml_serializeOpHeadObject) HandleSerialize(ctx context.Context, out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4315,6 +4476,7 @@ func (m *awsRestxml_serializeOpHeadObject) HandleSerialize(ctx context.Context, } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4433,6 +4595,8 @@ func (m *awsRestxml_serializeOpListBucketAnalyticsConfigurations) HandleSerializ out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4470,6 +4634,7 @@ func (m *awsRestxml_serializeOpListBucketAnalyticsConfigurations) HandleSerializ } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4501,6 +4666,8 @@ func (m *awsRestxml_serializeOpListBucketIntelligentTieringConfigurations) Handl out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4538,6 +4705,7 @@ func (m *awsRestxml_serializeOpListBucketIntelligentTieringConfigurations) Handl } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4564,6 +4732,8 @@ func (m *awsRestxml_serializeOpListBucketInventoryConfigurations) HandleSerializ out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4601,6 +4771,7 @@ func (m *awsRestxml_serializeOpListBucketInventoryConfigurations) HandleSerializ } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4632,6 +4803,8 @@ func (m *awsRestxml_serializeOpListBucketMetricsConfigurations) HandleSerialize( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4669,6 +4842,7 @@ func (m *awsRestxml_serializeOpListBucketMetricsConfigurations) HandleSerialize( } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4700,6 +4874,8 @@ func (m *awsRestxml_serializeOpListBuckets) HandleSerialize(ctx context.Context, out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4737,6 +4913,7 @@ func (m *awsRestxml_serializeOpListBuckets) HandleSerialize(ctx context.Context, } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4767,6 +4944,8 @@ func (m *awsRestxml_serializeOpListDirectoryBuckets) HandleSerialize(ctx context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4804,6 +4983,7 @@ func (m *awsRestxml_serializeOpListDirectoryBuckets) HandleSerialize(ctx context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4834,6 +5014,8 @@ func (m *awsRestxml_serializeOpListMultipartUploads) HandleSerialize(ctx context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4871,6 +5053,7 @@ func (m *awsRestxml_serializeOpListMultipartUploads) HandleSerialize(ctx context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -4927,6 +5110,8 @@ func (m *awsRestxml_serializeOpListObjects) HandleSerialize(ctx context.Context, out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -4964,6 +5149,7 @@ func (m *awsRestxml_serializeOpListObjects) HandleSerialize(ctx context.Context, } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5030,6 +5216,8 @@ func (m *awsRestxml_serializeOpListObjectsV2) HandleSerialize(ctx context.Contex out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -5067,6 +5255,7 @@ func (m *awsRestxml_serializeOpListObjectsV2) HandleSerialize(ctx context.Contex } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5141,6 +5330,8 @@ func (m *awsRestxml_serializeOpListObjectVersions) HandleSerialize(ctx context.C out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -5178,6 +5369,7 @@ func (m *awsRestxml_serializeOpListObjectVersions) HandleSerialize(ctx context.C } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5248,6 +5440,8 @@ func (m *awsRestxml_serializeOpListParts) HandleSerialize(ctx context.Context, i out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -5285,6 +5479,7 @@ func (m *awsRestxml_serializeOpListParts) HandleSerialize(ctx context.Context, i } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5353,6 +5548,8 @@ func (m *awsRestxml_serializeOpPutBucketAccelerateConfiguration) HandleSerialize out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -5414,6 +5611,7 @@ func (m *awsRestxml_serializeOpPutBucketAccelerateConfiguration) HandleSerialize } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5446,6 +5644,8 @@ func (m *awsRestxml_serializeOpPutBucketAcl) HandleSerialize(ctx context.Context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -5507,6 +5707,7 @@ func (m *awsRestxml_serializeOpPutBucketAcl) HandleSerialize(ctx context.Context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5574,6 +5775,8 @@ func (m *awsRestxml_serializeOpPutBucketAnalyticsConfiguration) HandleSerialize( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -5635,6 +5838,7 @@ func (m *awsRestxml_serializeOpPutBucketAnalyticsConfiguration) HandleSerialize( } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5666,6 +5870,8 @@ func (m *awsRestxml_serializeOpPutBucketCors) HandleSerialize(ctx context.Contex out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -5727,6 +5933,7 @@ func (m *awsRestxml_serializeOpPutBucketCors) HandleSerialize(ctx context.Contex } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5764,6 +5971,8 @@ func (m *awsRestxml_serializeOpPutBucketEncryption) HandleSerialize(ctx context. out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -5825,6 +6034,7 @@ func (m *awsRestxml_serializeOpPutBucketEncryption) HandleSerialize(ctx context. } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5862,6 +6072,8 @@ func (m *awsRestxml_serializeOpPutBucketIntelligentTieringConfiguration) HandleS out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -5923,6 +6135,7 @@ func (m *awsRestxml_serializeOpPutBucketIntelligentTieringConfiguration) HandleS } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -5949,6 +6162,8 @@ func (m *awsRestxml_serializeOpPutBucketInventoryConfiguration) HandleSerialize( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6010,6 +6225,7 @@ func (m *awsRestxml_serializeOpPutBucketInventoryConfiguration) HandleSerialize( } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6041,6 +6257,8 @@ func (m *awsRestxml_serializeOpPutBucketLifecycleConfiguration) HandleSerialize( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6102,6 +6320,7 @@ func (m *awsRestxml_serializeOpPutBucketLifecycleConfiguration) HandleSerialize( } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6134,6 +6353,8 @@ func (m *awsRestxml_serializeOpPutBucketLogging) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6195,6 +6416,7 @@ func (m *awsRestxml_serializeOpPutBucketLogging) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6232,6 +6454,8 @@ func (m *awsRestxml_serializeOpPutBucketMetricsConfiguration) HandleSerialize(ct out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6293,6 +6517,7 @@ func (m *awsRestxml_serializeOpPutBucketMetricsConfiguration) HandleSerialize(ct } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6324,6 +6549,8 @@ func (m *awsRestxml_serializeOpPutBucketNotificationConfiguration) HandleSeriali out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6385,6 +6612,7 @@ func (m *awsRestxml_serializeOpPutBucketNotificationConfiguration) HandleSeriali } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6417,6 +6645,8 @@ func (m *awsRestxml_serializeOpPutBucketOwnershipControls) HandleSerialize(ctx c out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6478,6 +6708,7 @@ func (m *awsRestxml_serializeOpPutBucketOwnershipControls) HandleSerialize(ctx c } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6510,6 +6741,8 @@ func (m *awsRestxml_serializeOpPutBucketPolicy) HandleSerialize(ctx context.Cont out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6559,6 +6792,7 @@ func (m *awsRestxml_serializeOpPutBucketPolicy) HandleSerialize(ctx context.Cont } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6601,6 +6835,8 @@ func (m *awsRestxml_serializeOpPutBucketReplication) HandleSerialize(ctx context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6662,6 +6898,7 @@ func (m *awsRestxml_serializeOpPutBucketReplication) HandleSerialize(ctx context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6704,6 +6941,8 @@ func (m *awsRestxml_serializeOpPutBucketRequestPayment) HandleSerialize(ctx cont out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6765,6 +7004,7 @@ func (m *awsRestxml_serializeOpPutBucketRequestPayment) HandleSerialize(ctx cont } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6802,6 +7042,8 @@ func (m *awsRestxml_serializeOpPutBucketTagging) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6863,6 +7105,7 @@ func (m *awsRestxml_serializeOpPutBucketTagging) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -6900,6 +7143,8 @@ func (m *awsRestxml_serializeOpPutBucketVersioning) HandleSerialize(ctx context. out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -6961,6 +7206,7 @@ func (m *awsRestxml_serializeOpPutBucketVersioning) HandleSerialize(ctx context. } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -7003,6 +7249,8 @@ func (m *awsRestxml_serializeOpPutBucketWebsite) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -7064,6 +7312,7 @@ func (m *awsRestxml_serializeOpPutBucketWebsite) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -7101,6 +7350,8 @@ func (m *awsRestxml_serializeOpPutObject) HandleSerialize(ctx context.Context, i out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -7150,6 +7401,7 @@ func (m *awsRestxml_serializeOpPutObject) HandleSerialize(ctx context.Context, i } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -7360,6 +7612,8 @@ func (m *awsRestxml_serializeOpPutObjectAcl) HandleSerialize(ctx context.Context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -7421,6 +7675,7 @@ func (m *awsRestxml_serializeOpPutObjectAcl) HandleSerialize(ctx context.Context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -7506,6 +7761,8 @@ func (m *awsRestxml_serializeOpPutObjectLegalHold) HandleSerialize(ctx context.C out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -7567,6 +7824,7 @@ func (m *awsRestxml_serializeOpPutObjectLegalHold) HandleSerialize(ctx context.C } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -7622,6 +7880,8 @@ func (m *awsRestxml_serializeOpPutObjectLockConfiguration) HandleSerialize(ctx c out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -7683,6 +7943,7 @@ func (m *awsRestxml_serializeOpPutObjectLockConfiguration) HandleSerialize(ctx c } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -7730,6 +7991,8 @@ func (m *awsRestxml_serializeOpPutObjectRetention) HandleSerialize(ctx context.C out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -7791,6 +8054,7 @@ func (m *awsRestxml_serializeOpPutObjectRetention) HandleSerialize(ctx context.C } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -7851,6 +8115,8 @@ func (m *awsRestxml_serializeOpPutObjectTagging) HandleSerialize(ctx context.Con out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -7912,6 +8178,7 @@ func (m *awsRestxml_serializeOpPutObjectTagging) HandleSerialize(ctx context.Con } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -7967,6 +8234,8 @@ func (m *awsRestxml_serializeOpPutPublicAccessBlock) HandleSerialize(ctx context out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -8028,6 +8297,7 @@ func (m *awsRestxml_serializeOpPutPublicAccessBlock) HandleSerialize(ctx context } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -8065,6 +8335,8 @@ func (m *awsRestxml_serializeOpRestoreObject) HandleSerialize(ctx context.Contex out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -8126,6 +8398,7 @@ func (m *awsRestxml_serializeOpRestoreObject) HandleSerialize(ctx context.Contex } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -8176,6 +8449,8 @@ func (m *awsRestxml_serializeOpSelectObjectContent) HandleSerialize(ctx context. out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -8231,6 +8506,7 @@ func (m *awsRestxml_serializeOpSelectObjectContent) HandleSerialize(ctx context. } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -8361,6 +8637,8 @@ func (m *awsRestxml_serializeOpUploadPart) HandleSerialize(ctx context.Context, out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -8410,6 +8688,7 @@ func (m *awsRestxml_serializeOpUploadPart) HandleSerialize(ctx context.Context, } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -8509,6 +8788,8 @@ func (m *awsRestxml_serializeOpUploadPartCopy) HandleSerialize(ctx context.Conte out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -8546,6 +8827,7 @@ func (m *awsRestxml_serializeOpUploadPartCopy) HandleSerialize(ctx context.Conte } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) } @@ -8660,6 +8942,8 @@ func (m *awsRestxml_serializeOpWriteGetObjectResponse) HandleSerialize(ctx conte out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() defer span.End() request, ok := in.Request.(*smithyhttp.Request) if !ok { @@ -8709,6 +8993,7 @@ func (m *awsRestxml_serializeOpWriteGetObjectResponse) HandleSerialize(ctx conte } in.Request = request + endTimer() span.End() return next.HandleSerialize(ctx, in) }