Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitef4a9a0

Browse files
authored
internal: capture user-agent in metrics (#2644)
1 parentc964dbd commitef4a9a0

File tree

4 files changed

+41
-0
lines changed

4 files changed

+41
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"id":"33f76639-3bb3-44b9-b26b-55846650e8a0",
3+
"type":"feature",
4+
"description":"Capture user agent in internal metrics.",
5+
"modules": [
6+
"."
7+
]
8+
}

‎aws/middleware/private/metrics/metrics.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ type MetricData struct {
124124
OperationNamestring
125125
PartitionIDstring
126126
Regionstring
127+
UserAgentstring
127128
RequestContentLengthint64
128129
StreamStreamMetrics
129130
Attempts []AttemptMetrics

‎aws/middleware/private/metrics/middleware/configuration.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ func WithMetricMiddlewares(
5454
iferr:=timeSigning(stack);err!=nil {
5555
returnerr
5656
}
57+
iferr:=stack.Build.Add(&captureUserAgent{},middleware.After);err!=nil {
58+
returnerr
59+
}
5760
returnnil
5861
}
5962
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package middleware
2+
3+
import (
4+
"context"
5+
"fmt"
6+
7+
"github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics"
8+
"github.com/aws/smithy-go/middleware"
9+
smithyhttp"github.com/aws/smithy-go/transport/http"
10+
)
11+
12+
typecaptureUserAgentstruct{}
13+
14+
func (*captureUserAgent)ID()string {return"captureUserAgent" }
15+
16+
func (*captureUserAgent)HandleBuild(
17+
ctx context.Context,in middleware.BuildInput,next middleware.BuildHandler,
18+
) (
19+
out middleware.BuildOutput,md middleware.Metadata,errerror,
20+
) {
21+
r,ok:=in.Request.(*smithyhttp.Request)
22+
if!ok {
23+
returnout,md,fmt.Errorf("unexpected transport type %T",in.Request)
24+
}
25+
26+
mctx:=metrics.Context(ctx)
27+
mctx.Data().UserAgent=r.Header.Get("User-Agent")
28+
returnnext.HandleBuild(ctx,in)
29+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp