Overview
The Cadence Web UI (also known as Cadence Web) is a standalone web application that connects to your Cadence server to provide:- Workflow Monitoring: View workflow execution history, status, and progress
- Search & Filtering: Query workflows using advanced visibility features
- Domain Management: Browse and manage domains and their configurations
- Task List Monitoring: Monitor task list backlogs and worker polling
- Visual Workflow History: Inspect event histories with detailed traces
Setup and Deployment
Using Docker Compose
The easiest way to run Cadence Web UI is with Docker Compose:http://localhost:8088
Configuration Options
gRPC Connection
Connect to Cadence server using gRPC:Thrift Connection (Legacy)
For older deployments using Thrift:Multiple Frontend Hosts
Specify multiple frontend servers for high availability:Standalone Installation
For production deployments, run the Web UI as a separate service:Key Features
Workflow Monitoring
Workflow List View
The main dashboard displays all workflows with:- Workflow ID and Run ID
- Workflow Type
- Current Status (Running, Completed, Failed, Timed Out)
- Start and Close Times
- Execution Duration
Workflow Details
Click on any workflow to view:- Complete event history
- Input and output payloads
- Pending activities
- Timer information
- Child workflows
- Signal history
Event History Visualization
The UI provides a visual timeline of workflow events:- Decision task scheduled/started/completed
- Activity task scheduled/started/completed/failed
- Timer events
- Signal events
- Child workflow events
- Workflow completion events
Search and Filtering
Basic Visibility Search
Filter workflows by:- Workflow ID: Exact or prefix match
- Workflow Type: Filter by workflow type name
- Status: Open, Closed, Completed, Failed, Terminated, Timed Out
- Time Range: Start time or close time ranges
Advanced Visibility Search
With Elasticsearch or other advanced visibility stores, you can:Domain Management
View Domains
Browse all registered domains and their properties:- Domain name and description
- Owner information
- Retention period
- Archival configuration
- Active clusters
- Global domain status
Domain Configuration
View domain-level settings:- Workflow execution timeout
- Task list configuration
- Isolation groups
- Bad binary information
Task List Monitoring
Task List View
Monitor task list health:- Pending Tasks: Number of tasks waiting for workers
- Pollers: Active worker count
- Task Age: Time since oldest task was created
- Rate: Task dispatch rate
Task List Types
- Decision Task Lists: Tasks for workflow decisions
- Activity Task Lists: Tasks for activity execution
- Sticky Task Lists: Task lists for workflow cache affinity
Usage Examples
Finding Failed Workflows
- Navigate to the Workflows tab
- Set Status filter to Failed
- Set time range (e.g., Last 24 hours)
- Review failure reasons in workflow details
Debugging Workflow Execution
- Search for workflow by ID or filters
- Click on workflow to open details
- Review Event History tab
- Examine decision task payloads
- Check activity input/output
- Review timeout settings
Monitoring Workflow Performance
- Use time range filters to view recent workflows
- Sort by execution duration
- Identify slow workflows
- Examine event history for bottlenecks
- Check activity retry patterns
Bulk Operations
While the UI provides visualization, use the CLI for bulk operations:Integration with Advanced Features
With Archival
View archived workflow histories:- Access archived workflows beyond retention period
- Query archived visibility records
- View history from archive storage
With Advanced Visibility
Enable rich querying:- Custom search attributes
- Complex boolean queries
- Cross-domain searches
With Authorization
Access control integration:- JWT authentication
- OAuth providers
- Role-based access control
- Domain-level permissions
Best Practices
Performance
- Use Filters: Always filter workflows by time range or status
- Pagination: Navigate large result sets with pagination
- Archived Queries: Query archived workflows separately
- Search Attributes: Index frequently queried fields
Security
- Network Security: Deploy Web UI behind a reverse proxy
- TLS: Enable TLS for frontend connections
- Authentication: Implement OAuth or JWT authentication
- CORS: Configure CORS for web clients
Monitoring
- Health Checks: Monitor Web UI container health
- Frontend Connectivity: Alert on frontend connection failures
- Response Times: Track query performance
- Error Rates: Monitor for query errors
Troubleshooting
Connection Issues
Problem: Cannot connect to Cadence server Solution:Search Not Working
Problem: Advanced queries return no results Solution:- Verify Elasticsearch is running and accessible
- Check that advanced visibility is enabled
- Ensure search attributes are registered
- Verify domain has visibility archival configured
Slow Performance
Problem: UI is slow to load workflows Solution:- Reduce time range in queries
- Use more specific filters
- Check Elasticsearch performance
- Verify frontend server load
- Increase frontend resource limits
Repository and Resources
- GitHub: cadence-workflow/cadence-web
- Docker Hub: ubercadence/web
- Documentation: Deployment Guide
Next Steps
- Learn about Schema Tools for database management
- Explore Benchmarking for performance testing
- Configure Archival for long-term storage
- Set up Advanced Visibility for rich querying