You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
GSoC2026: Exploring WebSocket/gRPC support in DevTools Network panel — event source clarification #9670
I wanted to understand how HTTP entries are currently produced.
From reading the code and docs, what i think is:
The Network tab does not inspect network traffic directly
It relies on timeline events exposed via the VM service
HttpClient emits structured lifecycle events that DevTools converts into NetworkRequest objects
So for non-HTTP protocols,
My idea was to run a few apps using:
WebSocket.connect
raw Socket
a gRPC client
Then inspect the timeline stream and see:
what events actually exist
whether a websocket/grpc session can already be reconstructed
or if there’s simply not enough signal
Based on findings, design a connection-oriented model rather than a request-oriented one.
Before I go down the wrong path:
I wanted to know, do WebSocket and gRPC communications already emit sufficient timeline information intended for tooling to interpret, or is part of this project expected to involve introducing new VM/service instrumentation?
@elliette@srawlins — I’d appreciate guidance on whether I’m investigating the correct layer.
This issue describes how the architecture currently works, and what is required to record WebSocket traffic (gRPC is similar but the plan is to start with WebSocket): #9507
I wanted to know, do WebSocket and gRPC communications already emit sufficient timeline information intended for tooling to interpret, or is part of this project expected to involve introducing new VM/service instrumentation?
WebSocket and gRPC don't sufficient timeline info yet - the project will involve extending dart:io's HttpClient to record WebSocket traffic and introducing VM service instrumentation to expose it.
Hopefully this helps! This is a good reminder for me to add more details and sample project ideas to the Project Ideas list. I'll circle back here to let you know when I've done that.
Activity
elliette commentedon Feb 19, 2026
Hi @Victowolf, thanks for reaching out!
This issue describes how the architecture currently works, and what is required to record WebSocket traffic (gRPC is similar but the plan is to start with WebSocket): #9507
WebSocket and gRPC don't sufficient timeline info yet - the project will involve extending
dart:io'sHttpClientto record WebSocket traffic and introducing VM service instrumentation to expose it.Hopefully this helps! This is a good reminder for me to add more details and sample project ideas to the Project Ideas list. I'll circle back here to let you know when I've done that.
Victowolf commentedon Feb 19, 2026
Thanks for clarifying.
Meanwhile, I’ll look into how HTTP support was added so I can better understand how we might approach WebSocket support.
elliette commentedon Feb 19, 2026
https://github.com/dart-lang/sdk/blob/main/docs%2Fgsoc%2FDart-GSoC-2026-Project-Ideas.md#idea-add-websocketgrpc-support-to-flutter-devtools-network-panel is now updated with more details, let us know if you have questions!