skywalking agent不支持java-grpc高版本



我使用最新的skywalking agent(目前是8.13.0),发现trace span没有在grpc 1.43.2或1.51.0中报告,但在java-grpc 1.29.0版本中报告。

:

  1. 应用程序测试源代码是官方java-grpc示例项目:HelloworldServerHelloWorldClient
  2. 调用示例的gRPC SayHello并在wkywalking网页中观察应用程序跟踪结果。

通过一些研究,发现netttyclientstreaminstrumentation使用固定版本的grpc netty 1.33.0

/**
* Intercept constructor to obtain server IP.
* grpc Low version(eg:1.6.0): use io.grpc.netty.NettyClientStream.
* grpc High version(eg:1.33.1): use io.grpc.netty.shaded.io.grpc.netty.NettyClientStream.
*/
public class NettyClientStreamInstrumentation extends ClassInstanceMethodsEnhancePluginDefine {
...

但我不确定它是否对跟踪报告有效。

有一些问题希望大家参考:

  1. 代码限制grpc报告了吗?
  2. 测试了哪个java-grpc版本支持?
  3. 如何确保座席报告或不报告跟踪跨度?

感谢

我没听懂。您正在升级代理代码库中的gRPC依赖关系吗?

grpc-java本身支持基于OpenCensus的跟踪,即grpc内部事件,例如发送或接收grpc消息,以及重试尝试。(https://github.com/grpc/grpc-java/blob/master/census/src/main/java/io/grpc/census/CensusTracingModule.java)不清楚grpc跟踪是否在代理中启用。

代理可以为自己的请求使用自己的跟踪工具。

所以不清楚您有关于grpc-census跟踪或应用程序跟踪的问题。但NettyClientStreamInstrumentation不太可能影响跟踪生成本身。

当没有生成span报告时,也可能是span/trace导出器配置不正确。

相关内容

最新更新