【发布时间】:2019-12-05 07:42:06
【问题描述】:
为了为我的 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 也足以满足这些调试需求。
【问题讨论】:
-
@ZhouyihaiDing 这是我最有希望的领导,但是当我进行研究时,我几乎找不到有关 channelz 的 python API 的信息,grpc.github.io/grpc/python/grpc_channelz.html 上的源代码信息量不是很大。似乎如果我安装 pip 包
grpc-channelz,那么我将能够从“C-Core”中提取 channelz 统计信息,但是没有关于如何在 Python 中以编程方式执行此操作的文档或示例。虽然如果有人确实有这个文档,我很乐意在回答中讨论它!
标签: python-3.x grpc grpc-python