ksysoev / wasabi

Toolkit for Creating WebSocket API Gateways
MIT License
4 stars 2 forks source link

#95 - Redefine backoff strategy for retry middleware #103

Closed shan-96 closed 2 days ago

shan-96 commented 6 days ago

Comparison - maxRetries = 3, interval = 1 second

=== RUN   TestNewRetryMiddleware_WithLinearRetryPolicy
--- PASS: TestNewRetryMiddleware_WithLinearRetryPolicy (3.02s)
PASS
ok      github.com/ksysoev/wasabi/middleware/request    3.221s

=== RUN   TestNewRetryMiddleware_WithExponentialRetryPolicy
--- PASS: TestNewRetryMiddleware_WithExponentialRetryPolicy (7.01s)
PASS
ok      github.com/ksysoev/wasabi/middleware/request    7.229s

finer drilldown - includes jitter

=== RUN   TestNewRetryMiddleware_WithExponentialRetryPolicy
2024-06-27 04:08:54.4991695 +0700 +07 m=+1.015306201 iteration 0 is finished
2024-06-27 04:08:56.5159711 +0700 +07 m=+3.032107801 iteration 1 is finished
2024-06-27 04:09:00.5166581 +0700 +07 m=+7.032794801 iteration 2 is finished
--- PASS: TestNewRetryMiddleware_WithExponentialRetryPolicy (7.03s)
PASS
ok      github.com/ksysoev/wasabi/middleware/request    7.238s

Closes #95

shan-96 commented 6 days ago

@ksysoev this is ready for review

ksysoev commented 6 days ago

@shan-96 looks great, just left few suggestions

codecov-commenter commented 4 days ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.70%. Comparing base (d02d342) to head (87a4002). Report is 6 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #103 +/- ## ========================================== + Coverage 92.37% 92.70% +0.33% ========================================== Files 24 27 +3 Lines 970 1015 +45 ========================================== + Hits 896 941 +45 Misses 53 53 Partials 21 21 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.