Evaligo provides comprehensive progress tracking for flow executions, allowing you to monitor status, view real-time logs, and understand exactly where your workflow is in its execution.
Real-Time Visual Feedback
Node Status Indicators
Each node in your flow displays its current status:
⏸ Pending (gray): Waiting to execute
🔄 Running (animated): Currently processing
✓ Success (green): Completed successfully
✗ Error (red): Failed with error
⊘ Skipped (yellow): Not executed (conditional logic)Connection Highlights
Data flowing between nodes is visualized:
- Active connections pulse/animate
- Shows data moving through pipeline
- Helps identify bottlenecks
- Visual confirmation of flow logic
Progress Metrics
Overall Flow Progress
Flow Execution
Running
65%
Progress
Nodes: 5/8 completed~1m 20s remaining
Elapsed: 2m 15s
Item-Level Progress
For flows processing arrays:
67
Processed
of 100 total
64
Successful
95.5% success rate
3
Failed
4.5% failure rate
Remaining: 33 itemsRate: 1.2 items/sec
Resource Usage
API Calls
142
Tokens Used
45,234
Estimated Cost
$0.92
Credits Remaining
4,508
Tip
Click any node during execution to see its real-time status, including inputs received and outputs produced so far.
Execution Logs
Live Log Stream
View detailed logs as your flow executes:
[10:30:00.123] Flow started
[10:30:00.145] Node: API Input - Started
[10:30:00.167] Node: API Input - Output: {"url": "https://example.com"}
[10:30:00.189] Node: Website Mapper - Started
[10:30:05.234] Node: Website Mapper - Found 12 pages
[10:30:05.256] Node: Website Mapper - Output: {"urls": [...]}
[10:30:05.278] Node: Array Splitter - Started
[10:30:05.289] Node: Array Splitter - Processing 12 items
[10:30:05.312] Node: Page Scraper - Started (item 1/12)
[10:30:08.445] Node: Page Scraper - Complete (item 1/12)
...Log Levels
INFO: General execution steps
DEBUG: Detailed data and state
WARN: Non-critical issues
ERROR: Failures and exceptionsFiltering Logs
- Filter by node
- Filter by log level
- Search for keywords
- Export logs for analysis
Async Execution Tracking
Polling for Status
def check_execution_status(execution_id):
response = requests.get(
f"https://api.evaligo.com/flows/executions/{execution_id}",
headers={"Authorization": f"Bearer {api_key}"}
)
return response.json()
status = check_execution_status("exec_abc123")
print(f"Status: {status['status']}")
print(f"Progress: {status['progress']}%")
print(f"Current: {status['currentNode']}")Status Response
{
"executionId": "exec_abc123",
"flowId": "flow_xyz789",
"status": "running",
"progress": 67,
"startedAt": "2024-01-15T10:30:00Z",
"elapsedTime": "2m 15s",
"estimatedRemaining": "1m 20s",
"currentNode": {
"id": "node_5",
"type": "Prompt",
"name": "Page Analyzer",
"status": "running"
},
"items": {
"total": 100,
"processed": 67,
"successful": 64,
"failed": 3
},
"usage": {
"apiCalls": 142,
"tokens": 45234,
"cost": 0.92
}
}Info
Poll every 5-10 seconds for status updates. More frequent polling is unnecessary and may hit rate limits.
Webhook Notifications
Progress Updates
Receive progress updates at key milestones:
// Webhook POST to your endpoint
{
"event": "execution.progress",
"executionId": "exec_abc123",
"progress": 50,
"milestone": "halfway",
"timestamp": "2024-01-15T10:31:00Z"
}
// Configure milestones:
- started (0%)
- quarter (25%)
- halfway (50%)
- three_quarters (75%)
- completed (100%)Node Completion
{
"event": "node.completed",
"executionId": "exec_abc123",
"node": {
"id": "node_5",
"type": "Prompt",
"name": "Page Analyzer"
},
"duration": "1.2s",
"status": "success",
"timestamp": "2024-01-15T10:30:10Z"
}Historical Tracking
Execution History
View past executions:
- List all executions with filters
- Filter by status, date, user
- Compare execution times
- Identify trends and patterns
Execution Details
Drill into past executions:
Execution: exec_abc123
Status: Completed
Duration: 3m 35s
Items: 100 (97 success, 3 failed)
Cost: $1.45
Started: 2024-01-15 10:30:00
Completed: 2024-01-15 10:33:35
View:
- Full logs
- Node-by-node breakdown
- Failed items
- Resource usage
- Input/output dataPerformance Monitoring
Node Performance
Node Breakdown:
API Input: 0.1s (0.5%)
Website Mapper: 5.2s (24.2%)
Array Splitter: 0.2s (0.9%)
Page Scraper: 12.8s (59.7%) ← Bottleneck
HTML Extractor: 0.8s (3.7%)
Prompt: 2.0s (9.3%)
Array Flatten: 0.1s (0.5%)
Dataset Sink: 0.3s (1.4%)Identifying Bottlenecks
- Find slowest nodes
- Analyze why they're slow
- Optimize or parallelize
- Compare before/after performance
Optimization Insights
Recommendations:
⚡ Enable parallel processing on Page Scraper
→ Estimated time: 3.2s (75% faster)
💾 Enable caching on Website Mapper
→ Reduce repeated API calls
🔄 Increase concurrency from 10 to 20
→ Process more items simultaneouslyError Tracking
Error Summary
Errors: 3/100 items (3%)
Types:
Timeout: 2 items
Not Found: 1 item
Failed Items:
- Item 23: https://example.com/invalid
- Item 45: https://slow-site.com/page
- Item 78: https://example.com/missingError Details
Click on errors for full details:
{
"itemIndex": 23,
"node": "Page Scraper",
"error": "Request timeout after 30s",
"input": {
"url": "https://slow-site.com/page"
},
"attempts": 3,
"firstAttempt": "2024-01-15T10:30:15Z",
"lastAttempt": "2024-01-15T10:31:45Z",
"retryable": true
}Warning
Review failed items after execution. They may indicate data quality issues or configuration problems.
Alerts and Notifications
Configure Alerts
Alert Conditions:
- Execution time > 5 minutes
- Error rate > 5%
- Cost > $10
- Flow fails
- Specific node fails
Notification Channels:
- Email
- Slack
- Webhook
- In-appAlert Example
🚨 Flow Alert: High Error Rate
Flow: Website Analyzer
Execution: exec_abc123
Error Rate: 12% (12/100 items)
Threshold: 5%
View Details: https://app.evaligo.com/executions/exec_abc123
Common Errors:
- Timeout (8 items)
- Not Found (4 items)Best Practices
During Development
- Watch execution in real-time
- Monitor logs for unexpected behavior
- Click nodes to inspect outputs
- Verify data flows correctly
In Production
- Set up alerts for critical failures
- Monitor execution times
- Track error rates
- Review logs periodically
- Archive old executions
For Long-Running Flows
- Use async execution
- Enable webhooks for updates
- Check progress periodically
- Set appropriate timeouts
- Enable checkpointing