fix: use sync pool for strategy randomness - #212
Conversation
d5f59a3 to
a0692e0
Compare
Pull Request Test Coverage Report for Build 19563565440Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
a0692e0 to
db94232
Compare
4b5508d to
cc57f12
Compare
db94232 to
e39f515
Compare
…etter perf under load
e39f515 to
1c38a81
Compare
Yessir, it's correct. This is a stacked PR, if you're not familiar with the flow, it's worth doing some reading on it because it's a hella useful flow for this kind of situation. This entire chain builds on top of itself so this entire set of PRs require the work before them. Stacking the PR lets me work without being blocked by review and prevents you from having to review a 4k +/- monstrosity The base now points to v6, so as these merge they'll all fall into that |
* chore: rework metrics to use less locking on the hotpath * fix: variant strategies now correctly inherit stickiness from their strategy * chore: make metric count channels best effort send
f13456f
into
chore/public-api-works-on-atomic-pointers
Instead of blocking on a single shared Mutex, randomness now uses a sync pool, which gives multiple goroutines a bit more breathing room to get access to randomness without lining up one behind another