8.3 Rate Limit Monitoring
You've set up rate limits on your columns. Now let's learn how to monitor them in real-time—to see what's waiting, what's throttled, and when tasks will resume. This section shows you exactly where to look and what each indicator means.
Monitoring Overview
Rate limit monitoring happens in three places:
- Cell level: Individual cells show if they're rate limited
- Column level: Column headers show overall activity
- Organization level: Usage history shows consumption over time
Real-time updates: All indicators update automatically as cells execute—no need to refresh!
Cell-Level Monitoring
The Rate Limited Cell State
When a cell hits a rate limit, it shows a distinct visual appearance:
Example: Rate Limited Cell
Icon: Pause icon (⏸️)
Text: "Rate Limited"
What you see:
- Yellow/amber background: Warning color that stands out
- Pause icon (⏸️): Indicates execution is paused
- "Rate Limited" text: Clear status label
- Or data with indicator: If the cell has completed data from a previous run
Where to find them: Scroll through your table and look for yellow cells in columns with rate limits configured.
Cell State Transitions
Here's how a cell moves through states when rate limiting is active:
Cell State Lifecycle with Rate Limiting
The flow:
- Idle (gray): Cell hasn't started yet
- Queued (blue, clock icon): Cell is waiting to run
- Rate limit check: System checks if capacity is available
- Two paths:
- Capacity available → Cell starts Running (blue, spinning)
- Limit reached → Cell becomes Rate Limited (yellow, pause icon)
- Rate limited cells wait for the time window to reset
- Auto-retry: Cell automatically moves back to Queued when allowed
- Finally Done (green, checkmark)
Inspecting Rate Limited Cells
Want to know why a cell is rate limited? Here's how to check:
How to Inspect a Rate Limited Cell
- Current state: "Rate Limited"
- Reason: Waiting for rate limit window
- Last update timestamp
- Additional context (varies by implementation)
Steps:
- Hover your mouse over the yellow rate limited cell
- Tooltip appears showing:
- Current state: "Rate Limited"
- Last update time
- Additional context (implementation-dependent)
Column-Level Monitoring
Column headers provide a quick overview of all activity in that column. This is your dashboard for monitoring execution status at a glance.
Running Indicator
When cells are currently processing:
Column Running Indicator
What you see:
- Spinning loader icon (⟳) in green
- Appears next to the column name in the header
- Means: One or more cells are actively running right now
Queued Count Indicator
When cells are waiting to execute:
Column Queued Indicator
What you see:
- Clock icon (🕐) in amber/orange color
- Number badge showing how many cells are waiting
- Appears next to the column name
Combined Indicators
Most common pattern: Both running AND queued at the same time
Combined Running + Queued Indicators
What you see:
- ⟳ Spinning icon (green) = 1 cell currently running
- 🕐 Clock + number (amber) = 23 cells waiting in queue
Processing pattern:
Current state: 1 running, 23 queued
↓
Current cell finishes
↓
Next queued cell starts (if rate limit allows)
↓
New state: 1 running, 22 queuedNo Indicator = All Done
When the column header shows NO icon:
Column Header - No Activity (All Done)
- All cells are done (or idle/scheduled/skipped)
- No cells currently running
- No cells waiting in queue
- Column is at rest ✓
This means:
- ✅ All cells are done (or idle/scheduled/skipped)
- ✅ No cells currently running
- ✅ No cells waiting in queue
- ✅ Column is at rest
Perfect state for completed automation!
Column Status Tooltip
Hover over the running/queued icon for detailed information:
Column Status Tooltip
The tooltip shows:
- Running section: Which row is currently executing
- Queued section: Total count + next row number
- Action hint: "Click to navigate to active cell"
Click the icon to jump directly to the running or next queued cell in your table!
Understanding Queued vs. Rate Limited
The column header shows a combined "queued" count, but cells have distinct visual states:
Queued State (Blue)
Visual appearance:
- Blue background
- Clock icon (🕐)
- Pulse animation
Meaning:
- Waiting for available worker thread
- OR waiting for dependencies to complete
- Ready to execute immediately when slot opens
Duration: Usually seconds (until worker becomes available)
Rate Limited State (Yellow)
Visual appearance:
- Yellow/amber background
- Pause icon (⏸️)
- No animation (static)
Meaning:
- Throttled by rate limiter
- Rate limit quota exhausted for current time window
- Will automatically retry when window resets
Duration: Varies by configuration
- Seconds to minutes (typical)
- Hours or days (restrictive limits)
Why They Look Different
Queued (blue): "I'm ready to run, just waiting for resources"
Rate Limited (yellow): "I'm ready to run, but blocked by rate policy"
Both show in the column header queued count because both are "waiting to execute" from the user's perspective. The cell colors help you distinguish the reason.
Interpreting Column Activity Patterns
Let's look at common patterns and what they mean:
Pattern 1: Steady Progress ✅
What you see:
- Column header: ⟳ 🕐 5
- Cells: Rows 1-10 done (green), Row 11 running (blue), Rows 12-16 queued (blue)
Interpretation:
- ✅ Processing smoothly
- ✅ Rate limit not hit yet
- ✅ Normal queue depth
- ✅ Automation healthy
Action needed: None! Everything is working as expected.
Pattern 2: Rate Limited Bottleneck ⚠️
What you see:
- Column header: 🕐 95
- Cells: Rows 1-5 done (green), Rows 6-100 rate limited (yellow)
Interpretation:
- ⚠️ Rate limit hit after processing first 5 cells
- ⚠️ Large backlog of 95 cells waiting
- ⚠️ Will take time to clear through the queue
Action you can take:
- Review your rate limit configuration
- Consider increasing the limit (if safe for your API)
- Or wait—cells will eventually process automatically
Pattern 3: Rapid Processing ✅
What you see:
- Column header: ⟳ (spinning, no queued count)
- Cells: Rows 1-50 done (green), Row 51 running (blue), Rows 52-60 idle (gray)
Interpretation:
- ✅ Processing faster than new rows are added
- ✅ No backlog
- ✅ Rate limit not constraining throughput
- ✅ Optimal performance
Action needed: None! This is peak efficiency.
Pattern 4: Overly Restrictive Rate Limit 🚨
What you see:
- Column header: 🕐 1000
- Cells: All rows yellow (rate limited)
Interpretation:
- 🚨 Rate limit too restrictive for workload
- 🚨 OR initial burst overwhelmed the limit
- 🚨 Nothing is processing right now
Action to take:
- Open column configuration
- Check rate limit settings
- Verify limit matches your API provider's documentation
- Increase the limit if appropriate
- Monitor for progress
Organization-Level Monitoring
Beyond individual cells and columns, you can track overall usage and costs.
Usage History Page
How to access:
- Click your user menu (top-right corner, your name or avatar)
- Select "Settings" or "Account Settings"
- Click the "Usage History" tab
The table shows:
- Date: When consumption occurred
- Description: Type of usage (LLM, API enrichment, etc.)
- Amount: Tokens or API calls consumed
Use this for: Tracking usage trends and understanding costs over time
Current Balance
The billing or usage page also shows your account balance:
Information displayed:
- Current token balance: How many tokens you have left
- Credits remaining: Your available credit
- Usage rate: Average tokens consumed per day
- Estimated days remaining: How long your balance will last
Use this for: Budget monitoring and planning when to add credits
Real-Time Monitoring Tips
Tip 1: Refresh the Grid (Usually Not Needed)
Automatic updates: Cell states update in real-time via WebSocket connection
If states seem stuck:
- Refresh your browser (F5 or Cmd+R)
- Or scroll up and down to trigger re-render
Note: You usually won't need to do this—updates are automatic!
Tip 2: Watch Column Headers Like a Dashboard
Quick status check at a glance:
What to look for:
- No icon: All done ✓
- Spinning icon: Active processing
- Clock + small number (< 10): Normal queue
- Clock + big number (> 50): Check rate limits
Dashboard view: Scan all column headers across your table to see which columns are active and which are complete.
Tip 3: Monitor During Testing
When setting up a new rate limit:
Best practice:
- Keep your table view open
- Watch cells transition through states:
- T=0s: Queued (blue)
- T=1s: Running (blue, spinning)
- T=2s: Done (green)
- T=2s: Next cell Queued
- T=3s: Next cell Running
- ...and so on
- Observe the timing—does it match your rate limit?
- Check for yellow rate limited cells
- Adjust configuration if needed
Tip 4: Check Timestamps
To verify rate limit timing:
Steps:
- Click on completed cells (green checkmark)
- Look for execution timestamp in the detail panel or tooltip
- Calculate gaps between consecutive executions
- Compare to your rate limit configuration
Example verification:
Rate limit configured: 10 per second
Row 1 executed: 14:30:00
Row 11 executed: 14:30:01 (1 second later) ✓
Row 21 executed: 14:30:02 (2 seconds later) ✓
Result: Matches expected rate of 10 per second ✓Common Monitoring Scenarios
Scenario 1: "How many cells are waiting?"
Quick answer:
Steps:
- Look at the column header
- Find the clock icon with a number (🕐 45)
- That number is your queued count
Answer: "45 cells are waiting to execute"
Scenario 2: "Why are cells stuck in yellow?"
Diagnosis:
Steps:
- Yellow cells = Rate Limited state
- Open column settings:
- Click three-dot menu on column header
- Select "Configure" or "Settings"
- Find rate limit configuration:
- Note the limit (e.g., "10 per minute")
- Interpretation: Rate limit reached, cells waiting for time window to reset
Answer: "Rate limit hit—cells will automatically process as the limit permits"
Scenario 3: "How long until rate limit resets?"
Estimation method:
How to estimate:
- Check rate limit config: e.g., "10 per minute"
- Count rate limited cells: e.g., 50 yellow cells
- Do the math: 50 ÷ 10 per minute = 5 minutes
- Estimate: Approximately 5 minutes until all process
Current implementation: Rate limits automatically reset based on the time window. Cells automatically retry when slots become available. No manual intervention needed!
Scenario 4: "Is my rate limit working?"
Verification test:
Steps:
- Add test rows: Create 20 new rows
- Configure restrictive limit: Set to "5 per minute"
- Watch the cells:
- First 5 cells: Process immediately → Done (green)
- Next 15 cells: Turn yellow (rate limited)
- Wait 1 minute
- Watch again:
- Next 5 cells: Process → Done (green)
- Remaining 10 cells: Still yellow
- Repeat observation
If this happens: Rate limit is working correctly ✓
If all 20 process immediately: Rate limit is not configured, disabled, or set too high
Scenario 5: "How do I know when processing is done?"
Visual confirmation:
Check for all of these:
- Column header: No icons (no spinning or clock)
- All cells: Green (done) or gray (idle/skipped)
- No yellow cells: None rate limited
- No blue cells: None queued or running
When all indicators are clear: Processing is complete! ✓
Monitoring Best Practices
Best Practice 1: Regular Usage Reviews
Weekly check:
What to do:
- Open the Usage History page
- Review consumption trends over the past week
- Compare to your budget
- Adjust rate limits if costs are too high or too low
Monthly check:
- Review all column rate limits across your tables
- Optimize for cost vs. speed balance
- Update based on workload growth
- Remove rate limits on columns that no longer need them
Best Practice 2: Monitor New Automations Closely
First 24 hours:
What to watch:
- Check your table view frequently
- Watch for yellow rate limited cells
- Verify rate limits are working as expected
- Make adjustments if needed
After 24 hours:
- Review cell completion rate
- Check for any errors
- If successful, scale up your workload
- Document your rate limit settings
Best Practice 3: Use Column Headers as Dashboard
Quick health check technique:
At a glance:
- Many clocks + high counts (🕐 100+) = Bottlenecks, check rate limits
- Many spinning icons (⟳) = Active processing, normal operation
- No icons = Automation complete or idle
Takes 5 seconds: Instant overview of your entire automation health!
Best Practice 4: Document Your Rate Limits
Keep a reference document:
Example documentation:
Table: Lead Enrichment
Column: enrich_clearbit
Rate Limit: 90 per minute
Reason: Provider limit 100/min (10% buffer for safety)
Last Updated: Oct 30, 2024
Column: send_welcome_email
Rate Limit: 450 per day
Reason: Gmail SMTP 500/day limit (10% buffer)
Last Updated: Oct 30, 2024Benefits:
- Quick reference when troubleshooting
- Onboarding new team members
- Planning capacity increases
- Understanding cost structure
Troubleshooting Monitoring Issues
Issue 1: Cell States Not Updating
Symptom: Cells appear stuck in one state with no changes
Solutions:
Try these steps:
- Refresh browser: Press F5 or Cmd+R
- Check internet connection: Verify you're online
- Check backend status: In development environments, ensure backend is running
- Clear browser cache: Sometimes cached data causes issues
Issue 2: Column Header Shows Wrong Count
Symptom: Header shows "Queued: 5" but you see 50 yellow cells
Possible causes:
What to check:
- Display lag: Wait a few seconds for sync
- WebSocket disconnected: Refresh browser to reconnect
- Multiple columns: Make sure you're looking at the right column
- Filter active: Check if a row filter is hiding cells
Solution: Refresh the page and verify the count updates correctly
Issue 3: Can't Find Usage History
Where to look:
Navigation paths:
- User menu (top-right, your name/avatar) → "Settings" → "Usage History" tab
- Main navigation → "Account Settings" → "Usage" or "Billing"
- Sidebar → Look for "Usage" or billing-related options
If still not found: Check your user permissions—usage history may require admin access.
Issue 4: Cells Seem Throttled But No Yellow Cells
Possible causes:
What it might be:
Slow API responses (not rate limiting):
- Cells stay Running longer (blue, spinning)
- Not rate limited (yellow)
- Check API provider status
External rate limit (provider rejecting requests):
- Cells may show Failed (blue with lightning icon)
- Check error messages in cell details
- Increase your rate limit interval
Other bottleneck (dependencies, worker threads):
- Check dependency chain
- Look for upstream issues in parent columns
- Check worker thread configuration
How to diagnose: Look carefully at cell colors:
- Yellow (pause icon) = Rate limited by your configuration ✓
- Blue spinning = Running (possibly slow API)
- Blue lightning = Failed (error occurred)
Summary
You now know how to monitor rate limits effectively! Here's what we covered:
✅ Cell-level monitoring:
- Rate limited cells: Yellow background with pause icon (⏸️)
- Cells automatically retry when rate limit allows
- Hover for tooltips with additional details
✅ Column-level monitoring:
- Column headers show running (⟳) and queued (🕐) indicators
- Queued count includes both regular queue and rate limited cells
- Click icon to jump to active cells
- Hover for detailed status tooltip
✅ Interpreting patterns:
- Steady progress: Small queue, smooth processing
- Rate limited: Many yellow cells, high queued count
- All done: No column header icons
✅ Organization monitoring:
- Usage History page: Token/API consumption over time
- Current balance: Track budget and estimate remaining days
✅ Monitoring tips:
- Watch column headers for quick status
- Real-time updates via WebSocket (automatic)
- Use timestamps to verify rate limit timing
✅ Best practices:
- Regular usage reviews (weekly/monthly)
- Monitor new automations closely in first 24 hours
- Use column headers as your automation dashboard
- Document rate limit configurations for reference
✅ Troubleshooting:
- Refresh browser if states seem stuck
- Verify internet connection
- Distinguish rate limited (yellow) from slow execution (blue spinning)
- Check error messages for API issues
Next Steps
Now that you understand rate limit monitoring, you're ready to optimize your automation workflows for both performance and cost-effectiveness!
Let's continue learning! 🚀