Troubleshooting Guide¶
This guide helps you diagnose and resolve common issues you might encounter while using Rivusio.
Common Issues¶
1. Pipeline Performance Issues¶
Symptoms¶
- Slow processing speed
- High memory usage
- Increasing latency
Solutions¶
-
Check Batch Size
-
Monitor Memory Usage
-
Use Windowing for Large Datasets
2. Memory Leaks¶
Symptoms¶
- Increasing memory usage over time
- Out of memory errors
Solutions¶
-
Proper Resource Cleanup
-
Manual Cleanup
3. Data Loss or Corruption¶
Symptoms¶
- Missing data in output
- Unexpected data transformations
Solutions¶
-
Enable Detailed Logging
-
Add Validation Pipes
4. Pipeline Configuration Issues¶
Symptoms¶
- Pipeline fails to start
- Configuration not applied
Solutions¶
-
Verify Configuration
-
Check Plugin Registration
Debugging Techniques¶
1. Enable Debug Logging¶
import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
2. Use Pipeline Monitoring¶
from rivusio.monitoring import PipelineMonitor
monitor = PipelineMonitor()
pipeline.set_monitor(monitor)
# Check metrics after processing
print(monitor.get_metrics())
3. Add Debug Pipes¶
class DebugPipe(AsyncBasePipe[Any, Any]):
async def process(self, data: Any) -> Any:
print(f"Debug: Processing data: {data}")
return data
pipeline.add_pipe(DebugPipe())
Performance Optimization¶
1. Batch Size Tuning¶
- Start with small batches (100-1000)
- Gradually increase while monitoring performance
- Monitor memory usage
2. Window Size Optimization¶
- Consider data arrival rate
- Balance between latency and throughput
- Monitor processing time
3. Resource Management¶
- Use async context managers
- Implement proper cleanup
- Monitor system resources
Getting Help¶
If you're still experiencing issues:
- Check the GitHub Issues
- Review the API Documentation
- Join our Community Discussion
Contributing Bug Reports¶
When reporting bugs:
- Provide minimal reproducible example
- Include full error traceback
- Share system information:
- Python version
- Rivusio version
- OS details
- Describe expected vs actual behavior