Warning
You are currently viewing v0.16 of the documentation and it is not the latest. For the most recent documentation, kindly click here.
Metrics
Reference for all Prometheus metrics exposed by the HTTP Add-on
The interceptor and the external scaler expose metrics via OpenTelemetry, with a Prometheus-compatible endpoint enabled by default on each component.
| Setting | Default | Description |
|---|---|---|
| Port | 2223 | Configurable via OTEL_PROM_EXPORTER_PORT. |
| Path | /metrics | Standard Prometheus scrape path. |
| Enabled | true | Configurable via OTEL_PROM_EXPORTER_ENABLED. |
Both components also support OTLP metric export. See Environment Variables for configuration.
| Prometheus name | interceptor_request_count_total |
| OTel instrument name | interceptor.request.count |
| Type | Counter |
| Description | Total requests processed by the interceptor proxy. |
Labels:
| Label | Description |
|---|---|
code | HTTP response status code (integer). |
cold_start | true when the request waited for backend readiness, including waits that ended before the backend became ready; otherwise false. |
method | HTTP request method. Non-standard methods are normalized to _OTHER (see Method normalization). |
route_name | Name of the matched InterceptorRoute or HTTPScaledObject. |
route_namespace | Namespace of the matched route resource. |
| Prometheus name | interceptor_request_concurrency |
| OTel instrument name | interceptor.request.concurrency |
| Type | UpDownCounter (gauge) |
| Description | Requests currently in-flight at the interceptor proxy. |
Labels:
| Label | Description |
|---|---|
route_name | Name of the matched InterceptorRoute or HTTPScaledObject. |
route_namespace | Namespace of the matched route resource. |
| Prometheus name | interceptor_request_duration_seconds |
| OTel instrument name | interceptor.request.duration |
| Type | Histogram |
| Unit | Seconds |
| Description | Time from request received to response written. |
Bucket boundaries: 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, 15, 30, 60, 120, 300.
The first boundaries follow the OTel HTTP semantic conventions, and the additional boundaries expose longer cold-start request durations.
Labels:
| Label | Description |
|---|---|
code | HTTP response status code (integer). |
cold_start | true when the request waited for backend readiness, including waits that ended before the backend became ready; otherwise false. |
method | HTTP request method. Non-standard methods are normalized to _OTHER (see Method normalization). |
route_name | Name of the matched InterceptorRoute or HTTPScaledObject. |
route_namespace | Namespace of the matched route resource. |
| Prometheus name | interceptor_cold_start_duration_seconds |
| OTel instrument name | interceptor.cold_start.duration |
| Type | Histogram |
| Unit | Seconds |
| Description | Time spent waiting for a cold-start backend to become ready. |
The metric is recorded only when a request waits for backend readiness.
Bucket boundaries: 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, 15, 30, 60, 120, 300.
Labels:
| Label | Description |
|---|---|
outcome | Readiness wait result: ready when backend became ready, timeout when wait ended with another error, or cancelled when request context was cancelled. |
route_name | Name of the matched InterceptorRoute or HTTPScaledObject. |
route_namespace | Namespace of the matched route resource. |
| Prometheus name | interceptor_cold_start_rejections_total |
| OTel instrument name | interceptor.cold_start.rejections |
| Type | Counter |
| Description | Requests rejected because the cold-start pending request limit was reached. |
Labels:
| Label | Description |
|---|---|
route_name | Name of the matched InterceptorRoute or HTTPScaledObject. |
route_namespace | Namespace of the matched route resource. |
The method label accepts the following standard HTTP methods without modification:
CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE
All other method values are replaced with _OTHER to prevent unbounded label cardinality.
| Prometheus name | scaler_pinger_fetch_duration_seconds |
| OTel instrument name | scaler.pinger.fetch.duration |
| Type | Histogram |
| Unit | Seconds |
| Description | Duration of a queue pinger fetch cycle across all interceptor pods. |
Bucket boundaries: 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5
| Prometheus name | scaler_pinger_fetch_errors_total |
| OTel instrument name | scaler.pinger.fetch.errors |
| Type | Counter |
| Description | Total failed queue pinger fetch cycles. |
| Prometheus name | scaler_pinger_endpoints |
| OTel instrument name | scaler.pinger.endpoints |
| Type | Gauge |
| Description | Number of interceptor endpoints the scaler is polling. |