Skip to main content
The Models page (labeled Model registry in the dashboard) breaks down every model your project has called over the selected time range, so you can compare cost, latency, and reliability model-by-model rather than only in aggregate.

Summary stats

Four figures across the top of the page, aggregated over the selected range:

Table columns

Sort by cost, calls, errors, or latency using the selector in the page header; search and filter by provider using the controls above the table.

Lifecycle column

The Lifecycle column shows a countdown chip for any model that either has an open Model Lifecycle finding in this project, or simply has a known retirement date in Zespan’s catalogue — even if that date is far enough out that it hasn’t produced a finding yet. This is the one place on this page where a model can show lifecycle information without there being an active alert: the catalogue is broader than “worth notifying about.” The chip’s color follows the same urgency ladder as the findings page:
  • Neutral (grey) — more than 30 days out, or catalogued but not yet been called
  • Warning (amber) — 30 days or fewer remaining
  • Danger (red) — 7 days or fewer remaining, or already retired
A model with no catalogue entry and no finding shows a plain dash. When at least one model on the page has an open finding, a banner appears above the table linking to the full Model lifecycle findings page.

Model detail

Click any row to open that model’s own detail page — the follow-up to the table above: “should I switch this workload to something cheaper?” The header repeats the model id, its provider, an overall health dot (green under 1% error rate), and how long it’s been called plus its trace/agent/operation counts. A range selector (7d/30d/90d) scopes every panel below, same as the table.

Overview

  • Volume and cost — calls and spend per day
  • Latency — average response time and time-to-first-token per day
  • Cache effectiveness — share of input tokens served from cache per day; blank when this model has never returned a cached token

Cost vs quality

A scatter of every model called in the project over the same range — average cost per call on the x-axis, average eval score on the y-axis, bubble size scaled to call volume. This model’s own point is highlighted; points below the axis line have no quality score yet. Below the chart, a Cheaper alternatives table lists every model that costs less per call and scores no worse on quality (a small tolerance absorbs noise near a tie) — the direct candidates for “switch this workload here.” A model with no quality score of its own still surfaces here on cost alone, since there’s no evidence yet that it’s worse.

Reliability

Daily error rate as a bar chart, plus a Top error codes table ranking the most frequent failure reasons for this model in range.

Quality

Average eval score, pass rate, and evaluator count, followed by a daily score trend and a per-evaluator breakdown (evaluations, average score, pass/fail counts). Shows an empty state instead of zeros when no evaluator has scored a trace using this model in the selected range — attach an evaluator to a prompt, or run a retroactive evaluation, to populate it.

Usage

Two tables — which agents call this model, and which SDK operations route work to it — each with calls, cost, average latency, and error rate, so you can see not just how a model performs but who’s actually depending on it.
Model ids that contain a dot or slash (gpt-5.6-luna, openrouter/some-provider/some-model) work as expected — the dashboard URL-encodes the model segment and decodes it back before display, API calls, and the page title.

Next steps

  • Model Lifecycle — the full deprecation radar: findings, the re-raise ladder, and dismissing
  • Costs — the cost-by-model chart this table’s Cost column complements
  • Model lifecycle feed reference — where the Lifecycle column’s dates come from