Catalog
The release page groups the metrics the same way.Behavior
Reliability
Cost and latency
Output length counts tokens when at least 95 % of turns on both sides have token counts, and characters otherwise. The release page shows the unit.
Rates and averages are taken over the whole release. Tool error rate is all failed tool calls divided by all tool calls, not an average of per turn rates.
When several metrics fail, messages and the release page list them in the group order above, and inside a group by how far they are past their tolerance.
Tolerances
A tolerance is the largest change that still counts as no regression. Worse when says which direction counts; a change in the other direction never fails a release. Rates have a tolerance in percentage points (pp). A percentage point is the plain difference between two percentages: a tool error rate that goes from 2 % to 4 % changes by +2 pp, even though it doubled. With the default tolerance of 2 pp, that is the largest change that still counts as no regression. The other metrics have a tolerance in percent of the previous value. Latency that goes from 2.0 s to 2.4 s changes by +20 %. The Change column on the release page uses the same units. A guardrail fails only when Apgar is confident that the change is past the tolerance, not as soon as the measured change crosses it. See How a metric is judged.Change the defaults
Per agent, in Agent settings, Metrics:
Making a guardrail informational keeps it visible without letting it fail a release. To leave a metric out for one release only, use expected changes.
When a metric is unavailable
Some metrics need data that not every instrumentation records. When that data is missing, or the metric does not apply, the release page lists the metric as unavailable under its group, with the reason.
An unavailable guardrail does not hold the release back; the verdict uses the other guardrails. The exception is a guardrail whose previous value is 0 or whose values are too sparse: it keeps the release in Not enough data until it can be compared or is made informational. An agent with no available guardrail never reaches Healthy.
Slices
A slice is the part of a release’s traffic that shares one value of a dimension: the turns that called theweb_search tool, the turns that came from Slack, or the turns answered by one model. Apgar computes every available metric per slice, for the previous release and this one, to show where a change is concentrated.
Select a metric on the release page to see its slices, one table per dimension:
Slices never decide the verdict. The whole release is judged; slices only say where the change is. A slice table counts the slices that regressed, and the message for a failing metric sums them up, for example “Concentrated in web_search.” See Attribution.
A slice is compared only when both sides have at least Minimum turns per slice turns, 100 by default, or that many tool calls for Tool error rate and Retry rate. Values that are not compared are listed below the tables with the reason:
Turns per session is sliced by the first turn of each session, except that a session counts in a tool slice when any of its turns called the tool. It has no session depth slice.