@@ -27,6 +27,10 @@ const (
2727 CostsQueryEnvVarPrefix = "COSTS_QUERY_"
2828)
2929
30+ var (
31+ retryAfter int
32+ )
33+
3034type (
3135 MetricsCollectorAzureRmCosts struct {
3236 collector.Processor
@@ -120,11 +124,11 @@ func (m *MetricsCollectorAzureRmCosts) Collect(callback chan<- func()) {
120124 exportType = armcostmanagement .ExportTypeAmortizedCost
121125 }
122126
123- m .collectRunCostQuery (& query , exportType , callback )
127+ m .collectRunCostQuery (& query , exportType )
124128 }
125129}
126130
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 ) {
128132 queryLogger := logger .With (zap .String ("query" , query .Name ))
129133 for _ , timeframe := range query .TimeFrames {
130134 timeframeLogger := queryLogger .With (zap .String ("timeframe" , timeframe ))
@@ -452,7 +456,7 @@ func (m *MetricsCollectorAzureRmCosts) sendCostQuery(ctx context.Context, logger
452456 logger .Errorf ("Unable to parse retry-after header: %v" , retryAfterHeader )
453457 return fmt .Errorf ("unable to parse retry-after header: %v" , retryAfterHeader )
454458 }
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 )
456460 time .Sleep (time .Duration (retryAfter ) * time .Second )
457461 return fmt .Errorf ("received 429 Too Many Requests, retrying after %d seconds" , retryAfter )
458462 }
@@ -474,6 +478,7 @@ func (m *MetricsCollectorAzureRmCosts) sendCostQuery(ctx context.Context, logger
474478 if err != nil {
475479 // If we encounter a rate limit error, retry after the specified delay.
476480 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 )
477482 continue
478483 }
479484 return result , err
0 commit comments