Skip to content

GSoC2026: Exploring WebSocket/gRPC support in DevTools Network panel — event source clarification #9670

Closed as not planned

Description

@Victowolf

Hi all,

I’m Yash (VictoWolf) ,

I was going through DevTools Network panel architecture while preparing to contribute on the idea:
“Add WebSocket/gRPC support to the Network panel.”

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.

Thanks!

Activity

  1. elliette commented on Feb 19, 2026

    @elliette
    Member

    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

    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.

  2. Victowolf commented on Feb 19, 2026

    @Victowolf
    ContributorAuthor

    Thanks for clarifying.
    Meanwhile, I’ll look into how HTTP support was added so I can better understand how we might approach WebSocket support.

  3. elliette commented on Feb 19, 2026

    @elliette
    Member
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions