Performance Monitoring
Mare Feature (Enhanced in Sphene)
Performance Monitoring tools help you track Sphene's performance, identify bottlenecks, and ensure smooth operation.
What It Does
Performance Monitoring provides:
- Real-time performance metrics for sync operations
- Connection health monitoring
- Circuit breaker for automatic failover
- Performance counters and timing data
- Debug UI for detailed performance analysis
When to Use It
Use performance monitoring when:
- Troubleshooting: Diagnose sync issues or slow performance
- Optimization: Identify which operations are taking the most time
- Monitoring: Keep track of Sphene's impact on game performance
- Debugging: Investigate specific performance problems
- Testing: Measure performance impact of changes
How It Works
Performance Collector
Tracks execution time for operations:
- Records how long each operation takes
- Maintains rolling lists of recent performance data
- Automatically prunes old data to prevent memory bloat
- Logs performance spikes in debug builds
Connection Health Monitor
Monitors your connection to the Sphene server:
- Tracks consecutive connection failures
- Monitors time since last successful connection
- Provides overall health status
- Sends notifications on connection state changes
Circuit Breaker
Prevents repeated failures:
- Opens circuit after consecutive failures
- Stops attempting failing operations
- Enters half-open state to test recovery
- Automatically resets after timeout
- Can be manually reset if needed
Performance Counters
Detailed metrics for specific operations:
- File transfer speeds
- Data processing times
- UI update frequencies
- Network latency
- Memory usage
Debug UI
The Status Debug UI provides detailed information:
- Real-time performance metrics
- Operation timing breakdown
- Connection health statistics
- Circuit breaker status
- Acknowledgment metrics
Configuration
Configure performance monitoring in settings:
- Logging level: Choose how much performance data to log
- Counter retention: How long to keep performance data
- Debug spikes: Enable/disable spike logging
- Notification thresholds: When to send performance warnings
Tips
- Check the debug UI if you notice Sphene running slowly
- High failure rates may indicate network issues
- Performance spikes during file transfers are normal
- Use the circuit breaker status to understand connection issues