Monitor and Debug Turbo Pipelines
Monitor pipeline health, view logs, inspect live data, and troubleshoot issues.
Triggers
Invoke this skill when the user:
- Says "check my pipeline", "view logs", or "debug the pipeline"
- Wants to see live data flowing through a pipeline
- Is troubleshooting pipeline errors or issues
- Asks "why isn't my pipeline working?"
- Wants to monitor pipeline health
- Mentions
/turbo-monitor-debug
Agent Instructions
When this skill is invoked, follow this interactive workflow:
Step 1: Verify Authentication
Run goldsky project list 2>&1 to check login status.
If output shows projects: User is logged in. Continue to Step 2.
If output contains "Make sure to run 'goldsky login'":
- Inform the user they need to authenticate
- Invoke the
goldsky-auth-setupskill - After successful login, return to this skill to continue
Step 2: Identify the Pipeline
Use AskUserQuestion to ask:
- Question: "Which pipeline do you want to monitor?"
- Options:
- "I know the pipeline name" (description: "I'll provide the name or YAML file")
- "Show me my pipelines" (description: "List all pipelines in my project")
If "I know the pipeline name":
Ask for the pipeline name or YAML file path.
If "Show me my pipelines":
Run goldsky turbo list to show existing pipelines.
Ask which pipeline they want to monitor.
Step 3: Determine the Goal
Use AskUserQuestion to ask:
- Question: "What do you want to do?"
- Options:
- "View live data" (description: "See data flowing through the pipeline in real-time")
- "Check logs" (description: "View pipeline execution logs")
- "Debug an issue" (description: "Something isn't working right")
- "Check overall health" (description: "Quick status check")
Based on their selection, follow the appropriate workflow below.
Workflow: View Live Data
Step 1: Open Live Inspect
goldsky turbo inspect <pipeline-name>
Or with a YAML file:
goldsky turbo inspect <pipeline.yaml>
This opens an interactive TUI (Terminal User Interface) showing live data.
Step 2: Navigate the TUI
Explain the keyboard shortcuts:
Navigation:
| Key | Action |
|---|---|
Tab / → |
Next tab |
Shift+Tab / ← |
Previous tab |
1-9 |
Jump to tab by number |
j/k / ↑/↓ |
Scroll up/down |
g / Home |
Jump to top |
G / End |
Jump to bottom |
Page Up / Page Down |
Scroll by page |
| Mouse wheel | Scroll up/down |
Search:
| Key | Action |
|---|---|
/ |
Start search |
Enter |
Execute search |
n |
Next match |
N |
Previous match |
Esc |
Clear search |
Actions:
| Key | Action |
|---|---|
d |
Toggle pipeline definition view |
w |
Open in web dashboard |
e |
Open in web editor |
q / Ctrl+C |
Quit |
Tip: Hold
Shiftwhile using the mouse to select and copy text from the TUI.
Step 3: Filter to Specific Nodes
To focus on a specific source or transform:
goldsky turbo inspect <pipeline-name> -n <node-name>
View multiple nodes:
goldsky turbo inspect <pipeline-name> -n source1,transform1
Step 4: Adjust Buffer Size
For more history, increase the buffer:
goldsky turbo inspect <pipeline-name> -b 50000
Default is 10,000 records.
Workflow: Check Logs
Step 1: View Recent Logs
goldsky turbo logs <pipeline-name>
Default shows last 10 lines.
Step 2: Adjust Log Output
Show more lines:
goldsky turbo logs <pipeline-name> --tail 50
Show logs from last hour:
goldsky turbo logs <pipeline-name> --since 3600
Include timestamps:
goldsky turbo logs <pipeline-name> --timestamps
Follow logs in real-time:
goldsky turbo logs <pipeline-name> --follow
Step 3: Analyze Log Output
Look for these patterns:
Healthy indicators:
- Processing messages with block numbers
- Checkpoint updates
- No error messages
Warning indicators:
- Slow processing messages
- Retry attempts
- Connection warnings
Error indicators:
Error:orERRORmessages- Stack traces
- Connection failures
Workflow: Debug an Issue
Step 1: Identify the Problem
Use AskUserQuestion to ask:
- Question: "What issue are you experiencing?"
- Options:
- "No data flowing" (description: "Pipeline seems stuck or empty")
- "Errors in logs" (description: "Seeing error messages")
- "Wrong data output" (description: "Data doesn't look right")
- "Sink not receiving data" (description: "Database/Kafka not getting updates")
- "Pipeline keeps restarting" (description: "Unstable behavior")
Based on their selection, follow the appropriate debugging steps.
Debugging: No Data Flowing
Check pipeline status:
goldsky turbo listVerify the pipeline shows as running.
Check the source configuration:
- If
start_at: latest, pipeline only processes new data - If chain is slow, there may be no new data yet
- Try
start_at: earliestfor testing (will process historical data)
- If
Check logs for errors:
goldsky turbo logs <pipeline-name> --tail 50Verify source dataset exists:
goldsky datasets list | grep <dataset-name>
Debugging: Errors in Logs
Get detailed logs:
goldsky turbo logs <pipeline-name> --tail 100 --timestampsCommon error patterns:
Error Pattern Likely Cause Fix connection refusedDatabase unreachable Check network/firewall settings authentication failedWrong credentials Update secret with correct credentials secret not foundMissing secret Create secret with goldsky-secretsSQL syntax errorInvalid transform SQL Fix SQL in YAML and redeploy duplicate keyPrimary key collision Ensure unique primary key in transform If SQL error, validate the pipeline:
goldsky turbo validate <pipeline.yaml>
Debugging: Wrong Data Output
Inspect each stage of the pipeline:
# Check source data goldsky turbo inspect <pipeline-name> -n <source-name> # Check transform output goldsky turbo inspect <pipeline-name> -n <transform-name>Compare source vs transform:
goldsky turbo inspect <pipeline-name> -n source1,transform1Common issues:
- SQL
WHEREclause too restrictive (filtering out all data) - Wrong column names in SQL
- Type mismatches in transforms
- SQL
Debugging: Sink Not Receiving Data
Verify the sink configuration:
- Check
fromfield points to correct source/transform - Check
secret_namematches an existing secret
- Check
Check secret exists:
goldsky secret listVerify secret credentials:
goldsky secret reveal <secret-name>Test the credentials work outside Goldsky (e.g.,
psqlfor PostgreSQL).Check logs for sink errors:
goldsky turbo logs <pipeline-name> --tail 50 | grep -i error
Debugging: Pipeline Keeps Restarting
Check logs around restart time:
goldsky turbo logs <pipeline-name> --tail 100 --timestampsCommon causes:
- Out of memory (try larger
resource_size) - Infinite loop in TypeScript transform
- Database connection pool exhaustion
- Out of memory (try larger
Try increasing resources:
Update
resource_size: morresource_size: lin YAML and redeploy.
Workflow: Check Overall Health
Step 1: List All Pipelines
goldsky turbo list
Check status column for each pipeline.
Step 2: Quick Log Check
goldsky turbo logs <pipeline-name> --tail 20
Look for recent errors or warnings.
Step 3: Verify Data Flow
goldsky turbo inspect <pipeline-name>
Confirm data is flowing through each node.
Step 4: Provide Health Summary
After checking, provide a summary:
## Pipeline Health Check
**Pipeline:** [name]
**Status:** [running/stopped/error]
**Observations:**
- ✓ Pipeline is running
- ✓ Data flowing through sources
- ✓ Transforms processing correctly
- ✓ Sinks receiving data
**OR**
- ⚠ [Issue found - description]
- Action: [Recommended fix]
Prerequisites
- Goldsky CLI installed
- Turbo CLI extension installed
- Logged in (
goldsky login) - At least one deployed pipeline
Quick Reference
| Action | Command |
|---|---|
| List pipelines | goldsky turbo list |
| View live data | goldsky turbo inspect <name> |
| Inspect specific node | goldsky turbo inspect <name> -n <node> |
| View logs | goldsky turbo logs <name> |
| Follow logs | goldsky turbo logs <name> --follow |
| Logs with timestamps | goldsky turbo logs <name> --timestamps |
| Last N lines | goldsky turbo logs <name> --tail N |
| Logs since N seconds ago | goldsky turbo logs <name> --since N |
Live Inspect TUI Shortcuts
| Key | Action |
|---|---|
Tab/→, Shift+Tab/← |
Next/prev tab |
1-9 |
Jump to tab number |
j/k / ↑/↓ |
Scroll |
g/Home, G/End |
Top/bottom |
Page Up/Page Down |
Scroll by page |
/ → Enter |
Search |
n / N |
Next/prev match |
Esc |
Clear search |
d |
Toggle definition |
w |
Open web dashboard |
e |
Open web editor |
q / Ctrl+C |
Quit |
Shift + mouse |
Select and copy text |
Auto-Reconnection
The TUI automatically reconnects when the pipeline is updated, paused, resumed, or temporarily unavailable. It displays "Reconnecting..." and preserves previously received data. The TUI has a 30-minute timeout — if the pipeline remains unreachable for 30 minutes, it closes automatically.
Error Pattern Reference
Detailed error patterns and solutions are in the
data/folder.
| File | Contents |
|---|---|
error-patterns.json |
All known error patterns with causes and solutions |
Data location: data/ (relative to this skill's directory)
Log Analysis Script
Use the helper script to quickly analyze pipeline logs:
./scripts/analyze-logs.sh <pipeline-name>
./scripts/analyze-logs.sh <pipeline-name> --tail 100
The script checks for common error patterns and reports findings with recommendations.
Common Issues Quick Reference
| Symptom | Likely Cause | Quick Fix |
|---|---|---|
| No data flowing | start_at: latest |
Wait for new data or use earliest |
| Auth failed | Wrong credentials | Update secret with correct password |
| Connection refused | Network/firewall | Check host, whitelist Goldsky IPs |
| Storage exceeded | Neon free tier (512MB) | Upgrade plan or clear data |
| SQL error | Bad transform syntax | Validate YAML first |
Troubleshooting
| Issue | Action |
|---|---|
| Can't connect to inspect | Check pipeline is running with goldsky turbo list |
| Logs are empty | Pipeline may be new; wait for data or check start_at |
| TUI disconnects | Auto-reconnects within 30 min; check pipeline status |
| Can't find pipeline | Verify correct project with goldsky project list |
Related Skills
/goldsky-auth-setup- Invoke this if user is not logged in/goldsky-secrets- Invoke this if credentials need to be updated/turbo-pipelines- Deploy new pipelines or modify configuration/turbo-lifecycle- List or delete pipelines