🌐 US-Proxy
class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
Skip to content

Commit 350c639

Browse files
committed
chore: add gateway metrics to documentation
1 parent 36cea34 commit 350c639

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

docs/admin/integrations/prometheus.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,10 @@ deployment. They will always be available from the agent.
113113
| `coder_ai_gateway_circuit_breaker_rejects_total` | counter | Total number of requests rejected due to open circuit breaker. | `endpoint` `model` `provider` |
114114
| `coder_ai_gateway_circuit_breaker_state` | gauge | Current state of the circuit breaker (0=closed, 0.5=half-open, 1=open). | `endpoint` `model` `provider` |
115115
| `coder_ai_gateway_circuit_breaker_trips_total` | counter | Total number of times the circuit breaker transitioned to open state. | `endpoint` `model` `provider` |
116+
| `coder_ai_gateway_cost_control_blocked_requests_total` | counter | The number of AI requests blocked because the initiator's budget was exceeded. | `group_id` |
117+
| `coder_ai_gateway_cost_control_blocked_users` | gauge | The number of users currently over their AI budget. | `group_id` |
118+
| `coder_ai_gateway_cost_control_enforcement_duration_seconds` | histogram | The duration of AI budget enforcement checks, in seconds (outcome: allowed, blocked, error). | `outcome` |
119+
| `coder_ai_gateway_cost_control_unpriced_requests_total` | counter | The number of recorded AI requests for which no model price was found (provider: anthropic, openai, copilot). | `model` `provider` |
116120
| `coder_ai_gateway_injected_tool_invocations_total` | counter | The number of times an injected MCP tool was invoked by AI Gateway. | `model` `name` `provider` `server` |
117121
| `coder_ai_gateway_interceptions_duration_seconds` | histogram | The total duration of intercepted requests, in seconds. The majority of this time will be the upstream processing of the request. AI Gateway has no control over upstream processing time, so it's just an illustrative metric. | `model` `provider` |
118122
| `coder_ai_gateway_interceptions_inflight` | gauge | The number of intercepted requests which are being processed. | `model` `provider` `route` |

scripts/metricsdocgen/metrics

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,31 @@ promhttp_metric_handler_requests_in_flight 1
147147
promhttp_metric_handler_requests_total{code="200"} 2
148148
promhttp_metric_handler_requests_total{code="500"} 0
149149
promhttp_metric_handler_requests_total{code="503"} 0
150+
# HELP coder_ai_gateway_cost_control_blocked_requests_total The number of AI requests blocked because the initiator's budget was exceeded.
151+
# TYPE coder_ai_gateway_cost_control_blocked_requests_total counter
152+
coder_ai_gateway_cost_control_blocked_requests_total{group_id="a1b2c3d4-e5f6-7890-abcd-ef1234567890"} 0
153+
# HELP coder_ai_gateway_cost_control_blocked_users The number of users currently over their AI budget.
154+
# TYPE coder_ai_gateway_cost_control_blocked_users gauge
155+
coder_ai_gateway_cost_control_blocked_users{group_id="a1b2c3d4-e5f6-7890-abcd-ef1234567890"} 0
156+
# HELP coder_ai_gateway_cost_control_enforcement_duration_seconds The duration of AI budget enforcement checks, in seconds (outcome: allowed, blocked, error).
157+
# TYPE coder_ai_gateway_cost_control_enforcement_duration_seconds histogram
158+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.0005"} 0
159+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.001"} 0
160+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.0025"} 0
161+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.005"} 0
162+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.01"} 0
163+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.025"} 0
164+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.05"} 0
165+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.1"} 0
166+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.25"} 0
167+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="0.5"} 0
168+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="1"} 0
169+
coder_ai_gateway_cost_control_enforcement_duration_seconds_bucket{outcome="allowed",le="+Inf"} 0
170+
coder_ai_gateway_cost_control_enforcement_duration_seconds_sum{outcome="allowed"} 0
171+
coder_ai_gateway_cost_control_enforcement_duration_seconds_count{outcome="allowed"} 0
172+
# HELP coder_ai_gateway_cost_control_unpriced_requests_total The number of recorded AI requests for which no model price was found (provider: anthropic, openai, copilot).
173+
# TYPE coder_ai_gateway_cost_control_unpriced_requests_total counter
174+
coder_ai_gateway_cost_control_unpriced_requests_total{model="gpt-5-nano",provider="openai"} 0
150175
# HELP coder_ai_gateway_injected_tool_invocations_total The number of times an injected MCP tool was invoked by AI Gateway.
151176
# TYPE coder_ai_gateway_injected_tool_invocations_total counter
152177
coder_ai_gateway_injected_tool_invocations_total{model="gpt-5-nano",name="coder_list_templates",provider="openai",server="https://xxx.pit-1.try.coder.app/api/experimental/mcp/http"} 1

0 commit comments

Comments
 (0)