diff --git a/concurrency/metrics.go b/concurrency/metrics.go index cc17241..f00b99a 100644 --- a/concurrency/metrics.go +++ b/concurrency/metrics.go @@ -148,7 +148,6 @@ func (ch *ConcurrencyHandler) MonitorServerResponseCodes(resp *http.Response) in ch.Metrics.Lock.Lock() defer ch.Metrics.Lock.Unlock() - // Reset error rates on successful response if statusCode >= 200 && statusCode < 300 { ch.Metrics.TotalRateLimitErrors = 0 ch.Metrics.TotalRetries = 0 @@ -164,6 +163,13 @@ func (ch *ConcurrencyHandler) MonitorServerResponseCodes(resp *http.Response) in ch.Metrics.ResponseCodeMetrics.ErrorRate = errorRate + ch.logger.Debug("Server Response Code Monitoring", + zap.Int("StatusCode", statusCode), + zap.Float64("TotalRequests", totalRequests), + zap.Float64("TotalErrors", totalErrors), + zap.Float64("ErrorRate", errorRate), + ) + if errorRate > ErrorRateThreshold { return -1 } else if errorRate <= ErrorRateThreshold && len(ch.sem) < MaxConcurrency {