Enabling metrics
http://localhost:9090/metrics.
Metrics reference
Request metrics
| Metric | Type | Labels | Description |
|---|---|---|---|
proxy_hopper_requests_total | Counter | target, outcome, tag | Total proxied requests |
proxy_hopper_request_duration_seconds | Histogram | target | Outbound request latency |
proxy_hopper_responses_total | Counter | target, status_code, tag | Upstream HTTP responses by status code |
proxy_hopper_retries_total | Counter | target | Retry attempts |
proxy_hopper_retry_exhaustions_total | Counter | target | Requests that exhausted all retries |
proxy_hopper_active_connections | Gauge | — | Open client connections |
outcome values: success, rate_limited, server_error, connection_error, no_match.
The tag label is set from the X-Proxy-Hopper-Tag request header (empty string if not provided).
Queue metrics
| Metric | Type | Labels | Description |
|---|---|---|---|
proxy_hopper_queue_depth | Gauge | target | Requests waiting for a free IP |
proxy_hopper_queue_wait_seconds | Histogram | target | Time spent waiting in the queue |
proxy_hopper_queue_expired_total | Counter | target | Requests dropped due to queue timeout |
IP pool metrics
| Metric | Type | Labels | Description |
|---|---|---|---|
proxy_hopper_available_ips | Gauge | target | IPs currently available in pool |
proxy_hopper_quarantined_ips | Gauge | target | IPs currently quarantined |
proxy_hopper_ip_quarantine_events_total | Counter | target, address, provider, region | Quarantine events per IP |
proxy_hopper_ip_failure_count | Gauge | target, address, provider, region | Consecutive failure count per IP |
Probe metrics
| Metric | Type | Labels | Description |
|---|---|---|---|
proxy_hopper_probe_success_total | Counter | address, provider, region | Successful background probes |
proxy_hopper_probe_failure_total | Counter | address, provider, region, reason | Failed background probes |
proxy_hopper_probe_duration_seconds | Histogram | address, provider, region | Background probe latency |
proxy_hopper_ip_reachable | Gauge | address, provider, region | 1 if IP passed last probe, 0 if not |
reason values: timeout, proxy_unreachable, connection_error, http_error.
Labels
tag label
Set by the X-Proxy-Hopper-Tag request header. Use it to identify which endpoints are consuming IPs or triggering quarantine events:
provider and region labels
Come from proxyProviders config — enable per-provider and per-region queries: