Skip to content
Cloud Score Docs

Observability

The per-request audit trail and the gateway's health: filter the request list, open a request for its route, attempts, cost and savings receipt, and read latency, outcomes and retries on Gateway health.

WhereAnalyticsObservabilityNeeds a gateway key that has sent trafficOpen in Cloud Score
Observability › Requests: the Requests and Gateway health tabs, five KPI tiles including AI spend, the filter chips and the request table.
Observability: every request, newest first, with filters for status, provider, model, key and attribution.
On this page

Prompt Optimization: optimize, review, then run

Prompt Optimization has one ON/OFF control, defaults ON, and accepts any prompt length. In Playground, Optimize prompt prepares a complete optimized prompt before answer routing, at the level you pick — Standard, Balanced or Thorough. Live counts use a real backend tokenizer. Review the original, optimized version and diff, then choose Run original or Run optimized. Our checks cannot guarantee that meaning is preserved, which is why you review the result. Editing the request invalidates its comparison. Workspace defaults are under Optimization › Settings.

Playground explicitly requests a bounded optimization and shows its recorded cost. A rejected, unavailable or unhelpful result falls back to your original without hiding its expense. Requests sent ON without a prepared proposal are optimized by structural rules only. Comparison details show the outcome, the rules applied and the measured work time. Infrastructure still consumes resources; unallocated compute keeps fully loaded savings unknown. Historical optimization expenses remain recorded and are not reset to zero.

The execution receipt distinguishes the selected prompt from the prompt actually sent for the answer, including no provider send when a cache supplies it. Optimization can have a recorded cost even when the original is selected or no answer is generated. Unknown infrastructure cost keeps fully loaded net unknown. Fewer tokens do not establish a latency or quality improvement. Analytics, ROI and Reports reuse Prompt Optimization evidence with production/demo filters and daily, weekly and monthly views.

See Playground for comparison and recovery, and Analytics for measurement coverage. Historical compression receipts do not establish choices or costs that were never recorded.

What you see

Observability is under Analytics in the sidebar and has two tabs: Requests, the per-request audit trail titled Agent request explorer, and Gateway health. On Requests, five KPI tiles show Total requests, Gateway success rate, total input and output tokens, AI spend and Avg LLM provider latency. AI spend is list price, as on the analytics pages. Use a tile's Exact value control to read its full value.

The table, 50 rows a page, shows Request · time (UTC), Agent, Environment, Gateway status, Model · provider, Routing strategy, Input tokens, Output tokens, List cost estimate, Provider latency, Retry / fallback evidence and Error. Wide tables scroll within their labelled region; keyboard users can focus that region and scroll horizontally.

Open a row for the Request drawer. It shows the request id with Copy id, View full request and View in raw data, then the recorded evidence below.

Observability › Requests with the Request drawer open: the request id with Copy id, View full request and View in raw data, then Request details and the start of Metrics.
The Request drawer in Observability: the request's recorded details, and further down the drawer the same stations the Playground showed.
SectionEvidence
Request detailsTime, provider, model, status, key, object, requester, stream and matched routing rules. Missing fields state their cause.
Metrics / Cost / Platform API overheadRecorded usage, latency and server-computed Decimal amounts. List cost, provider billable cost and platform overhead remain separate.
Pipeline stations and guardrail verdictsRecorded gateway stages. Failed attempts retain the word failed as well as their lowered rail position.
Candidates and recorded decisionThe operative selection, candidate evidence and any separate final failover error. A later error does not erase an earlier selection.
Optimization / CacheActual dispatched prompt receipt or historical compression evidence, plus recorded cache outcome. An unrecorded saving is unavailable, never an assumed zero.
Classification / Request and response previews / AttemptsAvailable gateway detail. Body storage, document processing and security can make previews unavailable.
Pull requestsExisting GitHub correlation evidence; if more than 20 are linked, the first 20 are shown with a link to all of them in Signals.

What you can do

ActionBehavior
SearchMatches a request ID, agent, model or environment.
Failed requests / Most expensiveShortcuts that filter to failed requests, or sort by list cost estimate, highest first.
Agent / Environment / Provider type / Model / Object / Requester / Status / API keySelect several values in each filter chip. Provider type filters a provider type; the table shows the provider instance. Team, User and Model family chips appear when a link from an analytics page sets them. Filter changes reset to page 1 and replace the URL.
SourceProduction excludes requests marked as demo; All sources includes them.
UTC rangeChoose 1 day, 1 week, 2 weeks or 1 month (the default), or custom days ending today. A range longer than 366 days is rejected visibly and no affected data request runs.
Sortable headerTime, input and output tokens, list cost estimate and provider latency are sorted by the server. A new key starts descending and resets to page 1.
Numbered pageLoads the selected server page. Total and Displayed report the filtered result and displayed rows; page=N remains shareable.
A rowPushes trace=<uuid> into the URL and opens the Request drawer. Back and Forward restore the drawer and filter state.
View full requestOpens the request page with its Overview, Execution, Cost & savings and Details tabs.
Refresh / RetryRefreshes list, totals and the open request. A failed refresh keeps loaded evidence with a notice and actual Retry.

Step-by-step

  1. Open Observability and choose the incident's UTC period.

  2. Choose failed or blocked in Status, and narrow with the other chips.

  3. Open the matching row.

    Read the recorded status, error and Attempts. The pipeline and candidate section explain what was selected and where execution stopped.

  4. Use View full request for a dedicated page, or View in raw data for scoped Signals evidence.

  5. Close the drawer.

    Focus returns to the row that opened it. A directly loaded request link closes to the named table region.

Savings receipt

The request page's Overview tab ends with the Savings receipt, labelled Estimate: how this one request's savings were measured. It lists the Reference model and its source, Reference cost, Actual cost (list price), the per-mechanism savings Routing, Response cache and Compression, Gross savings, − Cloud Score overhead (known) and = Net savings, then the Price card and Re-priced on reconcile. Its footer names the basis and the definitions version, with View cost details.

When no reference model was recorded, the receipt says no savings are claimed; while the cost is not settled, it says savings appear once the request is priced. A negative amount keeps its minus sign, and an unknown amount reads — with its cause, never $0.

Gateway health

Observability › Gateway health: the hourly-capable range and traffic source, mean and P95 latency tiles, Latency over time beside Latency distribution, then the tops of Request outcomes and Retries & fallbacks.
Gateway health: latency, outcomes, retries and fallbacks, down to the hour.

Gateway health, the second tab at /logs/health, is the operator view of the gateway: Mean latency and P95 latency, Latency over time, Latency distribution, Request outcomes, Retries & fallbacks and the Routing strategy mix, with evidence sheets for exact values. It keeps its own hourly-capable range: 1h, 24h, 7d (the default), 30d or custom, with hourly buckets up to two days. See Gateway health for every section.

Reading the numbers

MeasurementMeaning
AI spendTokens at published model prices before provider cache-read discounts, for the filtered period. The full server Decimal is behind the tile's Exact value control.
List cost estimateThe same list-price basis for one request. The full server Decimal is reachable from the cell's help control.
Provider latencyMeasured provider time, with the gateway's own latency beneath it. Missing causes distinguish cached or deduplicated responses, blocked or failed requests that made no provider call, and calls with no recorded timing.
Prompt comparison / provider usageMessage-text comparison counts and actual provider usage are separate. Historical compression receipts retain their original prompt-basis measurements.
Savings (est.)Server-computed estimates. Negative values remain visible in error ink with a true minus; missing measurements state why they are unavailable.

Good to know

A request link preserves your view

Range, filters, sort, page and the open request are shareable URL state. A malformed ID is ignored; a missing or inaccessible request closes with a visible message. If you are not signed in, normal account verification applies.

No traffic, an empty period, filtered results and a page beyond the end have distinct messages and relevant actions. Missing records do not create synthetic usage. Gateway success does not confirm agent execution success. See Investigate a request for the cross-screen workflow.

Related