failure attribution is the point i'd focus on, since raise_for_status() turns every 4xx and 5xx into a proxy failure, and the exception type tells you where it really belongs. proxyerror and connecttimeout point at the proxy, sslerror, readtimeout and target 5xx deserve their own bucket, and 407 is always the proxy side so that is really an auth thing
a 200 captcha page also sails through mark_success() which can make a blocked proxy look healthy, and since blocking is per site the signal fits better on the proxy and target pair than on proxystate
the 1.0 default is fine for cold start tho some windowed smoothing beats cumulative stats, and fixed delays bring retries back in lockstep. leading with the real metric would land faster
failure attribution is the point i'd focus on, since raise_for_status() turns every 4xx and 5xx into a proxy failure, and the exception type tells you where it really belongs. proxyerror and connecttimeout point at the proxy, sslerror, readtimeout and target 5xx deserve their own bucket, and 407 is always the proxy side so that is really an auth thing
a 200 captcha page also sails through mark_success() which can make a blocked proxy look healthy, and since blocking is per site the signal fits better on the proxy and target pair than on proxystate
the 1.0 default is fine for cold start tho some windowed smoothing beats cumulative stats, and fixed delays bring retries back in lockstep. leading with the real metric would land faster