如何检查连接到GRPC服务器的客户端 [英] How to inspect clients that are connected to a GRPC server

查看:19
本文介绍了如何检查连接到GRPC服务器的客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为了为我的GRPC服务器/客户端设置提供更好的调试信息,我正在尝试为grpc.server查找允许我检查哪些客户端连接到服务器的API。

我发现的最有希望的问题是question, which gives a starting point on how to do this in Java GRPC。但是,在Python GRPC实现中不存在Java API。

到目前为止,我使用grpc.ServicerContext中的context.peer()方法跟踪唯一的对等点。如果对等点有一段时间没有发送请求(我将超时设置为2秒),我就认为客户端已断开连接。

我已经开始研究python-GRPC源代码,但没有取得任何进展。

如果有任何人知道我可以用到的类似的python API,我将不胜感激!即使是内部API也足以满足这些调试需求。

推荐答案

我找到了更多有关Channel的文档和示例,其他人一直在建议您使用它,它似乎就是您想要的。

这里有一个pull request that gives an example of channelz being used。它只使用GetServer Channel API,因此您必须对其进行调整。

这里有一个unit test that uses channelz, 测试可能与GetTopChannels API相关的API。

这篇关于如何检查连接到GRPC服务器的客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆