@@ -27,6 +27,10 @@ const (
27
27
CostsQueryEnvVarPrefix = "COSTS_QUERY_"
28
28
)
29
29
30
+ var (
31
+ retryAfter int
32
+ )
33
+
30
34
type (
31
35
MetricsCollectorAzureRmCosts struct {
32
36
collector.Processor
@@ -120,11 +124,11 @@ func (m *MetricsCollectorAzureRmCosts) Collect(callback chan<- func()) {
120
124
exportType = armcostmanagement .ExportTypeAmortizedCost
121
125
}
122
126
123
- m .collectRunCostQuery (& query , exportType , callback )
127
+ m .collectRunCostQuery (& query , exportType )
124
128
}
125
129
}
126
130
127
- func (m * MetricsCollectorAzureRmCosts ) collectRunCostQuery (query * config.CollectorCostsQuery , exportType armcostmanagement.ExportType , callback chan <- func () ) {
131
+ func (m * MetricsCollectorAzureRmCosts ) collectRunCostQuery (query * config.CollectorCostsQuery , exportType armcostmanagement.ExportType ) {
128
132
queryLogger := logger .With (zap .String ("query" , query .Name ))
129
133
for _ , timeframe := range query .TimeFrames {
130
134
timeframeLogger := queryLogger .With (zap .String ("timeframe" , timeframe ))
@@ -452,7 +456,7 @@ func (m *MetricsCollectorAzureRmCosts) sendCostQuery(ctx context.Context, logger
452
456
logger .Errorf ("Unable to parse retry-after header: %v" , retryAfterHeader )
453
457
return fmt .Errorf ("unable to parse retry-after header: %v" , retryAfterHeader )
454
458
}
455
- logger .Errorf ("Received 429 Too Many Requests. Retrying after %d seconds. Headers: %v " , retryAfter , resp . Header )
459
+ logger .Warnf ("Received 429 Too Many Requests. Retrying after %d seconds." , retryAfter )
456
460
time .Sleep (time .Duration (retryAfter ) * time .Second )
457
461
return fmt .Errorf ("received 429 Too Many Requests, retrying after %d seconds" , retryAfter )
458
462
}
@@ -474,6 +478,7 @@ func (m *MetricsCollectorAzureRmCosts) sendCostQuery(ctx context.Context, logger
474
478
if err != nil {
475
479
// If we encounter a rate limit error, retry after the specified delay.
476
480
if strings .Contains (err .Error (), "received 429 Too Many Requests" ) {
481
+ logger .Infoln ("Encountered rate limit error. Retrying after the specified delay of %d seconds." , retryAfter )
477
482
continue
478
483
}
479
484
return result , err
0 commit comments