Metrics Latest

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.

Endpoint configuration

SettingDefaultDescription
Port2223Configurable via OTEL_PROM_EXPORTER_PORT.
Path/metricsStandard Prometheus scrape path.
EnabledtrueConfigurable via OTEL_PROM_EXPORTER_ENABLED.

Both components also support OTLP metric export. See Environment Variables for configuration.

Interceptor metrics

Request count

Prometheus nameinterceptor_request_count_total
OTel instrument nameinterceptor.request.count
TypeCounter
DescriptionTotal requests processed by the interceptor proxy.

Labels:

LabelDescription
codeHTTP response status code (integer).
cold_starttrue when the request waited for backend readiness, including waits that ended before the backend became ready; otherwise false.
methodHTTP request method. Non-standard methods are normalized to _OTHER (see Method normalization).
route_nameName of the matched InterceptorRoute or HTTPScaledObject.
route_namespaceNamespace of the matched route resource.

Request concurrency

Prometheus nameinterceptor_request_concurrency
OTel instrument nameinterceptor.request.concurrency
TypeUpDownCounter (gauge)
DescriptionRequests currently in-flight at the interceptor proxy.

Labels:

LabelDescription
route_nameName of the matched InterceptorRoute or HTTPScaledObject.
route_namespaceNamespace of the matched route resource.

Request duration

Prometheus nameinterceptor_request_duration_seconds
OTel instrument nameinterceptor.request.duration
TypeHistogram
UnitSeconds
DescriptionTime 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:

LabelDescription
codeHTTP response status code (integer).
cold_starttrue when the request waited for backend readiness, including waits that ended before the backend became ready; otherwise false.
methodHTTP request method. Non-standard methods are normalized to _OTHER (see Method normalization).
route_nameName of the matched InterceptorRoute or HTTPScaledObject.
route_namespaceNamespace of the matched route resource.

Cold-start duration

Prometheus nameinterceptor_cold_start_duration_seconds
OTel instrument nameinterceptor.cold_start.duration
TypeHistogram
UnitSeconds
DescriptionTime 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:

LabelDescription
outcomeReadiness wait result: ready when backend became ready, timeout when wait ended with another error, or cancelled when request context was cancelled.
route_nameName of the matched InterceptorRoute or HTTPScaledObject.
route_namespaceNamespace of the matched route resource.

Cold-start rejections

Prometheus nameinterceptor_cold_start_rejections_total
OTel instrument nameinterceptor.cold_start.rejections
TypeCounter
DescriptionRequests rejected because the cold-start pending request limit was reached.

Labels:

LabelDescription
route_nameName of the matched InterceptorRoute or HTTPScaledObject.
route_namespaceNamespace of the matched route resource.

Method normalization

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.

Scaler metrics

Pinger fetch duration

Prometheus namescaler_pinger_fetch_duration_seconds
OTel instrument namescaler.pinger.fetch.duration
TypeHistogram
UnitSeconds
DescriptionDuration 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

Pinger fetch errors

Prometheus namescaler_pinger_fetch_errors_total
OTel instrument namescaler.pinger.fetch.errors
TypeCounter
DescriptionTotal failed queue pinger fetch cycles.

Pinger endpoints

Prometheus namescaler_pinger_endpoints
OTel instrument namescaler.pinger.endpoints
TypeGauge
DescriptionNumber of interceptor endpoints the scaler is polling.