gRPC Doctor

Connection issues, reflection failures, auth errors
start with evidence

Doctor is not generic advice. It breaks down common gRPC failure points: target, transport, security config, Metadata, Reflection, Proto fallback, and method discovery.

gRPC Doctor Evidence first
6/6checks passed
host:port target plaintext transport metadata parsed reflection service proto fallback ready
reflection.listServices: OK · 120ms
Diagnosis flow

Narrow failures from connection to method list

1
Validate target firstMake it clear that gRPC expects host:port, not a REST path or query string.
2
Check transport and MetadataShow plaintext/TLS, parsed Metadata count, and whether Auth config participates in the probe.
3
Confirm schema sourceSeparate Reflection success, Proto fallback, and unknown states so users do not only see a failure code.
Evidence

Diagnosis results should be shareable

Chain reports and Doctor results are organized around evidence plus next steps. When a call fails, users should know which stage failed, what schema source was used, whether Metadata was attached, and whether to change target, TLS, Auth, or Proto.

Matrix

Diagnosis capability matrix

CheckDescriptionStatus
Target format host:port validation and HTTP path warnings Ready
Transport config plaintext/TLS, server name override, certificate config Ready
Metadata/Auth Bearer/API Key/Basic/Custom Metadata resolution Ready
Server Reflection List services and methods, record reflection errors Ready
Proto fallback Reuse bound Proto when Reflection fails Ready
History Diff Compare status, duration, body, metadata, and trailers Ready