Dashboard

Monitor's UI lives at /dashboard/{team}/monitor. There are three views: Feature Health (the main table), Runs (per-feature drill-down), and Incidents.

Feature Health

One row per feature. Auto-created the first time the SDK reports an event for a new featureName. HTTP ping monitors live in the same table.

Runs subpage

Drill-down at /dashboard/{team}/monitor/features/{name}. Filter, search, and paginate raw events.

Group-by view

Toggle the toolbar between List and Group by to aggregate runs along a single facet.

Run drawer

The right-hand slide-out for a single event. Opens on row click, or by visiting the Runs subpage with ?run_id=<uuid> appended to its URL.

Export

Click Export CSV on the Runs page to download the runs the Runs view lists, under the same window and filters (status, platform, environment, release, from/to) and the same sort (newest, slowest, fastest; default newest). The response names its order in X-Onelo-Export-Order; a slowest or fastest export leaves out runs that were never timed and says so with X-Onelo-Untimed-Runs-Excluded: true. Repeated identical successes are stored as one row; its run_count column says how many runs that row stands for.

The download uses your authenticated dashboard session automatically. The screen-only sdk, model, trigger, app_build and search filters cannot be applied to thin run rows, so Runs asks you to clear them before exporting instead of returning a misleading file.

Export is hard-capped at 10,000 rows. If your current filters match more, the request returns 409 too_large. Reduce the time range or add a filter and retry.
A run carries no SDK version, model, trigger, app build or error text to filter on, so the export refuses sdk, model, trigger, app_build and q with 400 unsupported_filter rather than returning a file that ignored them.

For direct API clients, the same export is available with a dashboard JWT:

HTTP
GET /api/monitor/features/{feature_name}/runs/export?app_id=…&format=csv
Authorization: Bearer <session JWT>

Incidents

Incidents live at /dashboard/{team}/incidents. One row per incident, scoped to the app.

All dashboard URLs preserve filters in query params — copy the URL to share a filtered view with your team.
Monitor — Dashboard | Onelo Docs