Proxy telemetry reference

The Espresso AI proxy emits OpenTelemetry metrics, and logs over OTLP. When deployed with chart v0.3.0 / proxy-tf v0.4.0 or later, that traffic flows through the in-pod OTEL Collector sidecar and can be mirrored to a customer-owned OTLP backend (see otelCollector for Helm and otel_collector for Terraform).

This page lists what to expect on that customer-side stream so you can build dashboards and alerts against it.

Resource attributes

The following resource attributes are attached to every signal emitted by the proxy:

Attribute
Value
Source

service.name

proxy

Baked into the proxy image.

deployment.environment

prod

Derived from the ENV env var, which the chart and Terraform module set to PROD.

customer

The customer identifier you supplied during onboarding.

Derived from the CUSTOMER env var, which the chart and Terraform module wire from the customer value.

Standard OpenTelemetry SDK resource attributes (telemetry.sdk.name, telemetry.sdk.language=python, telemetry.sdk.version, process.runtime.*, host attributes) are also present.

Metrics

The proxy emits two custom metrics on top of any standard runtime metrics produced by the OpenTelemetry Python SDK.

Metric
Instrument
Unit
Description
Attributes

proxy_httpx_pool_connections

Observable gauge

{connection}

Snapshot of the httpx connection pool used to talk to Snowflake, sliced by connection state.

pool (logical pool name), stateopen, active, idle

proxy_httpx_pool_requests

Observable gauge

{request}

Snapshot of the httpx pool's request queue. Emitted only when the pool exposes its request queue.

pool, state = queued

proxy_endpoint_responses

counter

{response}

Status Code counter for the Proxy service's responses.

status_code

Use these to alert on pool saturation (state=queued rising, or state=active approaching the pool's configured limit).

Logs

The proxy ships Python logging records as OTLP log records. Each log record carries the resource attributes above, the standard severity_text / severity_number and the originating logger name.

How to subscribe

To receive these signals at your own OTLP backend, set the customer exporter on the OTEL Collector sidecar:

  • Helm — set otelCollector.customer.endpoint (and optionally customer.protocol, customer.signals, customer.authSecret, customer.tls.insecure). See Telemetry collector.

  • Terraform — set proxy_config.otel_collector.customer_endpoint (and the matching customer_* fields). See the otel_collector reference on the AWS and Azure pages.

By default the customer exporter mirrors all three signals (metrics, logs); narrow with customer.signals / customer_signals if you only want a subset.

Last updated