grpcdebug
grpcdebug copied to clipboard
grpcdebug is a command line interface focusing on simplifying the debugging process of gRPC applications.
- upgrade dependencies - preload more proto descriptors ``` grpcdebug localhost:9090 xds config --type=RDS proto: google.protobuf.Any: unable to resolve "type.googleapis.com/envoy.extensions.retry.host.previous_hosts.v3.PreviousHostsPredicate": not found ```
I only really need the binary for linux/arm64, but figured some people may want the windows one and there's no harm at publishing it.
The `Socket` field `remote` [is explicitly allowed to be absent](https://github.com/grpc/grpc/blob/master/src/proto/grpc/channelz/channelz.proto#L236), but the code to handle it [unconditionally passes it to `prettyAddress`](https://github.com/grpc-ecosystem/grpcdebug/blob/main/cmd/channelz.go#L74), which [panics if the value is `nil`](https://github.com/grpc-ecosystem/grpcdebug/blob/main/cmd/channelz.go#L40). It would...
``` $ grpcdebug unix:///home/howardjohn/kube/local/proxy/XDS channelz servers panic: Address type not supported for uds_address: goroutine 1 [running]: github.com/grpc-ecosystem/grpcdebug/cmd.prettyAddress(0xc000113440, 0xc0006813e0, 0xc000595cf8) /home/howardjohn/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/cmd/channelz.go:40 +0x145 github.com/grpc-ecosystem/grpcdebug/cmd.channelzServersCommandRunWithError(0x16ceba0, 0x170ca70, 0x0, 0x0, 0x0, 0x0) /home/howardjohn/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/cmd/channelz.go:320 +0x170 github.com/spf13/cobra.(*Command).execute(0x16ceba0,...