【发布时间】:2020-02-04 17:58:33
【问题描述】:
在 NodeJS 中使用 grpc 或 @grpc/grpc-js 客户端时,有没有办法记录或查看发送到服务器的实际字节流?
我正在使用一个不透明的 GRPC 服务器,它在我流式传输字节时接受我的字节,但没有做它应该做的事情。我想查看发送到服务器的实际字节,因为我们怀疑 GRPC 库如何序列化 64 位整数存在问题。
本机grpc 模块的GRPC_VERBOSITY=debug GRPC_TRACE=tcp,http,api,http2_stream_state env 变量在这种特定情况下没有帮助——它们显示一个字节流的一部分,而不是完整的字节流。
即使是“代码中发生序列化的地方”也会很有用。
【问题讨论】:
-
在本机模块中,
api应该足以查看所有序列化和反序列化消息。您正在寻找哪些您没有从中获得的信息? -
@murgatroid99 感谢您的回复——但我不确定“api”在这种情况下是什么意思。
-
对不起,我打错了。我的意思是
api跟踪器:您在GRPC_TRACE列表中拥有的第三个东西。 -
好的,这很有用@murgatroid99——我们查看了那个输出,它似乎没有打印完整的字节流,只是一个截断的版本。我们认为这是由于日志记录的限制。也许我们看到的问题是以截断方式序列化的事情
-
其实我觉得我错了。看起来并没有输出实际的消息数据。
标签: node.js serialization grpc