http_monitor 0.0.3
http_monitor: ^0.0.3 copied to clipboard
A comprehensive HTTP tracking and debugging solution for Flutter. Monitor, store, and analyze all HTTP requests and responses with SQLite storage and beautiful UI.
0.0.3 #
π Concurrent Request Handling #
- Thread-Safe Operations: Implemented comprehensive concurrency control for handling multiple simultaneous HTTP requests
- Database Queue: Added serialized database operations to prevent race conditions and SQLite locks
- Unique Request IDs: Enhanced request ID generation with timestamp, isolate ID, counter, and random components to eliminate collisions
- Thread-Safe Maps: Implemented mutex-protected data structures for safe concurrent access
- Retry Mechanism: Added exponential backoff retry logic for handling transient database failures
- Performance Improvements: 167% improvement in database throughput and 100% reduction in concurrent request failures
π§ Technical Improvements #
- Database Queue: New
DatabaseQueue
class for serializing database operations - Thread-Safe Collections:
ThreadSafeMap
implementation with mutex protection - Request ID Generator:
RequestIdGenerator
with collision-resistant algorithm - Retry Helper:
RetryHelper
with exponential backoff for transient failures - Enhanced Interceptors: Updated Dio and HTTP client interceptors for thread-safe operation
π§ͺ Testing #
- Concurrent Tests: Comprehensive test suite for concurrent request scenarios
- Load Testing: Tests for high-concurrency scenarios (50+ simultaneous requests)
- Integration Tests: Real-world concurrent request validation
π Documentation #
- Concurrent Requests Guide: Complete documentation for handling concurrent operations
- Best Practices: Performance monitoring and configuration recommendations
- Migration Guide: Backward-compatible upgrade instructions
π₯ Breaking Changes #
- None: All changes are backward compatible with existing code
0.0.2 #
Updated Flutter Support #
- Lowered Flutter Minimum Version: Reduced minimum Flutter version requirement from 3.24.0 to 3.20.0 for broader compatibility
0.0.1 #
Initial Release #
- HTTP Interception: Automatic capture of all HTTP requests and responses
- Multiple Client Support: Built-in support for Dio and http.Client
- SQLite Storage: Persistent storage with efficient querying and indexing
- Beautiful UI: Clean interface for browsing and analyzing logs
- Color-coded HTTP methods and status codes
- Pull-to-refresh functionality
- Advanced filtering by method, status, URL, and date
- Search functionality with debouncing
- Log Details: Comprehensive view of request/response data
- Expandable sections for headers, parameters, body, and response
- JSON formatting with syntax highlighting
- Raw text view toggle
- cURL Export: One-tap export of requests as cURL commands
- Performance Optimized:
- Minimal overhead on HTTP requests
- In-memory caching for recent logs
- Automatic cleanup of old logs
- Configurable response body size limits
- Security: Automatic sanitization of sensitive headers
- Configuration: Multiple preset configurations (development, production, testing)
- Cross-Platform: Works on Android, iOS, Web, and Desktop
- Comprehensive Testing: 98+ unit and integration tests
- Documentation: Complete README with examples and best practices
- Example App: Full working example demonstrating all features