Skip to content

Commit 1028fa4

Browse files
authored
fix aws session metrics (#1531)
1 parent aeca6a2 commit 1028fa4

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

pkg/aws/cloud.go

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,8 @@ type Cloud interface {
4242

4343
// NewCloud constructs new Cloud implementation.
4444
func NewCloud(cfg CloudConfig, metricsRegisterer prometheus.Registerer) (Cloud, error) {
45-
sess := session.Must(session.NewSession(aws.NewConfig()))
46-
injectUserAgent(&sess.Handlers)
47-
metadata := services.NewEC2Metadata(sess)
48-
if cfg.ThrottleConfig != nil {
49-
throttler := throttle.NewThrottler(cfg.ThrottleConfig)
50-
throttler.InjectHandlers(&sess.Handlers)
51-
}
52-
if metricsRegisterer != nil {
53-
metricsCollector, err := metrics.NewCollector(metricsRegisterer)
54-
if err != nil {
55-
return nil, errors.Wrapf(err, "failed to initialize sdk metrics collector")
56-
}
57-
metricsCollector.InjectHandlers(&sess.Handlers)
58-
}
59-
45+
metadataSess := session.Must(session.NewSession(aws.NewConfig()))
46+
metadata := services.NewEC2Metadata(metadataSess)
6047
if len(cfg.Region) == 0 {
6148
region, err := metadata.Region()
6249
if err != nil {
@@ -74,7 +61,21 @@ func NewCloud(cfg CloudConfig, metricsRegisterer prometheus.Registerer) (Cloud,
7461
}
7562

7663
awsCFG := aws.NewConfig().WithRegion(cfg.Region).WithSTSRegionalEndpoint(endpoints.RegionalSTSEndpoint).WithMaxRetries(cfg.MaxRetries)
77-
sess = session.Must(session.NewSession(awsCFG))
64+
sess := session.Must(session.NewSession(awsCFG))
65+
injectUserAgent(&sess.Handlers)
66+
67+
if cfg.ThrottleConfig != nil {
68+
throttler := throttle.NewThrottler(cfg.ThrottleConfig)
69+
throttler.InjectHandlers(&sess.Handlers)
70+
}
71+
if metricsRegisterer != nil {
72+
metricsCollector, err := metrics.NewCollector(metricsRegisterer)
73+
if err != nil {
74+
return nil, errors.Wrapf(err, "failed to initialize sdk metrics collector")
75+
}
76+
metricsCollector.InjectHandlers(&sess.Handlers)
77+
}
78+
7879
return &defaultCloud{
7980
cfg: cfg,
8081
ec2: services.NewEC2(sess),

0 commit comments

Comments
 (0)