在 gRPC go 中,我如何知道客户端是否受到服务器的限制。有什么活动我可以听观察吗?就我而言,我使用的是简单的一元。我使用了 tcpdump 并检查了窗口更新事件的频率,但我想可能有更好的方法来做到这一点。
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
Channelz 可能有你想要的:https ://github.com/grpc/proposal/blob/master/A14-channelz.md#socket-data
您需要制作一个服务器:https ://pkg.go.dev/google.golang.org/grpc@v1.44.0/channelz/service#RegisterChannelzServiceToServer ,并使用 grpc 客户端读取数据(例如https:// github.com/grpc-ecosystem/grpcdebug)
如果我没记错的话,当流量控制窗口耗尽时它不会发送信号。但它会出于调试目的打印窗口大小。
请注意,窗口更新事件的频率并不表示客户端是否在流控制上被阻止。窗口更新是定期交换,以跟踪流量控制窗口。
- 1 回答
- 0 关注
- 90 浏览
添加回答
举报
0/150
提交
取消