sogou / srpc

RPC framework based on C++ Workflow. Supports SRPC, Baidu bRPC, Tencent tRPC, thrift protocols.
Apache License 2.0
1.93k stars 382 forks source link

在SRPCHttpServer上启用trace上报opentelemtry功能异常 #363

Closed archliu321 closed 5 months ago

archliu321 commented 6 months ago

在SRPCHttpServer上启用trace功能时出core

Barenboim commented 6 months ago

有更详细的信息吗?

archliu321 commented 6 months ago

现场: 通过srpc构建两个服务,一个SRPCServer、一个SRPCHttpServer,如下图 image

现象: (1)给SRPCServer的实例注入RPCTraceOpenTelemetry时,服务可以正常上报opentelemtry, 能收到http 200的回包。 (2)给SRPCHttpServer的实例注入RPCTraceOpenTelemetry时,服务上报opentelemtry时,直接出core。

holmes1412 commented 6 months ago

你好,感谢反馈!已经定位问题了,是内部有个地方笔误导致的。我今天会修复完并提交代码。

两个协议的server区别是:SRPCServer上的trace功能公司内集群上报过ok,SRPCHttpServer上的trace功能是模仿前者做的模块,沿用了trace的模块,但新增了对HttpMessage的数据处理(为了兼容workflow的http),所以这个笔误就没有触发到。

holmes1412 commented 6 months ago

@archliu321 你好,这个PR已经修改,合并之后可以再试一下:https://github.com/sogou/srpc/pull/364

当前统计的内容除了trace链路的透传以外,其他task层面的信息还比较少。如果有具体信息需要上报,欢迎随时提需求。

archliu321 commented 5 months ago

非常感谢支持,最新的代码已经可以用了,👏👏👏

holmes1412 commented 5 months ago

太好啦!感谢你的反馈!如果还需要什么信息欢迎随时提~

我这周也review一下最近的OpenTelemetry文档看看还有什么值需要补充上报的~