> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trymaitai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reviewing Monitor Results

> Track error rate over time and answer 'is this Monitor healthy?'

Every sampled production event produces a `monitor_run`, the verdict (`pass` / `warning` / `error`,
or `failed` if the runner crashed), the source event reference, the judge invocation reference, and a
decorated trace of which conditions matched.

The Monitor detail page surfaces these two ways.

## At-a-Glance

The top of the Monitor detail page shows a per-target card for each attached target:

* Target type and its sample rate
* The target's **error rate** over the window
* An error-rate sparkline (last 24h)

Use this to spot which target is misbehaving across a multi-target Monitor.

## Activity chart

The **Monitor Activity** chart plots the error rate over time. Filters:

* **Targets**: multi-select; defaults to all targets
* **Outcome**: `pass` / `warning` / `error`
* **Bucket**: hour / day depending on the time range

## "Is this Monitor healthy right now?"

For agents, dashboards, and deeper analysis, the API exposes the underlying runs and rollups:

* [`GET /monitors/{monitor_id}/metrics`](/api-reference/overview) returns a single roll-up over a
  window, total sampled, pass/warning/error counts, rates, and the last-run timestamp. Add
  `?monitor_target_id=...` for a per-target version.
* [`GET /monitors/runs/by-source`](/api-reference/overview) returns every monitor run that evaluated
  a given production event, useful for "what monitors fired on this request, and what did they say?"
* Each `monitor_run` carries the decorated **resolution trace** (the resolution rule annotated with
  which conditions matched), the runner output, and runtime metadata.

## Failed vs error

`failed` is reserved for runtime crashes, the runner itself blew up and we couldn't compute a
verdict. `error` is the normal "the resolution rule matched an error condition" case. They're tracked
separately so a noisy runner doesn't silently inflate your error rate.
