go-grpc-channelz: a Go based UI for gRPC's channelz's implementation

By Ran Tavory

Elevator Pitch

gRPC is modern, highly capable RPC system. But not without it’s complexities. go-grpc-channelz provides a prisms into the current state of gRPC connections down to the socket level and observe gRPC clients and servers


go-grpc-channelz is my open source project in Go to provide better observability into gRPC’s current state of connections (channels).

gRPC is a robust and highly scalable RPC system. It abstracts actual socket connections through the channel abstraction. Channels represent load-balanced, possibly auto-discovered remote servers. Gaining visibility into the current state of gRPC channels is priceless. Think netstat for your gRPC server, but one which understands the full blown semantics of gRPC. Channelz is a gRPC spec that exposes the state of the above mentioned channels. go-grpc-channelz, written in go, is a pluggable UI layer which uses the channelz gRPC API to query and display the current state of gRPC connections. With three lines of code your gRPC service written in Go can gain useful observability.

In this session you’ll learn about some of the interesting design concepts of gRPC and how go-grpc-channelz can be used to expose some of its intrinsics.