Parent: #231 · Blocked by: #238
Scope
Add a "Performance" tab to the SvelteKit dashboard showing transaction data.
UI Components
Performance Tab (per project)
- Transaction list table: name, duration (ms), status badge, timestamp, release
- Sort by: newest, slowest, most frequent
- Filter by: transaction name, status, release
- Pagination
Transaction Detail Page
- Header: transaction name, total duration, release, environment, timestamp
- Waterfall chart: visual timeline of child spans
- Each span = horizontal bar showing start_offset and duration
- Color by
op category (db=yellow, http=blue, default=gray)
- Hover to see span details (op, description, status, data)
- Span list: op, description, duration, status
Slowest Widget
- Top 5 slowest transactions (configurable)
- Shows: name, avg duration, count
API Endpoints Needed
GET /api/projects/:id/transactions — list
GET /api/projects/:id/transactions/:txn_id — detail with spans
GET /api/projects/:id/transactions/slowest?limit=5 — widget data
Tasks
Effort: ~4 hours
Parent: #231 · Blocked by: #238
Scope
Add a "Performance" tab to the SvelteKit dashboard showing transaction data.
UI Components
Performance Tab (per project)
Transaction Detail Page
opcategory (db=yellow, http=blue, default=gray)Slowest Widget
API Endpoints Needed
GET /api/projects/:id/transactions— listGET /api/projects/:id/transactions/:txn_id— detail with spansGET /api/projects/:id/transactions/slowest?limit=5— widget dataTasks
+page.sveltefor performance tabEffort: ~4 hours