Add WebSocket/GRPC Support to Flutter DevTools Network panel
While working with real-time systems, I observed that Flutter DevTools provides detailed visibility for HTTP requests but lacks support for persistent protocols like WebSockets. Once a connection is established, developers have little to no insight into message flow, latency, or connection lifecycle, making debugging significantly harder. This project aims to address that gap by extending the Dart SDK (dart:io, dart:developer, and the VM Service) to capture WebSocket frame-level and connection-level data. This data will then be integrated into the DevTools Network panel, following the existing HTTP profiling model to ensure consistency and minimal overhead. The implementation will include WebSocket instrumentation in dart:io, exposure of profiling data via the VM Service, and UI integration in DevTools to display messages, sizes, latency, and lifecycle events. If time permits, the same architecture will be extended to support gRPC traffic. By the end of the project, developers will be able to inspect WebSocket communication in DevTools with the same clarity and usability as HTTP, significantly improving debugging for real-time applications.
Project details
Technologies
Not listed in the archive