Custom Dashboards
Build any visualisation from your telemetry data by writing SQL and choosing a chart type. Dashboards are saved to your tenant's D1 database and shared across your team.
Screenshot needed
Dashboards list page: 3 dashboard cards in a grid. Card 1: 'Production Overview', 5 panels, updated 2h ago. Card 2: 'Payment Service', 3 panels, updated 1d ago. Card 3: 'API Performance', 2 panels. Each card has a Trash icon in top-right corner (visible on hover). '+ New Dashboard' button in top right.
Creating a dashboard
Click + New Dashboard, type a name, and press Enter or click Create. The empty dashboard opens immediately — add your first panel.
Adding panels
Click + Add panel to open the panel editor.
Screenshot needed
Panel editor modal: Title field='P99 Latency by Service', SQL textarea showing a SELECT query with AVG(p99) grouped by service, Chart type buttons showing 'line' selected (cyan), Width buttons showing 'Full' selected. Preview button at bottom. Small preview table showing results: api-gateway 342ms, payment-service 1840ms.
Panel SQL
Any SELECT query against your hot index tables works:
-- Request rate over time
SELECT
(timestamp / 3600000) * 3600000 AS bucket,
service,
COUNT(*) AS requests
FROM recent_spans
WHERE timestamp > 1784623310440
GROUP BY bucket, service
ORDER BY bucket ASC
-- Error rate by service
SELECT
service,
COUNT(*) AS total,
SUM(is_error) AS errors,
ROUND(SUM(is_error) * 100.0 / COUNT(*), 1) AS error_pct
FROM recent_spans
GROUP BY service
ORDER BY error_pct DESC
-- p99 latency from metrics
SELECT
service,
AVG(p99) AS avg_p99,
MAX(p99) AS max_p99
FROM metrics_samples
WHERE metric_name = 'http.server.request.duration'
AND timestamp > 1784558510440
GROUP BY serviceChart types
| Type | Best for |
|---|---|
| Line | Time-series data — latency, request rate over time |
| Bar | Comparing values across categories — errors per service |
| Area | Volume over time — memory usage, throughput |
| Stat | Single large number — current error count, total requests today |
| Table | Raw tabular data — top 10 slowest spans, recent errors |
Screenshot needed
Dashboard with 2 panels: top-left full-width line chart 'Request Rate' with 3 service lines (api-gateway=cyan, payment-service=purple, user-service=emerald). Bottom: stat panel on left showing '847' (total errors today) and table panel on right showing 5 rows of slowest spans.
Saving
After adding or editing panels, click Save in the top right. The dashboard is saved to D1 and immediately available to all team members.