#116 Activity Worker Monitoring UI - Dashboard and Detail Views
Description
Edit## Overview
Implement UI components for the new Activity Worker Monitoring API (Issue #164 in main issue tracker).
## API Endpoints Available
All endpoints require JWT authentication with view_workflows permission.
### 1. GET /api/v1/activities/status
Real-time status overview with workers array, summary stats, and queue metrics.
### 2. GET /api/v1/activities?status=running&limit=50
List activities with filtering (status, worker_id, function_name, workflow_run_id)
### 3. GET /api/v1/activities/{activity_id}
Detailed activity info including parameters, result, heartbeat_history
### 4. GET /api/v1/activities/stale?threshold=60
List activities that appear stuck (no heartbeat for >threshold seconds)
### 5. GET /api/v1/activities/{activity_id}/heartbeats
Heartbeat history for debugging
### 6. GET /api/v1/workflows/{workflow_run_id}/activities
All activities for a workflow run
## Required UI Components
### 1. Activity Workers Dashboard (new route: #/monitoring/activities)
- Worker status cards showing: worker_id, status (color-coded), current activity
- Queue summary stats: pending, running, completed/failed last hour
- Auto-refresh every 5-10 seconds
- Stale worker alerts (highlight workers with is_stale=true in red)
### 2. Activity List View
- Table with columns: activity_name, function, status, worker_id, duration, workflow_name
- Filters: status dropdown, worker dropdown, function search
- Pagination support
- Click row to navigate to activity detail
### 3. Activity Detail View (route: #/activities/{activity_id})
- Activity metadata: name, function, status, attempts
- Parameters display (JSON viewer)
- Result display (JSON viewer, handle encrypted results)
- Timing: created_at, started_at, completed_at, duration
- Worker info: worker_id, last_heartbeat
- Heartbeat history timeline (if available)
- Link to parent workflow run
- Link to logs (DataShard)
### 4. Workflow Activities Panel
- Add tab/section to workflow run detail page (#/runs/{id})
- Show all activities spawned by that workflow
- Mini timeline of activity execution
### 5. Stale Activity Alert Banner
- Global alert if any activities are stale
- Click to view stale activities list
## Design Requirements
- Use existing color scheme and component patterns
- Canvas-based visualization for worker status (like existing monitoring)
- Responsive design for 1440x900
- Loading spinners during API calls
- Error handling with user-friendly messages
- Auto-refresh with pause/resume control
## API Response Examples
### /api/v1/activities/status response:
{
"workers": [{
"worker_id": "activity-worker-1",
"status": "idle|busy|stale",
"registry_status": "online|offline",
"current_activity": { "activity_id": "uuid", "function": "tools.python.run", "running_seconds": 45 },
"is_stale": false,
"seconds_since_heartbeat": 5
}],
"summary": { "total_workers": 4, "healthy": 4, "busy": 3, "idle": 1, "stale": 0 },
"queue": { "pending": 0, "running": 3, "completed_last_hour": 12, "failed_last_hour": 0, "avg_running_seconds": 45.2 }
}
## Files to Create/Modify
- api/ui/templates/components/activity_monitor/ (new component)
- api/ui/templates/components/activity_detail/ (new component)
- Integrate with existing navigation/routing
Comments
Loading comments...
Context
Loading context...
Audit History
View AllLoading audit history...