Enabling metrics
http://localhost:9090/metrics.
Metrics reference
Request metrics
| Metric | Type | Labels | Description |
|---|---|---|---|
proxy_hopper_requests_total | Counter | target, outcome | Total proxied requests |
proxy_hopper_request_duration_seconds | Histogram | target | Outbound request latency |
proxy_hopper_responses_total | Counter | target, status_code | 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.
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
Theprovider and region labels on IP-level and probe metrics come from proxyProviders — enabling per-provider and per-region queries:
Kubernetes scraping
The Kubernetes deployment manifests include pod annotations for Prometheus auto-discovery:/metrics endpoint.