Dashboards
Drag-and-drop dashboards built from logs, traces, and metric queries. What panel types exist, how variables work, how sharing works.
Dashboards are Orbtrace's build-your-own view — panels of logs, traces, and metrics laid out on a grid for a war-room TV, a second monitor, or your morning check.
What a dashboard is
A collection of panels laid out on a grid. Each panel runs a query (over logs, traces, or metrics) and renders a chart, a single number, a table, or a heatmap. Dashboards are the screen you put on a war-room TV, on your laptop second monitor, and in your morning routine.
The dashboards index
Clicking Dashboards in the sidebar lands you on the index — a card grid of every dashboard in the instance. Each card shows:
- Title.
- Folder it belongs to (folders are optional, used for grouping by team).
- Tags.
- Last-modified timestamp and editor.
- "Star" to pin it to the top of the list.
- "Permissions" pill — who can read / edit.
Above the grid: a search box, folder filter, a "+ New dashboard" button, a "Browse templates" button (shows curated dashboards: Kafka, Redis, JVM, Spring, etc. — copy and customise).
Opening a dashboard
Click any card. The dashboard page has four parts:
- ① Title barDashboard name, folder, time picker, refresh interval, "Edit" toggle, share menu.
- ② Variables rowA row of dropdowns you can use to parameterise the dashboard — e.g.
$service,$environment. Picking a value re-runs every panel. - ③ Panel gridThe panels themselves. Drag corners to resize when in Edit mode; click any panel header for the panel menu.
- ④ FooterLast-refreshed timestamp, query duration, panel count.
Panel types
- Time seriesThe most common. Line / area / bar. Plot one or more metric queries over time. Y-axis label, units, legend position all configurable.
- StatA single big number. Use for "current RPS", "current error rate". Optional sparkline behind the number; optional thresholds that colour the number.
- GaugeA semi-circular dial. For values that have a meaningful "out of N" — e.g. error-budget remaining as % of monthly budget.
- Bar gaugeHorizontal bars, one per group-by value. For "top-N services by latency".
- TableRows × columns, with one column per attribute or aggregation. Sortable. Cell colour by threshold.
- HeatmapTime on X, histogram bucket on Y. For latency distributions over time.
- Logs panelA live tail of the matching log query, scoped to the time picker. Click any row to open the Logs detail drawer.
- Top listA simple ranked list — "top 10 endpoints by p99".
- MarkdownA text panel. Use for section headings, links to runbooks, owner contact info.
Variables — how they work
Click the gear icon, then "Variables". Add a variable with:
- Name (e.g.
service). - Type —
query(drop-down sourced from a metric attribute),interval(1m / 5m / 1h…),text(free text),constant(fixed value used in queries). - Default value and whether multi-select is allowed.
In a panel query, reference the variable as $service (or $service:all to include all values). When the user changes the dropdown at the top of the dashboard, every query referencing the variable re-runs.
Use variables to make one dashboard serve every team. A single "Service overview" dashboard with $service lets one person see checkout-api and another see inventory-service from the same template.
Editing panels
Click the panel title's "…" menu → Edit. The panel-edit view splits the screen:
- Left: QueryThe same picker / filter / group-by / aggregation as the Metrics explorer. Each panel can hold multiple queries.
- Right: PreviewThe chart as the panel will render.
- Right: StyleAxis labels, units, legend position, thresholds (numeric → colour), null handling (gap / connect / zero).
- Right: Field overridesOverride style per series (e.g. "always plot p99 in rose, regardless of theme").
Click Apply to save the edit and return to the dashboard. Discard reverts.
Sharing
The share menu (top-right of the dashboard) has three options:
- Copy URLPermanent URL pointing at the current state — time picker, variables, every selection. Use for chat.
- Open snapshotRenders the current view as a read-only snapshot URL. Snapshots freeze the data — useful for post-mortems where you want the dashboard to keep showing the incident state even after data is purged.
- Export JSONDownloads the dashboard definition. Importable on another Orbtrace instance.
Ownership and sharing
Each dashboard is owned by the user who created it (an owner_user_id on the record). Orbtrace has the two flat roles only — USER and ADMIN — and no per-dashboard access-control list: there's no separate read/edit/admin grant per board. You share a dashboard by Export JSON (or the read-only snapshot URL) and importing it elsewhere, not by granting another user permission on it. Everyone on the instance can build and save their own dashboards.
Templates
Curated dashboards (Kafka, Postgres, Redis, JVM, gRPC, Spring Boot, .NET, Node, Go runtime, Kubernetes pod) are listed under Browse templates. Importing a template copies it into your instance with the right variable hooks; you can then modify freely.
Tips
- One service per dashboard, parameterised by
$service. Reuse beats copy-paste. - Set a useful refresh interval. "Off" for static analysis, 30 s for live ops, 5 m for executive summary.
- Use Markdown panels. A 3-line "What is this dashboard for / who owns it / runbook link" panel at the top saves more time than another chart.
- Don't put everything on one dashboard. Three focused dashboards beat one mega-dashboard.
Next: Alerts.