SIGN IN SIGN UP
caddyserver / caddy UNCLAIMED

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

0 0 104 Go

api: Add all in-flight requests /reverse_proxy/upstreams (Fixes #7277) (#7517)

This refactors the initial approach in PR #7281, replacing the UsagePool
with a dedicated package-level sync.Map and atomic.Int64 to track
in-flight requests without global lock contention.

It also introduces a lookup map in the admin API to fix a potential
O(n^2) iteration over upstreams, ensuring that draining upstreams
are correctly exposed across config reloads without leaking memory.

Co-authored-by: Y.Horie <u5.horie@gmail.com>

reverseproxy: optimize in-flight tracking and admin API

- Replaced sync.RWMutex with sync.Map and atomic.Int64 to avoid lock contention under high RPS.
- Introduced a lookup map in the admin API to fix a potential O(n^2) iteration over upstreams.
P
Paulo Henrique committed
88616e86e6e656738426bb86b4a42dcc20a59f77
Parent: 7b34e31
Committed by GitHub <noreply@github.com> on 3/3/2026, 10:14:55 PM