Skip to content

channelz: Exposing channelz data for clients that are not servers #8901

Description

@Jille

Use case(s) - what problem will this feature solve?

I want to expose channelz information on the debug port of each of my processes.
For servers this is feasible, I register the channelz service on my *grpc.Server and point the UI to use that.
For processes that don't host a gRPC server, I can't access the information.

Proposed Solution

Expose the internal APIs used by https://github.com/grpc/grpc-go/blob/v1.78.0/channelz/service/service.go#L42

Alternatives Considered

  1. I could run a server on a random port from all my processes, but that has security implications.
  2. I could implement something that implements grpc.ServiceRegistrar so I can extract google.golang.org/grpc/channelz/service.serverImpl{} and do calls on that.

Additional Context

I'm using github.com/rantav/go-grpc-channelz to render a UI

Activity

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

Metadata

Metadata

Assignees

Labels

P2Type: FeatureNew features or improvements in behavior

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions